mirror of
https://github.com/postgres/postgres.git
synced 2025-06-16 06:01:02 +03:00
fixed cancel query bug introduced by patch
This commit is contained in:
@ -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
|
|||||||
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;
|
|||||||
* <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
|
|||||||
|
|
||||||
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
|
|||||||
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);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user