8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-02-02 09:20:39 +01:00

Fixed wrong usage of deferred packets when current protocol doesn't supports its (XNET, for example).
Some checks reported errors
continuous-integration/drone/push Build encountered an error

This commit is contained in:
Vlad Khorsun 2023-04-28 00:56:54 +03:00
parent 3b6e1f6527
commit 82087d7670

View File

@ -3645,9 +3645,21 @@ ResultSet* Statement::openCursor(CheckStatusWrapper* status, Firebird::ITransact
sqldata->p_sqldata_timeout = statement->rsr_timeout;
sqldata->p_sqldata_cursor_flags = flags;
send_partial_packet(port, packet);
defer_packet(port, packet, true);
message->msg_address = NULL;
{
Firebird::Cleanup msgClean([&message] {
message->msg_address = NULL;
});
if (statement->rsr_flags.test(Rsr::DEFER_EXECUTE))
{
send_partial_packet(port, packet);
defer_packet(port, packet, true);
}
else
{
send_and_receive(status, rdb, packet);
}
}
ResultSet* rs = FB_NEW ResultSet(this, outFormat, flags);
rs->addRef();