Re: libxml incompatibility - Mailing list pgsql-hackers

From Tom Lane
Subject Re: libxml incompatibility
Date
Msg-id 2983.1236716064@sss.pgh.pa.us
Whole thread Raw
In response to Re: libxml incompatibility  (Andrew Dunstan <andrew@dunslane.net>)
Responses Re: libxml incompatibility  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
Andrew Dunstan <andrew@dunslane.net> writes:
> David Lee Lambert wrote:
>> Is it supposed to be OK to call xmlCheckVersion() more than once?

> You are certainly not supposed to call xmlInitParser more than once - 
> see <http://xmlsoft.org/html/libxml-parser.html#xmlInitParser>

No, what that says is that it can't be called concurrently by more
than one thread.  If there were such a restriction then our own code
wouldn't work at all, because we call it every time through xml_parse()
or xpath().

> Even if this were fixed, however, I'm still not convinced that we'll be 
> able to call libxml2 from perl after we've installed our memory handler 
> (xml_palloc).

Yeah, I'm wondering about that too.  It certainly wouldn't have the
behavior that perl is expecting.

We could possibly use xmlMemGet() to fetch the prior settings and then
restore them after we are done, but making sure that happens after an
error would be a bit tricky.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Alvaro Herrera
Date:
Subject: Re: problem inserting in GIN index
Next
From: Andrew Dunstan
Date:
Subject: Re: parallel restore fixes