Subject | problem with "set transaction read committed no wait no record_version" |
---|---|
Author | crizoo4712 |
Post date | 2009-10-09T10:15:57Z |
Hello to all,
I opened 2 isql sessions, connected to the same database.
first session:
- set transaction read committed no wait no record_version
- update dotnet set f1=f1 where id=10104;
second session:
- set transaction read committed no wait no record_version
- select * from dotnet
ID is the primary key of table "dotnet"
problem: second session returns all rows UNTIL the row with the pending changes of first session occurs. then it throws an error:
"Statement failed, SQLSTATE = 40001
lock conflict on no wait transaction
-deadlock"
OK, the record with id 10104 isn't already committed, but the second session should just "overread" it, shouldn't it?
AND, if there are some records with "higher" IDs, it just exists and doesn't read the following rows that do not have pending changes!?!
What is my mistake? Sorry, I'm a newbie regarding ISOLATION LEVELS!
Kind Regards, Christoph
I opened 2 isql sessions, connected to the same database.
first session:
- set transaction read committed no wait no record_version
- update dotnet set f1=f1 where id=10104;
second session:
- set transaction read committed no wait no record_version
- select * from dotnet
ID is the primary key of table "dotnet"
problem: second session returns all rows UNTIL the row with the pending changes of first session occurs. then it throws an error:
"Statement failed, SQLSTATE = 40001
lock conflict on no wait transaction
-deadlock"
OK, the record with id 10104 isn't already committed, but the second session should just "overread" it, shouldn't it?
AND, if there are some records with "higher" IDs, it just exists and doesn't read the following rows that do not have pending changes!?!
What is my mistake? Sorry, I'm a newbie regarding ISOLATION LEVELS!
Kind Regards, Christoph