From: | David Wheeler <david(at)wheeler(dot)net> |
---|---|
To: | Rudy Lippan <rlippan(at)remotelinux(dot)com> |
Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, Dominic Mitchell <dom(at)semantico(dot)com>, <pgsql-interfaces(at)postgresql(dot)org>, "'DBI developers'" <dbi-dev(at)perl(dot)org> |
Subject: | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Date: | 2003-05-29 15:34:26 |
Message-ID: | 07EFE962-91EB-11D7-975B-0003931A964A@wheeler.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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(at)kineticode(dot)com ICQ: 15726394
http://kineticode.com/ Yahoo!: dew7e
Jabber: Theory(at)jabber(dot)org
Kineticode. Setting knowledge in motion.[sm]
From | Date | Subject | |
---|---|---|---|
Next Message | David Wheeler | 2003-05-29 15:36:28 | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Previous Message | Dominic Mitchell | 2003-05-29 09:00:21 | Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |