mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 21:23:04 +01:00
Fixed bug #8056 : "Too many temporary blobs" with blob_append when select a stored procedue using rows-clause
This commit is contained in:
parent
bd00da8262
commit
c353de4e0d
@ -677,7 +677,7 @@ void EXE_receive(thread_db* tdbb,
|
||||
|
||||
// ASF: temporary blobs returned to the client should not be released
|
||||
// with the request, but in the transaction end.
|
||||
if (top_level)
|
||||
if (top_level || transaction->tra_temp_blobs_count)
|
||||
{
|
||||
for (int i = 0; i < format->fmt_count; ++i)
|
||||
{
|
||||
@ -691,7 +691,8 @@ void EXE_receive(thread_db* tdbb,
|
||||
{
|
||||
BlobIndex* current = &transaction->tra_blobs->current();
|
||||
|
||||
if (current->bli_request &&
|
||||
if (top_level &&
|
||||
current->bli_request &&
|
||||
current->bli_request->req_blobs.locate(id->bid_temp_id()))
|
||||
{
|
||||
current->bli_request->req_blobs.fastRemove();
|
||||
@ -704,7 +705,7 @@ void EXE_receive(thread_db* tdbb,
|
||||
current->bli_blob_object->BLB_close(tdbb);
|
||||
}
|
||||
}
|
||||
else
|
||||
else if (top_level)
|
||||
{
|
||||
transaction->checkBlob(tdbb, id, NULL, false);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user