Re: BUG #2236: extremely slow to get unescaped bytea data - Mailing list pgsql-bugs

From Alvaro Herrera
Subject Re: BUG #2236: extremely slow to get unescaped bytea data
Date
Msg-id 20060209154646.GK5234@surnet.cl
Whole thread Raw
In response to Re: BUG #2236: extremely slow to get unescaped bytea data  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: BUG #2236: extremely slow to get unescaped bytea data
List pgsql-bugs
Tom Lane wrote:
> Kalador Tech Support <support@kalador.com> writes:
> > When run from a browser, accessing an Apache webserver, the results
> > displayed were:
>
> > fetch    time = 3.632ms, 296043 bytes
> > unescape time = 70625.518ms, 296043 bytes
>
> Is it possible that you are relying on an old (like 7.3) libpq?
> I find this in the CVS logs:
>
> 2003-06-11 21:17  momjian
>
>     * src/interfaces/libpq/fe-exec.c: I found the libpq function
>     PGunescapeBytea a little slow. It was taking a minute and a half to
>     decode a 500Kb on a fairly fast machine. I think the culprit is
>     sscanf.
>     ...
>     The new function is significantly faster on my machine with the
>     JPEGs being decoded in less than a second. I attach a modified
>     libpq example program that I used for my testing.

I note in the PHP 4 sources that the PQunescapeBytea function seems to
have been copied there, "for the benefit of PostgreSQL 7.2 users".  It
says that it comes from 7.3 but I don't see any sscanf call.

There is no PQunescapeBytea call in the whole source that I can see, so
my guess is that the libpq function is not called at all.  So this may
be a PHP bug rather than a Postgres bug.

--
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

pgsql-bugs by date:

Previous
From: Kris Jurka
Date:
Subject: Re: BUG #2249: unsupported frontend protocol
Next
From: "Magnus Hagander"
Date:
Subject: Re: BUG #2248: Fix for terminal server