Re: review: xml_is_well_formed - Mailing list pgsql-hackers

From Robert Haas
Subject Re: review: xml_is_well_formed
Date
Msg-id AANLkTim7NfiKpCZT6av-q+8dd6YMcAYKNMBPkCV145nT@mail.gmail.com
Whole thread Raw
In response to Re: review: xml_is_well_formed  (Robert Haas <robertmhaas@gmail.com>)
Responses Re: review: xml_is_well_formed
List pgsql-hackers
On Mon, Aug 9, 2010 at 10:41 AM, Robert Haas <robertmhaas@gmail.com> wrote:
> On Mon, Aug 9, 2010 at 10:20 AM, Peter Eisentraut <peter_e@gmx.net> wrote:
>> On lör, 2010-08-07 at 16:47 +0100, Mike Fowler wrote:
>>> To be honest I'm happiest with returning a boolean, even if there is
>>> some confusion over content only being valid. Though changing the
>>> return
>>> value to DOCUMENT/CONTENT/NULL makes things a touch more explicit,
>>> the
>>> same results can be achieved by simply running:
>>>
>>> SELECT data::xml FROM mixed WHERE xml_is_well_formed(data) AND
>>> data::xml IS DOCUMENT;
>>
>> Note that this wouldn't necessarily work because it is not guaranteed
>> that the well-formedness test is executed before the cast to xml.  SQL
>> doesn't short-circuit left to right.  (A CASE expression could work.)
>
> There's also the fact that it would probably end up parsing the data
> twice.  Given xmloption, I'm inclined to think Tom has it right:
> provided xml_is_well_formed() that follows xmloption, plus a specific
> version for each of content and document.

Another reasonable option here would be to forget about having
xml_is_well_formed() per se and ONLY offer
xml_is_well_formed_content() and xml_is_well_formed_document().

As a project management note, this CommitFest is over in 4 days, so
unless we have a new version of this patch real soon now we need to
defer it to the September 15th CommitFest (of course not precluding
the possibility that someone will pick it up and commit it sooner, but
we're not going to postpone 9.1alpha1 for this patch).

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise Postgres Company


pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: string_to_array with an empty input string
Next
From: Greg Smith
Date:
Subject: Re: MERGE command for inheritance