Description
Submitted by: prenosil (prenosil)
In Firebird 2.x, when I do UPDATE in
"SET TRANSACTION READ COMMITTED RECORD_VERSION WAIT LOCK TIMEOUT 10"
transaction and the record is locked, I can get two different errors depending on situation:
1) if the time run out:
Statement failed, SQLSTATE = 40001
[335544510] lock time-out on wait transaction
[335544336] -deadlock
[335544451] -update conflicts with concurrent update
[335544878] -concurrent transaction number is 5876
2) if the concurrent transaction committed:
Statement failed, SQLSTATE = 40001
[335544336] deadlock
[335544451] -update conflicts with concurrent update
[335544878] -concurrent transaction number is 5876
which helps in deciding whether to repeat the command or not.
However in Firebird 3 (v3.0.4 or latest snapshot) I always get:
Statement failed, SQLSTATE = 40001
[335544336] deadlock
[335544451] -update conflicts with concurrent update
[335544878] -concurrent transaction number is 10338
i.e. isc_lock_timeout = "lock time-out on wait transaction" is never returned.