PostgreSQL Bugs

Collected from the PG bugs email list.

Bug ID16332
PG Version11.6
OSWindows 10
Opened2020-04-01 15:20:33+00
Reported byDavid Sisson
StatusNew

Body of first available message related to this bug follows.

The following bug has been logged on the website:

Bug reference:      16332
Logged by:          David Sisson
Email address:      (redacted)
PostgreSQL version: 11.6
Operating system:   Windows 10
Description:        

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:  
<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>"


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

Messages

DateAuthorSubject
2020-04-01 15:20:33+00PG Bug reporting formBUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags
2020-04-01 16:12:06+00Pavel StehuleRe: BUG #16332: The xmltable function returns 'comment()' as unusable xml appended together and having no xml tags