Skip to content

"Too many temporary blobs" with blob_append when selecting a stored procedure with rows-clause #8056

Closed
@realcolaflasche

Description

@realcolaflasche

Hi,

This is my select that works in Firebird 4.0.4 and Firebird 5:
select * from SP_COUNT(1, 18000) join SP_TEST on 1 = 1

If I use the ROWS-Clause rows 17500 to 18000 I got this error:

Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
Too many temporary blobs.
At procedure SP_TEST line: 6, col: 3.

Full Statement:
select * from SP_COUNT(1, 18000) join SP_TEST on 1 = 1 rows 17500 to 18000

This is the Source of the used stored procedures:
first, you need a possibility to generate records, i use this method:

create or alter procedure SP_COUNT (
ASTART bigint,
AEND bigint)
returns (
OVALUE bigint)
as
begin
:OValue = :AStart;

while (:OValue <= :AEND) do
begin
suspend;
:OValue = :OValue + 1;
end
end

than you need a stored procedure using Blob_append like this:

create or alter procedure SP_TEST
returns (
Memo BLOB SUB_TYPE 1 SEGMENT SIZE 80 CHARACTER SET UTF8 COLLATE UTF8)
as
begin
:Memo = blob_append(null, '');
:Memo = blob_append(:Memo, 'Hello');
:Memo = blob_append(:Memo, ' World');

suspend;
end

Regards, Jan

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions