New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Bugcheck 291 (cannot find record back version) if GTT is modified concurrently using at least one read-committed read-only transaction [CORE3924] #4259
Comments
Modified by: @dyemanovdescription: It cannot be reproduced in ISQL as it requires two transactions per connection. Obviously, only connection-level GTTs (ON COMMIT PRESERVE ROWS) are affected. create table t (col int) on commit preserve rows; -- txn1 (read committed, read only): - txn2 (snapshot): An update conflict error is expected instead. => It cannot be reproduced in ISQL as it requires two transactions per connection. Obviously, only connection-level GTTs (ON COMMIT PRESERVE ROWS) are affected. create global temporary table t (col int) on commit preserve rows; -- txn1 (read committed, read only): - txn2 (snapshot): An update conflict error is expected instead. |
Modified by: @dyemanovassignee: Dmitry Yemanov [ dimitr ] |
Modified by: @dyemanovstatus: Open [ 1 ] => In Progress [ 3 ] |
Modified by: @dyemanovstatus: In Progress [ 3 ] => Open [ 1 ] |
Modified by: @dyemanovstatus: Open [ 1 ] => Resolved [ 5 ] resolution: Fixed [ 1 ] Fix Version: 3.0 Alpha 1 [ 10331 ] Fix Version: 2.5.3 [ 10461 ] |
Commented by: @pavel-zotov > It cannot be reproduced in ISQL as it requires two transactions per connection. Dmitry, it can be reproduced in ISQL very easy. set echo on; |
Modified by: @pavel-zotovstatus: Resolved [ 5 ] => Closed [ 6 ] |
Submitted by: @dyemanov
Is related to CORE3399
Is duplicated by CORE3959
Is related to QA522
It cannot be reproduced in ISQL as it requires two transactions per connection. Obviously, only connection-level GTTs (ON COMMIT PRESERVE ROWS) are affected.
create global temporary table t (col int) on commit preserve rows;
insert into t (col) values (0);
commit;
-- txn1 (read committed, read only):
update t set col = 1;
-- no commit here
- txn2 (snapshot):
delete from t;
-- BUGCHECK 291: cannot find record back version
An update conflict error is expected instead.
Commits: 594bae4 f64a328 FirebirdSQL/fbt-repository@323b836
The text was updated successfully, but these errors were encountered: