Re: PostgreSQL vs SQL/XML Standards
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Chapman Flack <chap@anastigmatix.net>
Cc: Markus Winand <markus.winand@winand.at>,
Alvaro Herrera <alvherre@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2019-01-14T12:33:01Z
Lists: pgsql-hackers
Attachments
- xmltable-xpath-result-processing-bugfix-5.patch (text/x-patch) patch
Hi
po 14. 1. 2019 v 2:41 odesílatel Chapman Flack <chap@anastigmatix.net>
napsal:
> There is a bug that remains, in the
> else if (xpathobj->type == XPATH_STRING)
> case.
>
> As it is now, it simply passes the string value of the result
> into the output column's type-input function, regardless of the
> output column type.
>
> If the output column type is xml, this will attempt to parse the
> string as xml. The result should simply be xml content consisting of
> a text node representing the string (as by XMLTEXT()). If it contains
> XML metacharacters, they should be escaped.
>
> For a non-xml output column, the string should be used directly,
> as it is now.
>
> # select * from xmltable('.' passing xmlelement(name a)
> columns a text path '"<foo/>"', b xml path '"<foo/>"');
> a | b
> --------+--------
> <foo/> | <foo/>
>
> Oracle fiddle for comparison:
>
>
> https://dbfiddle.uk/?rdbms=oracle_18&fiddle=26f91a9e55a6908c2bcf848b464ca381
>
> A B
> <foo/> <foo/>
>
should be fixed in last patch
Regards
Pavel
> -Chap
>
Commits
-
Improve documentation about our XML functionality
- 728c49779ba8 11.6 landed
- 603a28b44973 10.11 landed
-
Improve documentation about our XML functionality.
- 12d46ac392d0 12.0 landed
-
Add volatile qualifier missed in commit 2e616dee9.
- b2b819019f44 12.0 landed
-
Fix crash with old libxml2
- 2e616dee9e60 12.0 landed
-
Fix minor deficiencies in XMLTABLE, xpath(), xmlexists()
- 251cf2e27bec 12.0 cited
-
Fix the BY {REF,VALUE} clause of XMLEXISTS/XMLTABLE
- eaaa5986ad03 12.0 landed
-
doc: Update README.links
- b060e6c1f5b4 12.0 landed
-
XPath fixes:
- 3963574d1338 8.3.0 cited