public inbox for [email protected]
help / color / mirror / Atom feedFrom: Pavel Stehule <[email protected]>
To: Marcos Magueta <[email protected]>
Cc: Jim Jones <[email protected]>
Cc: Andrey Borodin <[email protected]>
Cc: Kirill Reshke <[email protected]>
Cc: PostgreSQL Hackers <[email protected]>
Subject: Re: WIP - xmlvalidate implementation from TODO list
Date: Thu, 2 Apr 2026 20:57:41 +0200
Message-ID: <CAFj8pRDDDhEVvQg82+f-X9DXgi8iwXPXR0s+m4oDR+x9+1peog@mail.gmail.com> (raw)
In-Reply-To: <CAN3aFCciiHajOu5J4Qq3zZY03QFtgQZW5m-SmWyo7HE+6XqocQ@mail.gmail.com>
References: <CAN3aFCdx8AapWSVpJ1kaC7OC_v7QwbjgbGw9WfPBBY2GMyOadQ@mail.gmail.com>
<CAN3aFCecpcPBs4x3KUuxTqvY2VzpCZZKrBphNaQjE5uD8UtEpQ@mail.gmail.com>
<CAN3aFCcb0Nvap1CKShd5RNa+V+pray+ur_LtOON3nkwqdh5NMA@mail.gmail.com>
<[email protected]>
<CAN3aFCdW3_RNgidcV_vWA-NFeYf6p7M5VMG8moSzk3bBJneUxQ@mail.gmail.com>
<[email protected]>
<CAN3aFCfkrkOJ+R39x=9qvXMGLE3yuL9fZdNyRa5V=BAdGGu=-g@mail.gmail.com>
<[email protected]>
<CAN3aFCcvXHmW+FKS7gX=HoUcjku2nr7XKJEZm05DrgsQxy79HQ@mail.gmail.com>
<[email protected]>
<CAFj8pRB3d_fREmgzT1GQwG_wfR1brxyTMVsAV=bbpOzvPkauLg@mail.gmail.com>
<[email protected]>
<CAFj8pRBg6bbO4YiSO633RHMOqQ3jAtVtCq=oN8TPE2FHG9LY2Q@mail.gmail.com>
<[email protected]>
<CAFj8pRBq4580f5n7DTe7x+SWqCS_d=e1Of7snUNaKk8_L1g28Q@mail.gmail.com>
<[email protected]>
<CAFj8pRDEOmkafV3s7XjCK-DzvnhoxgvHWJ7tChUi=-8zJ20Vog@mail.gmail.com>
<CAN3aFCciiHajOu5J4Qq3zZY03QFtgQZW5m-SmWyo7HE+6XqocQ@mail.gmail.com>
Hi
čt 2. 4. 2026 v 20:22 odesílatel Marcos Magueta <[email protected]>
napsal:
> Hey Jim and Pavel, thanks for demonstrating interest.
>
> > XML is a little bit outdated - but the proposed infrastructure can be
> used for any documents, so it can theoretically supports json, jsonb too
> [...]. I expect something like XMLVALIDATE will be JSON standard in a few
> years.
>
> That doesn't sound like a bad idea to me. But I suspect I would need to
> almost completely revamp the implementation in the patch so far, so I would
> like to confirm a few things before committing to anything on that front.
>
It is usual when you design a feature that is not fully described by
standard :-/. And then it is good to start primary from part (command),
that is well described by standard.
>
> I am still unsure how the permissions would be managed properly with the
> API approach. It seems to me we could rely on the ACL like before, but I
> sense there's something more arcane around it when it comes to the
> extension.
>
There are two different things - 1. possibility to registrate xml schema -
you need just to CREATE right for related pg_namespace, 2. possibility to
use xml schema - and you need to USAGE right - and this can be checked
inside extension. Probably you cannot use all ACL related macros, and maybe
you have to design some function instead of GRANT and REVOKE. Maybe some
form of RLS can be used. When you separate storage of XML schemas to an
extension, then you can implement just some minimalistic implementation
(just what is necessary for regress tests) - and some more complex storage
of XML schema can be designed (developed) outside the main branch.
Hypothetical storage from contrib can be enhanced step by step.
Regards
Pavel
> I didn't realize, but DB2 actually gives you decomposition over an xml
> hierarchy into tables, which is an insanely valuable feature. I wonder how
> we could go with that here using the current catalog approach.
>
> Is there anything else that might be troublesome with changing approaches?
>
> Regards, Marcos.
>
view thread (17+ messages)
reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: [email protected]
Cc: [email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
Subject: Re: WIP - xmlvalidate implementation from TODO list
In-Reply-To: <CAFj8pRDDDhEVvQg82+f-X9DXgi8iwXPXR0s+m4oDR+x9+1peog@mail.gmail.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox