DBD::Pg 1.30 is nearing release, and you can grab a copy of the latest
beta at: http://www.remotelinux.com/rlippan/DBD-Pg-1.30_2.tar.gz There
are many changes in this release and large chunks of code have been
re-written, so I would appreciate if some of you could pound on this and
let me know if you find any problems.
If I don't hear anything in say, 48 hours, I'll re-tag this as 1.30 and
send it up to CPAN.
Rudy
========
Changes:
1.30_2
- notice messages generated by the database new use the perl
warning mechanism instead of going to stderr.
[Dominic Mitchell <[EMAIL PROTECTED]>]
- $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
- 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)
- Switched over to use driver.xst.
- pg_error() only removes \n's don't truncate message on first \n
- 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.
- :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)
- bind_param() will convert from 1,0 to TRUE/FALSE when pg_type is
PGBOOLOID.
- fixed many heap buffer overruns.