Vlad Khorsun added a comment - 10/Jun/08 06:07 AM Test case :
create or alter procedure sp1 returns (x int)
as
begin
suspend;
end
create or alter procedure sp2
as
declare x int;
begin
select x from sp1 into :x;
end
create or alter procedure sp3
as
begin
execute procedure sp2;
end
commit
-- this is wrong but engine still didn't track procedure's fields dependencies
create or alter procedure sp1
as
begin
exit;
end
commit
-- disconnect and connect again
create or alter procedure sp3
as
begin
execute procedure sp2;
end
commit
Vlad Khorsun added a comment - 10/Jun/08 06:10 AM FB 2.1 on ODS 11.1 and higher raised error on commit :
Invalid token.
invalid request BLR at offset 32.
Procedure SP1 is not selectable (it does not contain a SUSPEND statement).
but on older ODS it crashes
create or alter procedure sp1 returns (x int)
as
begin
suspend;
end
create or alter procedure sp2
as
declare x int;
begin
select x from sp1 into :x;
end
create or alter procedure sp3
as
begin
execute procedure sp2;
end
commit
-- this is wrong but engine still didn't track procedure's fields dependencies
create or alter procedure sp1
as
begin
exit;
end
commit
-- disconnect and connect again
create or alter procedure sp3
as
begin
execute procedure sp2;
end
commit