pgsql: Support [NO] INDENT option in XMLSERIALIZE(). - Mailing list pgsql-committers

From Tom Lane
Subject pgsql: Support [NO] INDENT option in XMLSERIALIZE().
Date
Msg-id E1pcYDP-003iQY-E2@gemulon.postgresql.org
Whole thread Raw
List pgsql-committers
Support [NO] INDENT option in XMLSERIALIZE().

This adds the ability to pretty-print XML documents ... according to
libxml's somewhat idiosyncratic notions of what's pretty, anyway.
One notable divergence from a strict reading of the spec is that
libxml is willing to collapse empty nodes "<node></node>" to just
"<node/>", whereas SQL and the underlying XML spec say that this
option should only result in whitespace tweaks.  Nonetheless,
it seems close enough to justify using the SQL-standard syntax.

Jim Jones, reviewed by Peter Smith and myself

Discussion: https://postgr.es/m/2f5df461-dad8-6d7d-4568-08e10608a69b@uni-muenster.de

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/483bdb2afec9e33ff05fd48a00e2656e30e714b7

Modified Files
--------------
doc/src/sgml/datatype.sgml            |   9 +-
src/backend/catalog/sql_features.txt  |   2 +-
src/backend/executor/execExprInterp.c |   6 +-
src/backend/parser/gram.y             |  14 ++-
src/backend/parser/parse_expr.c       |   1 +
src/backend/utils/adt/xml.c           | 212 ++++++++++++++++++++++++++++++++--
src/include/catalog/catversion.h      |   2 +-
src/include/nodes/parsenodes.h        |   1 +
src/include/nodes/primnodes.h         |   4 +-
src/include/parser/kwlist.h           |   1 +
src/include/utils/xml.h               |   3 +-
src/test/regress/expected/xml.out     | 186 +++++++++++++++++++++++++++++
src/test/regress/expected/xml_1.out   | 134 +++++++++++++++++++++
src/test/regress/expected/xml_2.out   | 186 +++++++++++++++++++++++++++++
src/test/regress/sql/xml.sql          |  36 ++++++
15 files changed, 775 insertions(+), 22 deletions(-)


pgsql-committers by date:

Previous
From: Andrew Dunstan
Date:
Subject: pgsql: Add a hook for modifying the ldapbind password
Next
From: Andrew Dunstan
Date:
Subject: pgsql: Don't try to read default for a non-existent attribute