Commit ff2f9b66 authored by Dave Cramer's avatar Dave Cramer

fixed cancel query bug introduced by patch

parent b7cc409f
...@@ -11,7 +11,7 @@ import org.postgresql.util.*; ...@@ -11,7 +11,7 @@ import org.postgresql.util.*;
import org.postgresql.core.*; 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 * This abstract class is used by org.postgresql.Driver to open either the JDBC1 or
* JDBC2 versions of the Connection class. * JDBC2 versions of the Connection class.
...@@ -315,16 +315,6 @@ public abstract class Connection ...@@ -315,16 +315,6 @@ public abstract class Connection
switch (beresp) switch (beresp)
{ {
case 'Z': 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; break;
case 'E': case 'E':
case 'N': case 'N':
......
...@@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException; ...@@ -13,7 +13,7 @@ import org.postgresql.util.PSQLException;
* <p>The lifetime of a QueryExecutor object is from sending the query * <p>The lifetime of a QueryExecutor object is from sending the query
* until the response has been received from the backend. * 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 public class QueryExecutor
...@@ -57,6 +57,7 @@ public class QueryExecutor ...@@ -57,6 +57,7 @@ public class QueryExecutor
int fqp = 0; int fqp = 0;
boolean hfr = false; boolean hfr = false;
int lastMessage = 0;
synchronized (pg_stream) synchronized (pg_stream)
{ {
...@@ -112,11 +113,26 @@ public class QueryExecutor ...@@ -112,11 +113,26 @@ public class QueryExecutor
receiveFields(); receiveFields();
break; break;
case 'Z': // backend ready for query, ignore for now :-) 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; break;
default: default:
throw new PSQLException("postgresql.con.type", throw new PSQLException("postgresql.con.type",
new Character((char) c)); new Character((char) c));
} }
lastMessage = c;
} }
return connection.getResultSet(connection, statement, fields, tuples, status, update_count, insert_oid, binaryCursor); return connection.getResultSet(connection, statement, fields, tuples, status, update_count, insert_oid, binaryCursor);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment