Thread: pgsql: Make xpath() do something useful with XPath expressions that ret

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

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0ce7676aa03a2501fde949fea211ba5cd84c2ded

Modified Files
--------------
doc/src/sgml/func.sgml              |    2 +
src/backend/utils/adt/xml.c         |  114 ++++++++++++++++++++++++++++-------
src/test/regress/expected/xml.out   |   48 +++++++++++++++
src/test/regress/expected/xml_1.out |   48 +++++++++++++++
src/test/regress/sql/xml.sql        |    8 +++
5 files changed, 198 insertions(+), 22 deletions(-)