Make xpath() do something useful with XPath expressions that return scalars.
Tom Lane <tgl@sss.pgh.pa.us>
Make xpath() do something useful with XPath expressions that return scalars. Previously, xpath() simply returned an empty array if the expression did not yield a node set. This is useless for expressions that return scalars, such as one with name() at the top level. Arrange to return the scalar value as a single-element xml array, instead. (String values will be suitably escaped.) This change will also cause xpath_exists() to return true, not false, for such expressions. Florian Pflug, reviewed by Radoslaw Smogura
Files
| Path | Change | +/− |
|---|---|---|
| doc/src/sgml/func.sgml | modified | +2 −0 |
| src/backend/utils/adt/xml.c | modified | +92 −22 |
| src/test/regress/expected/xml_1.out | modified | +48 −0 |
| src/test/regress/expected/xml.out | modified | +48 −0 |
| src/test/regress/sql/xml.sql | modified | +8 −0 |