On Wed, 13 Aug 2003, David Wheeler wrote:

> >> You can see that this gets really ugly. Anyone seen anything like 
> >> this,
> >> or have any idea what could be causing these problems?
> >
> > Try changing your ping method or removing the ping and see if the
> > problem persists.
> 
> Not sure I want to go into hacking DBD::Pg's internals at this point...
> 

here is a patch that gives some more info on what is going on in ping():


pandora:~/dbdpg/head/dbdpg:$ cvs diff -u dbdimp.c
Index: dbdimp.c
===================================================================
RCS file: /usr/local/cvsroot/dbdpg/dbdpg/dbdimp.c,v
retrieving revision 1.28
diff -u -r1.28 dbdimp.c
--- dbdimp.c    23 Jul 2003 13:35:46 -0000      1.28
+++ dbdimp.c    13 Aug 2003 21:08:55 -0000
@@ -281,9 +281,13 @@
        if (dbis->debug >= 1) { PerlIO_printf(DBILOGFP, "dbd_db_ping\n"); 
}
        
        if (NULL != imp_dbh->conn) {
+               PerlIO_printf(DBILOGFP, "before PQexec\n");
                result = PQexec(imp_dbh->conn, " ");
+               PerlIO_printf(DBILOGFP, "result: %i\n", result);
                status = result ? PQresultStatus(result) : -1;
+               PerlIO_printf(DBILOGFP, "status: %i\n", status);
                PQclear(result);
+               PerlIO_printf(DBILOGFP, "PQclear\n");
                
                if (PGRES_EMPTY_QUERY != status) {
                        return 0;


Rudy

Reply via email to