Peter Eisentraut <peter_e@gmx.net> writes:
> On Sunday 05 April 2009 05:00:04 Tom Lane wrote:
>> Is there a reason not to fix it as suggested at
>> http://archives.postgresql.org/pgsql-bugs/2009-02/msg00032.php
>> ie recode on-the-fly from database encoding to UTF8?
> Probably just verifying that it works.
I studied this patch a bit and I'm unimpressed. It looks to me like
xml.c is absolutely chock-full of places where we pass DB-encoding
data to libxml, or vice versa. The patch only fixes a few of them,
and does so in a fairly ugly, ad-hoc fashion with lots of duplicated
code.
As near as I can tell, every place where you see an explicit cast
between char * and xmlChar * is probably broken. I think we ought
to approach this by refactoring to have all those conversions go
through subroutines, instead of blithely casting.
This is more work than I personally care to put into xml.c. Any
takers?
regards, tom lane