PQescapeByteaConn - returns wrong string for PG9.1 Beta3

From: "Petro Meier" <Petro85(at)gmx(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: PQescapeByteaConn - returns wrong string for PG9.1 Beta3
Date: 2011-08-03 13:19:06
Message-ID: 20110803131906.116290@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Normal 0 21 false
false false DE X-NONE X-NONE

MicrosoftInternetExplorer4
















Please let me clarify the bug:

  CREATE TABLE "testtable"

(

  "ID" integer NOT NULL,

  "BinaryContents" bytea

);

  INSERT INTO "testtable" ("ID", "BinaryContents") values (1,
E'\xea2abd8ef3');

  returns "invalid byte sequence".

  '\xea2abd8ef3' is the string delivered by the PG 9.1 Beta3 server
when calling PQescapeByteaConn(). It cannot be further processed by the
server itself afterwards! There is a leading '\' missing.

  When calling the function for a PG 9.0.1 server, then the result
(correctly) is '\\xea2abd8ef3' (with a double-backslash!), and then the
insert works fine, both, with PG9.1 Beta3 and PG9.0.1

  It is a serious issue, as it will break all existing PostgreSQL
applications that deal with binary contents and use PQescapeByteaConn().

  Best regards

Petro
--
Empfehlen Sie GMX DSL Ihren Freunden und Bekannten und wir
belohnen Sie mit bis zu 50,- Euro! https://freundschaftswerbung.gmx.de

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2011-08-03 13:29:54 Re: pgbench internal contention
Previous Message Robert Haas 2011-08-03 12:59:47 Re: WIP: Fast GiST index build