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

Dmitry Koval <d.koval@postgrespro.ru>

From: Dmitry Koval <d.koval@postgrespro.ru>
To: pgsql-bugs@lists.postgresql.org
Date: 2024-01-14T18:28:50Z
Lists: pgsql-bugs

Attachments

Hi!

Attached a patch that adds the use of XML_PARSE_HUGE flag for libxml2 
functions and replaces some functions (that do not support this flag) 
with their equivalents.

Using libxml2 library functions with support of XML_PARSE_HUGE flag 
increases maximum size allowed for a single text node from 10.000.000 to 
1.000.000.000 (see XML_MAX_TEXT_LENGTH macro, 
libxml2/include/libxml/parserInternals.h) which in most cases solves the 
problem with insufficient memory.

What do you think about the patch?
Maybe it would be a good idea to add a GUC-variable for using of the 
XML_PARSE_HUGE flag? (The current behavior without XML_PARSE_HUGE flag 
is default).

-- 
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)