Re: PQescapeByteaConn - returns wrong string for PG9.1 Beta3

From: Florian Pflug <fgp(at)phlo(dot)org>
To: "Petro Meier" <Petro85(at)gmx(dot)de>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: PQescapeByteaConn - returns wrong string for PG9.1 Beta3
Date: 2011-07-27 17:57:44
Message-ID: 806A04FD-FF77-45F6-A556-77D94A3D8423@phlo.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Jul27, 2011, at 08:51 , Petro Meier wrote:
> If I use PQescapeByteaConn() for a conenction to a PG9.1 Beta3 server, this function returns (e.g.) "\xea2abd8ef31...(and so on.)...".
> Here the problem: there should be a second backslash in the prefix. The SQL Statement which uses this string (INSERT statement in my case) returns with an error ("Invalid byte sequence..."). If I add the second backslash manually everything works fine.
> When connecting to a PG9.0 server and using this function, the return value is correct (with two backslashes): "\\xea2abd8ef31...( and so on.)...".
> This should be a bug in PG9.1 Beta3

Sounds as if PQescapeByteaConn() is confused about whether standard_conforming_strings is on or off. What value does that setting have in your 9.0 and 9.1 instances?

BTW, I think 9.1 is the first release where that settings defaults to "on", so maybe that adds to PQescapeByteaConn()'s confusion. In theory it shouldn't since PQescapeByteaConn() should simply detect the server's setting and react accordingly, but who knows...

best regards,
Florian Pflug

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Noah Misch 2011-07-27 17:58:11 Re: sinval synchronization considered harmful
Previous Message Florian Pflug 2011-07-27 17:37:31 Re: XMLATTRIBUTES vs. values of type XML