Re: BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: david_sisson(at)dell(dot)com, PostgreSQL mailing lists <pgsql-bugs(at)lists(dot)postgresql(dot)org>
Subject: Re: BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags
Date: 2020-04-01 16:12:06
Message-ID: CAFj8pRCZ4wimhoPooJwtfhzW8c+5z1S6=M4hdbT-cj2zs1n3PA@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

st 1. 4. 2020 v 18:07 odesílatel PG Bug reporting form <
noreply(at)postgresql(dot)org> napsal:

> The following bug has been logged on the website:
>
> Bug reference: 16332
> Logged by: David Sisson
> Email address: david_sisson(at)dell(dot)com
> PostgreSQL version: 11.6
> Operating system: Windows 10
> Description:
>

please, check Postgres 12. This issue is fixed there

Regards

Pavel

> We are trying to use the new faster "xmltable" feature in PostgreSQL to
> read
> XML files.
> We have to be able to read and parse commented out sections of the xml
> files.
> Without being able to read and parse XML comments we won't be able to use
> this.
>
> (full sample below)
>
> When using this: comments xml path 'comment()'
>
> We are getting this:
> &lt;Attribute Name="Test Comment 001"&gt;Testing comment
> 001&lt;/Attribute&gt; &lt;Attribute Name="Test Comment 002"&gt;Testing
> comment 002&lt;/Attribute&gt; &lt;Attribute Name="Test Comment
> 002"&gt;Testing comment 003&lt;/Attribute&gt;"
>
>
> As with everything else I would have expected to get the result as readable
> xml.
>
>
> It works for elements just not for comments.
> For example this: attribute_xml xml path 'Attribute/self::node()',
>
> Returns this which we can use.
> "<Attribute Name="TestAttribute001">attribute element value
> 001</Attribute><Attribute Name="TestAttribute002">attribute element value
> 002</Attribute><Attribute Name="TestAttribute003">attribute element value
> 003</Attribute>"
>
>
> with
> _xml(raw_xml) as
> (
> select
> '
> <SystemConfiguration Model="Test01">
>
> <Component Name="Test 001">
> <Attribute Name="TestAttribute001">attribute element value
> 001</Attribute>
> <Attribute Name="TestAttribute002">attribute element value
> 002</Attribute>
> <!-- <Attribute Name="Test Comment 001">Testing comment
> 001</Attribute>-->
> <!-- <Attribute Name="Test Comment 002">Testing comment
> 002</Attribute>-->
> <!-- <Attribute Name="Test Comment 002">Testing comment
> 003</Attribute>-->
> <Attribute Name="TestAttribute003">attribute element value
> 003</Attribute>
> </Component>
> </SystemConfiguration>
> '::xml
> ),
> _components(name, attribute_xml, comment_xml) as
> (
> select
> root_components.fqdd,
> root_components.attribute_xml,
> root_components.comments
> from
> _xml,
> xmltable
> (
> '//SystemConfiguration/Component'
> passing raw_xml
> columns
> fqdd text path '@Name',
> attribute_xml xml path
> 'Attribute/self::node()',
> comments xml path 'comment()'
> ) as root_components
>
>
> )
> select * from _components
>
>

In response to

Browse pgsql-bugs by date

  From Date Subject
Next Message Jehan-Guillaume de Rorthais 2020-04-01 16:17:35 Re: [BUG] non archived WAL removed during production crash recovery
Previous Message PG Bug reporting form 2020-04-01 15:20:33 BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags