Date: Tue, 08 Mar 2005 22:46:03 +0900 From: Jun Kuriyama <kuriyama@imgsrc.co.jp> To: Vincent Bachelier <vincent_bachelier@yahoo.fr> Cc: perl@FreeBSD.org Subject: Re: p5-DBD-Pg Message-ID: <7moedumesk.wl%kuriyama@imgsrc.co.jp> In-Reply-To: <20050308123157.GA975@localhost> References: <20050308074451.90940.qmail@web25308.mail.ukl.yahoo.com> <2CC5E3844B16ED89C0991035@192.168.1.5> <20050308123157.GA975@localhost>
next in thread | previous in thread | raw e-mail | index | archive | help
My patch was wrong. Original developers are working on this problem. Can you try with this? Index: Makefile =================================================================== RCS file: /home/ncvs/ports/databases/p5-DBD-Pg/Makefile,v retrieving revision 1.61 diff -u -r1.61 Makefile --- Makefile 2 Mar 2005 18:18:57 -0000 1.61 +++ Makefile 6 Mar 2005 13:27:57 -0000 @@ -7,6 +7,7 @@ PORTNAME= DBD-Pg PORTVERSION= 1.40 +PORTREVISION= 1 CATEGORIES= databases perl5 MASTER_SITES= ${MASTER_SITE_PERL_CPAN} MASTER_SITE_SUBDIR= DBD Index: files/patch-dbdimp.c =================================================================== RCS file: files/patch-dbdimp.c diff -N files/patch-dbdimp.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-dbdimp.c 8 Mar 2005 13:42:45 -0000 @@ -0,0 +1,42 @@ +--- dbdimp.c.orig Tue Mar 8 22:41:12 2005 ++++ dbdimp.c Tue Mar 8 22:41:36 2005 +@@ -1,6 +1,6 @@ + /* + +- $Id: dbdimp.c,v 1.98 2005/01/29 18:53:52 turnstep Exp $ ++ $Id: dbdimp.c,v 1.99 2005/03/07 23:40:45 turnstep Exp $ + + Copyright (c) 2002-2005 PostgreSQL Global Development Group + Portions Copyright (c) 2002 Jeffrey W. Baker +@@ -793,7 +793,7 @@ + 2. The attribute "direct" is false + 3. We can handle server-side prepares + 4. The attribute "pg_server_prepare" is not 0 +- 5. The attribute "pg_prepare_now" is true ++ 5. The attribute "pg_prepare_now" is true and we are a PG8 or up compiled server + */ + if (imp_sth->is_dml && + !imp_sth->direct && +@@ -1517,7 +1517,9 @@ + execsize = imp_sth->totalsize; /* Total of all segments */ + + /* If using plain old PQexec, we need to quote each value ourselves */ +- if (imp_dbh->pg_protocol < 3) { ++ if (imp_dbh->pg_protocol < 3 || ++ (1 != imp_sth->server_prepare && ++ imp_sth->numbound != imp_sth->numphs)) { + for (currph=imp_sth->ph; NULL != currph; currph=currph->nextph) { + if (NULL == currph->value) { + Renew(currph->quoted, 5, char); /* freed in dbd_st_execute (and above) */ +@@ -1628,7 +1630,10 @@ + + /* PQexecParams */ + +- if (imp_dbh->pg_protocol >= 3 && imp_sth->numphs) { ++ if (imp_dbh->pg_protocol >= 3 && ++ imp_sth->numphs && ++ (1 == imp_sth->server_prepare || ++ imp_sth->numbound == imp_sth->numphs)) { + + if (dbis->debug >= 5) + PerlIO_printf(DBILOGFP, " dbdpg: using PQexecParams\n"); -- Jun Kuriyama <kuriyama@imgsrc.co.jp> // IMG SRC, Inc. <kuriyama@FreeBSD.org> // FreeBSD Project
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?7moedumesk.wl%kuriyama>