pgsql: Fix some whitespace issues in XMLSERIALIZE(... INDENT).

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Fix some whitespace issues in XMLSERIALIZE(... INDENT).
Date: 2024-09-10 20:20:39
Message-ID: E1so7Lq-000UEK-Pe@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Fix some whitespace issues in XMLSERIALIZE(... INDENT).

We must drop whitespace while parsing the input, else libxml2
will include "blank" nodes that interfere with the desired
indentation behavior. The end result is that we didn't indent
nodes separated by whitespace.

Also, it seems that libxml2 may add a trailing newline when working
in DOCUMENT mode. This is semantically insignificant, so strip it.

This is in the gray area between being a bug fix and a definition
change. However, the INDENT option is still pretty new (since v16),
so I think we can get away with changing this in stable branches.
Hence, back-patch to v16.

Jim Jones

Discussion: https://postgr.es/m/872865a8-548b-48e1-bfcd-4e38e672c1e4@uni-muenster.de

Branch
------
REL_16_STABLE

Details
-------
https://git.postgresql.org/pg/commitdiff/06c285018a81ce4364e370d276be796a632115f8

Modified Files
--------------
src/backend/utils/adt/xml.c | 27 ++++++++++++++++++++++++---
src/test/regress/expected/xml.out | 33 +++++++++++++++++++++++----------
src/test/regress/expected/xml_1.out | 11 +++++++++++
src/test/regress/expected/xml_2.out | 33 +++++++++++++++++++++++----------
src/test/regress/sql/xml.sql | 3 +++
5 files changed, 84 insertions(+), 23 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2024-09-10 20:49:13 pgsql: Use a hash table to de-duplicate column names in ruleutils.c.
Previous Message Tom Lane 2024-09-10 20:20:38 pgsql: Fix some whitespace issues in XMLSERIALIZE(... INDENT).