Log Message:
-----------
Make sure IsAlive check isn't affected by dead transactions

Modified Files:
--------------
    pgadmin3/src/db:
        pgConn.cpp (r1.62 -> r1.63)

Index: pgConn.cpp
===================================================================
RCS file: /projects/pgadmin3/src/db/pgConn.cpp,v
retrieving revision 1.62
retrieving revision 1.63
diff -Lsrc/db/pgConn.cpp -Lsrc/db/pgConn.cpp -u -w -r1.62 -r1.63
--- src/db/pgConn.cpp
+++ src/db/pgConn.cpp
@@ -429,6 +429,12 @@
 
     PGresult *qryRes = PQexec(conn, "SELECT 1;");
     lastResultStatus = PQresultStatus(qryRes);
+    if (lastResultStatus != PGRES_TUPLES_OK)
+    {
+        PQclear(qryRes);
+        qryRes = PQexec(conn, "ROLLBACK TRANSACTION; SELECT 1;");
+        lastResultStatus = PQresultStatus(qryRes);
+    }
     PQclear(qryRes);
 
     // Check for errors
---------------------------(end of broadcast)---------------------------
TIP 8: explain analyze is your friend

Reply via email to