diff --git a/src/interfaces/jdbc/org/postgresql/Connection.java b/src/interfaces/jdbc/org/postgresql/Connection.java index 4bdf684a60815f63404f71231e0657e4a1815e55..af507303ddf2144139d54a20e324928380352cf1 100644 --- a/src/interfaces/jdbc/org/postgresql/Connection.java +++ b/src/interfaces/jdbc/org/postgresql/Connection.java @@ -11,7 +11,7 @@ import org.postgresql.util.*; import org.postgresql.core.*; /* - * $Id: Connection.java,v 1.41 2002/02/26 02:15:54 davec Exp $ + * $Id: Connection.java,v 1.42 2002/03/05 18:00:36 davec Exp $ * * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or * JDBC2 versions of the Connection class. @@ -315,16 +315,6 @@ public abstract class Connection switch (beresp) { case 'Z': - - try - { - pg_stream.SendChar('Q'); - pg_stream.SendChar(' '); - pg_stream.SendChar(0); - pg_stream.flush(); - } catch (IOException e) { - throw new PSQLException("postgresql.con.ioerror",e); - } break; case 'E': case 'N': diff --git a/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java b/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java index aad95f1e4b7fc1f6a4848911310d5ef04cbf93d9..4bac6413db4b1839f87fa233c74ae4d8e53b9326 100644 --- a/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java +++ b/src/interfaces/jdbc/org/postgresql/core/QueryExecutor.java @@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException; * <p>The lifetime of a QueryExecutor object is from sending the query * until the response has been received from the backend. * - * $Id: QueryExecutor.java,v 1.6 2001/11/25 23:26:56 barry Exp $ + * $Id: QueryExecutor.java,v 1.7 2002/03/05 18:01:27 davec Exp $ */ public class QueryExecutor @@ -57,6 +57,7 @@ public class QueryExecutor int fqp = 0; boolean hfr = false; + int lastMessage = 0; synchronized (pg_stream) { @@ -112,11 +113,26 @@ public class QueryExecutor receiveFields(); break; case 'Z': // backend ready for query, ignore for now :-) + if ( lastMessage == 'Z' ) + { + try + { + pg_stream.SendChar('Q'); + pg_stream.SendChar(' '); + pg_stream.SendChar(0); + pg_stream.flush(); + } catch (IOException e) { + throw new PSQLException("postgresql.con.ioerror",e); + } + fqp++; + } + break; default: throw new PSQLException("postgresql.con.type", new Character((char) c)); } + lastMessage = c; } return connection.getResultSet(connection, statement, fields, tuples, status, update_count, insert_oid, binaryCursor); }