Skip site navigation (1) Skip section navigation (2)

DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)

From: Rudy Lippan <rlippan(at)remotelinux(dot)com>
To: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
Cc: Rudy Lippan <rlippan(at)remotelinux(dot)com>,David Wheeler <david(at)wheeler(dot)net>,Dominic Mitchell <dom(at)semantico(dot)com>,<pgsql-interfaces(at)postgresql(dot)org>,"'DBI developers'" <dbi-dev(at)perl(dot)org>
Subject: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Date: 2003-05-29 08:57:23
Message-ID: Pine.LNX.4.44.0305290446550.26451-100000@elfride.ineffable.net (view raw or flat)
Thread:
Lists: pgsql-interfaces
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


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
    - 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.



In response to

Responses

pgsql-interfaces by date

Next:From: Dominic MitchellDate: 2003-05-29 09:00:21
Subject: Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Previous:From: Christoph HallerDate: 2003-05-28 13:45:23
Subject: Re: Large Objects

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group