Re: [PATCH] Add pretty-printed XML output option

Jim Jones <jim.jones@uni-muenster.de>

From: Jim Jones <jim.jones@uni-muenster.de>
To: Andrey Borodin <amborodin86@gmail.com>
Cc: Peter Smith <smithpb2250@gmail.com>, Alvaro Herrera <alvherre@alvh.no-ip.org>, Tom Lane <tgl@sss.pgh.pa.us>, pgsql-hackers@lists.postgresql.org, Peter Eisentraut <peter.eisentraut@enterprisedb.com>
Date: 2023-02-17T19:01:35Z
Lists: pgsql-hackers

Attachments

On 17.02.23 01:08, Andrey Borodin wrote:
> On Thu, Feb 16, 2023 at 2:12 PM Jim Jones<jim.jones@uni-muenster.de>  wrote:
> I've looked into the patch. The code looks to conform to usual 
> expectations.
> One nit: this comment should have just one asterisk.
> + /**

Thanks for reviewing! Asterisk removed in v14.

> And I have a dumb question: is this function protected from using
> external XML namespaces? What if the user passes some xmlns that will
> force it to read namespace data from the server filesystem? Or is it
> not possible? I see there are a lot of calls to xml_parse() anyway,
> but still...

According to the documentation,[1] such validations are not supported.

/"The |xml| type does not validate input values against a document type 
declaration (DTD), even when the input value specifies a DTD. There is 
also currently no built-in support for validating against other XML 
schema languages such as XML Schema."/

But I'll have a look at the code to be sure :)

Best, Jim

1- https://www.postgresql.org/docs/15/datatype-xml.html

Commits

  1. Fix memory leak in XMLSERIALIZE(... INDENT).

  2. doc: Move documentation of md5_password_warnings to a better place

  3. Support [NO] INDENT option in XMLSERIALIZE().

  4. Add an expected-file to match behavior of latest libxml2.