From: Tom Lane <tgl@sss.pgh.pa.us>
To: Michael Paquier <michael@paquier.xyz>
Cc: Postgres hackers <pgsql-hackers@lists.postgresql.org>
Cc: Erik Wienhold <ewie@ewie.name>
Subject: Re: Regression with large XML data input
Date: Wed, 23 Jul 2025 23:28:38 -0400
Message-ID: <1569825.1753327718@sss.pgh.pa.us> (raw)
In-Reply-To: <aIGknLuc8b8ega2X@paquier.xyz>
References: <aIGknLuc8b8ega2X@paquier.xyz>
Michael Paquier <michael@paquier.xyz> writes:
> A customer has reported a regression with the parsing of rather large
> XML data, introduced by the set of backpatches done with f68d6aabb7e2
> & friends.
Bleah.
> Switching back to the previous code, where we rely on
> xmlParseBalancedChunkMemory() fixes the issue.
Yeah, just reverting these commits might be an acceptable answer,
since the main point was to work around a bleeding-edge bug:
>> * Early 2.13.x releases of libxml2 contain a bug that causes
>> xmlParseBalancedChunkMemory to return the wrong status value in some
>> cases. This breaks our regression tests. While that bug is now fixed
>> upstream and will probably never be seen in any production-oriented
>> distro, it is currently a problem on some more-bleeding-edge-friendly
>> platforms.
Presumably that problem is now gone, a year later. The other point
about
>> * xmlParseBalancedChunkMemory is considered to depend on libxml2's
>> semi-deprecated SAX1 APIs, and will go away when and if they do.
is still hypothetical I think. But we might want to keep this bit:
>> While here, avoid allocating an xmlParserCtxt in DOCUMENT parse mode,
>> since that code path is not going to use it.
regards, tom lane
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, michael@paquier.xyz, pgsql-hackers@lists.postgresql.org, ewie@ewie.name
Subject: Re: Regression with large XML data input
In-Reply-To: <1569825.1753327718@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox