mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-23 21:23:03 +01:00
Fixed bug CORE-2995 : Same error in status vector reported twice
This commit is contained in:
parent
7d6d1fd336
commit
cd5fcdd279
@ -1936,7 +1936,6 @@ ISC_STATUS GDS_DSQL_FETCH(ISC_STATUS* user_status,
|
||||
|
||||
if (statement->rsr_flags.test(Rsr::STREAM_ERR))
|
||||
{
|
||||
|
||||
// The previous batch of receives ended with an error status.
|
||||
// We're all done returning data in the local queue.
|
||||
// Return that error status vector to the user.
|
||||
@ -1947,14 +1946,7 @@ ISC_STATUS GDS_DSQL_FETCH(ISC_STATUS* user_status,
|
||||
|
||||
// hvlad: prevent subsequent fetches
|
||||
statement->rsr_flags.set(Rsr::EOF_SET | Rsr::PAST_EOF);
|
||||
|
||||
if (statement->rsr_status)
|
||||
{
|
||||
memcpy(user_status, statement->rsr_status->value(), sizeof(ISC_STATUS_ARRAY));
|
||||
// don't clear rsr_status as it hold strings
|
||||
}
|
||||
|
||||
return user_status[1];
|
||||
statement->raiseException();
|
||||
}
|
||||
}
|
||||
statement->rsr_msgs_waiting--;
|
||||
@ -2022,6 +2014,9 @@ ISC_STATUS GDS_DSQL_FREE(ISC_STATUS* user_status, Rsr** stmt_handle, USHORT opti
|
||||
return unsupported(user_status);
|
||||
}
|
||||
|
||||
fb_assert(statement->haveException() == 0);
|
||||
statement->clearException();
|
||||
|
||||
if (statement->rsr_flags.test(Rsr::LAZY))
|
||||
{
|
||||
if (option == DSQL_drop)
|
||||
|
Loading…
Reference in New Issue
Block a user