MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / clear_stmt_que

Function clear_stmt_que

src/remote/client/interface.cpp:8073–8098  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8071
8072
8073static void clear_stmt_que(rem_port* port, Rsr* statement)
8074{
8075/**************************************
8076 *
8077 * c l e a r _ s t m t _ q u e
8078 *
8079 **************************************
8080 *
8081 * Functional description
8082 *
8083 * Receive and handle all queued packets for a completely fetched statement.
8084 * There must be no more than one such packet.
8085 *
8086 **************************************/
8087 fb_assert(statement->rsr_batch_count <= 1);
8088
8089 while (statement->rsr_batch_count)
8090 receive_queued_packet(port, statement->rsr_id);
8091
8092 // hvlad: clear isc_req_sync error as it is received because of our batch
8093 // fetching code, not because of wrong client application.
8094 // dimitr: modern engine versions do not pass isc_req_sync to the client,
8095 // but it's possible if we're connected to the older one.
8096 if (statement->haveException() == isc_req_sync)
8097 statement->clearException();
8098}
8099
8100static void batch_dsql_fetch(rem_port* port,
8101 rmtque* que_inst,

Callers 2

fetchMethod · 0.85
batch_dsql_fetchFunction · 0.85

Calls 3

receive_queued_packetFunction · 0.85
haveExceptionMethod · 0.80
clearExceptionMethod · 0.45

Tested by

no test coverage detected