Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) - Mailing list pgsql-interfaces
From | David Wheeler |
---|---|
Subject | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Date | |
Msg-id | 07EFE962-91EB-11D7-975B-0003931A964A@wheeler.net Whole thread Raw |
In response to | DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) (Rudy Lippan <rlippan@remotelinux.com>) |
List | pgsql-interfaces |
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]
pgsql-interfaces by date: