8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-24 02:43:03 +01:00

Fixed bug CORE-1372 : isc_dsql_fetch called after isc_commit_transaction not raised error

This commit is contained in:
hvlad 2007-07-20 12:40:12 +00:00
parent fef5dcb5a2
commit 77f2bf6dd5

View File

@ -6434,15 +6434,22 @@ static bool receive_packet_noqueue(rem_port* port,
if (bCheckResponse)
{
RSR statement = (RSR) port->port_objects[stmt_id];
CHECK_HANDLE(statement, type_rsr, isc_bad_req_handle);
if (!check_response(rdb, &p->packet))
{
// save error within the corresponding statement
RSR statement = (RSR) port->port_objects[stmt_id];
CHECK_HANDLE(statement, type_rsr, isc_bad_req_handle);
stmt_save_exception(statement,
p->packet.p_resp.p_resp_status_vector, false);
}
else
{
// assign statement to transaction
const OBJCT tran_id = p->packet.p_sqldata.p_sqldata_transaction;
RTR transaction = (RTR) port->port_objects[tran_id];
statement->rsr_rtr = transaction;
}
}
REMOTE_free_packet(port, &p->packet);
port->port_deferred_packets->remove(p);