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 [EMAIL PROTECTED] ICQ: 15726394 http://kineticode.com/ Yahoo!: dew7e Jabber: [EMAIL PROTECTED] Kineticode. Setting knowledge in motion.[sm]