As described in the below email, here's the patch.
Few notes:
It will always properly unquote things of bytea type when retrieved from
select. If someone has code that relies on the old behaviour, you'll need
to change that.
It will only properly enquote things when you do
$sth->bind_param(1, $xxx, DBI::SQL_BINARY);
(ie you must specify binding type to bind_param).
On Thu, 8 Mar 2001, Alex Pilosov wrote:
> Hiyas,
>
> Currently, there's a problem using bytea type transparently with DBD::Pg
> driver. Postgres requires you to quote things in a special way to handle
> bytea data, for example, to insert a null character, you have to use
> '\000'. Select, on other hand, will require you to uncode such data before
> you can actually use it in perl.
>
> I'm making patches for DBD::Pg which will properly quote bytea data
> before insertion and unquote it on select. Let me know if its not a good
> idea.
>
> Another thing: Currently, Pg quote() method only will properly escape
> backslash if the datatype is not specified. If the datatype is specified,
> it'll give wrong result:
> $dbh->quote('foo\\bar', SQL_CHAR) will result in 'foo\bar', but it should
> result in 'foo\\bar'. Anyone minds if I fix this one as well?
>
> -alex
>
>
>
>
>
--
--
Alex Pilosov | http://www.acecape.com/dsl
CTO - Acecape, Inc. | AceDSL:The best ADSL in Bell Atlantic area
325 W 38 St. Suite 1005 | (Stealth Marketing Works! :)
New York, NY 10018 |