Bug #653: Unable to insert binary data into BYTEA column in UTF8 DB

Lists: pgsql-bugs
From: pgsql-bugs(at)postgresql(dot)org
To: pgsql-bugs(at)postgresql(dot)org
Subject: Bug #653: Unable to insert binary data into BYTEA column in UTF8 DB
Date: 2002-05-02 09:36:00
Message-ID: 20020502093600.1E48F476005@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Peter Vicen (vicen(at)pv2c(dot)sk) reports a bug with a severity of 2
The lower the number the more severe it is.

Short Description
Unable to insert binary data into BYTEA column in UTF8 DB

Long Description
After creating an UTF8 database ("createdb --encoding "UTF8" ...) containing BYTEA columns the parser rejects insert queries with binary data because they're not UTF8 encoded (escaping doesn't help ;-).

Sample Code

No file was uploaded with this report


From: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
To: vicen(at)pv2c(dot)sk
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: Bug #653: Unable to insert binary data into BYTEA
Date: 2002-05-02 09:48:16
Message-ID: 20020502184816N.t-ishii@sra.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

> After creating an UTF8 database ("createdb --encoding "UTF8" ...) containing BYTEA columns the parser rejects insert queries with binary data because they're not UTF8 encoded (escaping doesn't help ;-).

I don't kno how exactly escaped them, but you need to escape bytes >
0x7f (PQescapebytea has been fixed in that way in current). Or you
could cast them as bytea.
--
Tatsuo Ishii


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: vicen(at)pv2c(dot)sk, pgsql-bugs(at)postgresql(dot)org
Subject: Re: Bug #653: Unable to insert binary data into BYTEA column
Date: 2002-06-02 06:30:05
Message-ID: 200206020630.g526U6p14513@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs


This seems unusual. Would you send us a sample of a string that is
rejected?

---------------------------------------------------------------------------

pgsql-bugs(at)postgresql(dot)org wrote:
> Peter Vicen (vicen(at)pv2c(dot)sk) reports a bug with a severity of 2
> The lower the number the more severe it is.
>
> Short Description Unable to insert binary data into BYTEA column
> in UTF8 DB
>
> Long Description After creating an UTF8 database ("createdb
> --encoding "UTF8" ...) containing BYTEA columns the parser
> rejects insert queries with binary data because they're not UTF8
> encoded (escaping doesn't help ;-).
>
> Sample Code
>
>
> No file was uploaded with this report
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: subscribe and unsubscribe commands go to majordomo(at)postgresql(dot)org
>

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026


From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tatsuo Ishii <t-ishii(at)sra(dot)co(dot)jp>
Cc: vicen(at)pv2c(dot)sk, pgsql-bugs(at)postgresql(dot)org
Subject: Re: Bug #653: Unable to insert binary data into BYTEA
Date: 2002-06-02 06:31:59
Message-ID: 200206020631.g526VxF14614@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-bugs

Tatsuo Ishii wrote:
> > After creating an UTF8 database ("createdb --encoding "UTF8" ...) containing BYTEA columns the parser rejects insert queries with binary data because they're not UTF8 encoded (escaping doesn't help ;-).
>
> I don't kno how exactly escaped them, but you need to escape bytes >
> 0x7f (PQescapebytea has been fixed in that way in current). Or you
> could cast them as bytea.

Oh, that is interesting. I didn't realize the interaction between
encodings and bytea, I guess because bytea usage is only recently
popular. Do we document this bytea limitation properly?

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 853-3000
+ If your life is a hard drive, | 830 Blythe Avenue
+ Christ can be your backup. | Drexel Hill, Pennsylvania 19026