From: David Wheeler <david@wheeler.net>
To: Rudy Lippan <rlippan@remotelinux.com>
Cc: Bruce Momjian <pgman@candle.pha.pa.us>
Cc: Dominic Mitchell <dom@semantico.com>
Cc: pgsql-interfaces@postgresql.org
Cc: 'DBI developers' <dbi-dev@perl.org>
Subject: Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Date: Thu, 29 May 2003 08:34:26 -0700
Message-ID: <07EFE962-91EB-11D7-975B-0003931A964A@wheeler.net> (raw)
In-Reply-To: <Pine.LNX.4.44.0305290446550.26451-100000@elfride.ineffable.net>
On Thursday, May 29, 2003, at 01:57 AM, Rudy Lippan wrote:
> On Mon, 26 May 2003, Bruce Momjian wrote:
>
>> Rudy, where are we on the release of DBD:pg withs your patches? Are
>> they ready to go?
>
>
> I spun an ALPHA copy of DBD::Pg. So much has changed in there that I am
> sure something is broken for someone; therefore, I think we should let
> people hammer on it for a few days before making an official release.
>
> I put the alpha up here:
> http://www.remotelinux.com/rlippan/DBD-Pg-1.30_1.tar.gz
Nice, thanks for this, Rudy.
> And for anyone who is interested here is the change log:
>
> - $dbh->prepare() rewrites the SQL statement into an internal for
> striping out comments and whitespace, and if PostgreSQL > 7.3
> takes
> the
> stripped statement and passes that to postgress' PREPARE
> statement,
> then rewrites the statement as 'EXECUTE "DBD::PG::cached_query n"
> ($1, $2, ... $n, $n+1)' for DBD::Pg's execute. -- Currently
> disabled
> until PREPARE works a little better
Pity. Do you know if it will work as well as you need in 7.4? Have you
tested it with the latest from CVS? I think that it is close-ish to
done, so now would be the time to get in any requests for fixes.
> - Allows the use of :n and :foo bind params. So: (SELECT * FROM foo
> where
> 1 = :this and 2 = :that) will now work.
> - Complains on execute when unbound bind params are submitted
> (instead
> of
> defaulting to NULL)
Ah, good!
> - Switched over to use driver.xst.
About time we did this!
> - pg_error() only removes \n's don't truncate message on first \n
Heh, funny. If we don't release 1.30 with all your changes soon, it
might be worth it to backport this fix.
> - fixed statement scan problem where the preparse of
> "SELECT foo[3:33] from bar" was scanning :33 as a placeholder
> - moved the quoting of bind values out of execute() and into
> bind -- as there is no need to requote the value every time
> execute
> is called.
rudy++
> - :veryverylongplaceholdername == Long walk. Sort pier -- fixed.
> - quote() is now in C and uses same code as bind_param.
> - quoting and dequoting now use libpq quoting functions where
> available
> (I still need to take the libpq functions swiped out of quote.c
> and
> move
> it into libpqswip.c with license info &c., and switch ifndefs to
> ifdefs)
Good, nice to have all this centralized.
> - bind_param() will convert from 1,0 to TRUE/FALSE when pg_type is
> PGBOOLOID.
Nice.
> - fixed many heap buffer overruns.
Thanks Rudy, sounds great!
David
--
David Wheeler AIM: dwTheory
david@kineticode.com ICQ: 15726394
http://kineticode.com/ Yahoo!: dew7e
Jabber: Theory@jabber.org
Kineticode. Setting knowledge in motion.[sm]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: david@wheeler.net, rlippan@remotelinux.com, pgman@candle.pha.pa.us, dom@semantico.com, dbi-dev@perl.org
Subject: Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
In-Reply-To: <07EFE962-91EB-11D7-975B-0003931A964A@wheeler.net>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox