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