Issue Details (XML | Word | Printable)

Key: CORE-6102
Type: Bug Bug
Status: Open Open
Priority: Minor Minor
Assignee: Unassigned
Reporter: prenosil
Votes: 0
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
Firebird Core

Missing error code isc_lock_timeout in WAIT LOCK TIMEOUT transaction

Created: 16/Jul/19 12:33 PM   Updated: 16/Jul/19 12:33 PM
Component/s: Engine
Affects Version/s: 3.0.3, 3.0.4
Fix Version/s: None

QA Status: No test


 Description  « Hide
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.

 All   Comments   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
There are no comments yet on this issue.