From: | Chapman Flack <chap(at)anastigmatix(dot)net> |
---|---|
To: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
Cc: | Markus Winand <markus(dot)winand(at)winand(dot)at>, Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, PostgreSQL Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PostgreSQL vs SQL/XML Standards |
Date: | 2019-01-14 01:41:34 |
Message-ID: | 5C3BE8CE.8010606@anastigmatix.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
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/>
-Chap
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2019-01-14 02:54:58 | Re: Reducing header interdependencies around heapam.h et al. |
Previous Message | Donald Dong | 2019-01-14 01:23:45 | Re: Ryu floating point output patch |