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



Reply via email to