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
It is impossible to OVERWRITE any of previously assigned context variable if the number of them reaches the hard-coded limit (1000).
The following code will finished Ok only for the FIRST run. The error "Too many context variables" will occur if we run it second time - even if the limit will be decreased:
execute block returns(was_overwritten int, ctx_key varchar(30), ctx_val varchar(30))
as
declare variable k int;
begin
k = 0;
while (k < 1000) do
begin
ctx_key = 'var_' || k;
was\_overwritten=rdb$set\_context\('USER\_SESSION', :ctx\_key, rand\(\)\);
ctx\_val = rdb$get\_context\('USER\_SESSION', :ctx\_key\);
suspend;
k = k \+ 1;
Submitted by: @pavel-zotov
Is related to QA278
It is impossible to OVERWRITE any of previously assigned context variable if the number of them reaches the hard-coded limit (1000).
The following code will finished Ok only for the FIRST run. The error "Too many context variables" will occur if we run it second time - even if the limit will be decreased:
execute block returns(was_overwritten int, ctx_key varchar(30), ctx_val varchar(30))
as
declare variable k int;
begin
k = 0;
while (k < 1000) do
begin
ctx_key = 'var_' || k;
end
end
Commits: c07eebd FirebirdSQL/fbt-repository@2488814
The text was updated successfully, but these errors were encountered: