Re: BUG #18274: Error 'invalid XML content'

Dmitry Koval <d.koval@postgrespro.ru>

From: Dmitry Koval <d.koval@postgrespro.ru>
To: Michael Paquier <michael@paquier.xyz>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, pgsql-bugs@lists.postgresql.org
Date: 2024-01-15T15:47:17Z
Lists: pgsql-bugs
Hi!

 > Knowing that we have full control of the memory contexts for the XML
 > nodes, just enforcing the huge flag does not seem like there's any
 > downside for us. (Right?)

I think that's right (flag XML_PARSE_HUGE shouldn't cause any problems).
My main doubts are related to the replacement of the 
xmlParseBalancedChunkMemory() function (that haven't argument for pass 
XML_PARSE_HUGE flag) with xmlNewNode() + xmlParseInNodeContext() 
functions (create a fake node and pass the XML_PARSE_HUGE flag to 
xmlParseInNodeContext function).

I'm not sure if this replacement is 100% equivalent (although simple 
tests work the same).

-- 
With best regards,
Dmitry Koval

Postgres Professional: http://postgrespro.com



Commits

  1. xml2: Replace deprecated routines with recommended ones

  2. Revert "Add support for parsing of large XML data (>= 10MB)"

  3. Add support for parsing of large XML data (>= 10MB)