You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
recreate table tb(id int, b1 blob);
commit;
insert into tb(id) values(1);
insert into tb(id) values(2);
insert into tb(id) values(3);
commit;
set term ^;
execute block as
declare v_stt varchar(255);
declare v_blob_a blob = 'qwertyuioplkjhgfdsazxcvbnm';
declare v_blob_b blob = '1234567890asdfghjklmnbvcxz';
begin
--v_stt = 'update tb set b1 = case when id in (1,2) then ? else ? end';
v_stt = 'update tb set b1 = case when id in (1,2) then cast(? as blob) else cast(? as blob) end';
execute statement ( v_stt ) ( v_blob_a, v_blob_b );
end
^
set term ;^
Output (both in 2.5 and 3.0):
Statement failed, SQLSTATE = 42000
invalid BLOB ID
summary: Invalid BLOB ID message in parametrized ES when substitute arguments of BLOB type => EXECUTE STATEMENT using BLOB parameters results in "Invalid BLOB ID" error
Submitted by: @pavel-zotov
recreate table tb(id int, b1 blob);
commit;
insert into tb(id) values(1);
insert into tb(id) values(2);
insert into tb(id) values(3);
commit;
set term ^;
execute block as
declare v_stt varchar(255);
declare v_blob_a blob = 'qwertyuioplkjhgfdsazxcvbnm';
declare v_blob_b blob = '1234567890asdfghjklmnbvcxz';
begin
--v_stt = 'update tb set b1 = case when id in (1,2) then ? else ? end';
v_stt = 'update tb set b1 = case when id in (1,2) then cast(? as blob) else cast(? as blob) end';
execute statement ( v_stt ) ( v_blob_a, v_blob_b );
end
^
set term ;^
Output (both in 2.5 and 3.0):
Statement failed, SQLSTATE = 42000
invalid BLOB ID
Commits: 82a6d00 1fdf364 FirebirdSQL/fbt-repository@297e8e0 FirebirdSQL/fbt-repository@219a34f
The text was updated successfully, but these errors were encountered: