Re: Wrong length of bytea field - Mailing list pgsql-general

From Michael Fuhr
Subject Re: Wrong length of bytea field
Date
Msg-id 20060224212219.GA88781@winnie.fuhr.org
Whole thread Raw
In response to Wrong length of bytea field  ("Andrus Moor" <eetasoft@online.ee>)
List pgsql-general
On Fri, Feb 24, 2006 at 10:32:58PM +0200, Andrus Moor wrote:
> It seems that for some reason postgres returns sometimes escaped string size
> (eq. single byte 0x00 uploaded as \\000 size is returned as 5 )

I'd guess that "some reason" is because the data was over-escaped
when it was inserted -- that is, escaped and then escaped again.
Try inserting a small file and querying for the bytea column and
see what you get.

CREATE TABLE foo (data bytea);

INSERT INTO foo VALUES ($$\000$$);
INSERT INTO foo VALUES ($$\\000$$);
INSERT INTO foo VALUES ($$\\\000$$);
INSERT INTO foo VALUES ($$\\\\000$$);

SELECT data, octet_length(data) FROM foo;
  data   | octet_length
---------+--------------
 \000    |            1
 \\000   |            4
 \\\000  |            2
 \\\\000 |            5
(4 rows)

--
Michael Fuhr

pgsql-general by date:

Previous
From: "Andrus Moor"
Date:
Subject: Wrong length of bytea field
Next
From: "Steve Oualline"
Date:
Subject: How to tell how much of the database is being used for data.