PQescapeByteaConn - returns wrong string for PG9.1 Beta3
| От | Petro Meier |
|---|---|
| Тема | PQescapeByteaConn - returns wrong string for PG9.1 Beta3 |
| Дата | |
| Msg-id | 20110803131906.116290@gmx.net обсуждение исходный текст |
| Ответы |
Re: PQescapeByteaConn - returns wrong string for PG9.1
Beta3
Re: PQescapeByteaConn - returns wrong string for PG9.1 Beta3 |
| Список | pgsql-hackers |
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
В списке pgsql-hackers по дате отправления: