Skip to content

Commit

Permalink
Fixed bug #8056 : "Too many temporary blobs" with blob_append when se…
Browse files Browse the repository at this point in the history
…lect a stored procedue using rows-clause
  • Loading branch information
hvlad committed Mar 22, 2024
1 parent 849ecbd commit 906e270
Showing 1 changed file with 4 additions and 3 deletions.
7 changes: 4 additions & 3 deletions src/jrd/exe.cpp
Expand Up @@ -646,7 +646,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)
{
Expand All @@ -660,7 +660,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();
Expand All @@ -673,7 +674,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);
}
Expand Down

0 comments on commit 906e270

Please sign in to comment.