Skip to content

No initialization of rpb's runtime flags causes problems with SKIP LOCKED when config ReadConsistency = 0 and SuperServer #7486

@asfernandes

Description

@asfernandes

This relates to comments in #7350

Test case:

isql-1:

recreate table test(id int primary key, f01 int);

set term !;
create or alter procedure select_proc returns (o integer)
as
begin
    for select id from test rows 2 with lock skip locked into o do suspend;
end!
set term ;!

commit;
insert into test(id, f01) select row_number()over(), 0 from rdb$types rows 10;
commit;
update test set f01 = 1 where id in (1,5,9);
SQL> 

isql-2:

SQL> -- first time it works
SQL> rollback; set transaction read committed record_version NO wait; select * from select_proc;

SQL> -- second time it do not work
SQL> rollback; set transaction read committed record_version NO wait; select * from select_proc;
Statement failed, SQLSTATE = 40001
deadlock
-read conflicts with concurrent update
-concurrent transaction number is 107
-- Why error here ?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions