DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
От | Rudy Lippan |
---|---|
Тема | DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Дата | |
Msg-id | Pine.LNX.4.44.0305290446550.26451-100000@elfride.ineffable.net обсуждение исходный текст |
Ответ на | Re: Prepare and prepare ? (Bruce Momjian <pgman@candle.pha.pa.us>) |
Ответы |
Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?)
Re: DBD::Pg 1.30_1 WAS (Re: Prepare and prepare ?) |
Список | 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_queryn" ($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 onfirst \n - fixed statement scan problem where the preparse of "SELECT foo[3:33] from bar" was scanning :33 as aplaceholder - moved the quoting of bind values out of execute() and into bind -- as there is no need to requote thevalue 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.
В списке pgsql-interfaces по дате отправления: