pgsql: Support [NO] INDENT option in XMLSERIALIZE().

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Support [NO] INDENT option in XMLSERIALIZE().
Date: 2023-03-15 20:59:19
Message-ID: E1pcYDP-003iQY-E2@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andrew Dunstan 2023-03-15 21:21:06 pgsql: Don't try to read default for a non-existent attribute
Previous Message Andrew Dunstan 2023-03-15 20:38:28 pgsql: Add a hook for modifying the ldapbind password