Lock Timeout for WAIT Transactions
All Firebird versions provide two transaction wait modes: NO WAIT
and WAIT. NO WAIT mode means that lock conflicts and deadlocks are reported immediately,
while WAIT performs a blocking wait which times out only when the conflicting concurrent transaction ends by
being committed or rolled back.
The new feature extends the WAIT mode by making provision to set a finite time interval to wait for the
concurrent transactions. If the timeout has passed, an error (isc_lock_timeout) is reported.
Timeout intervals are specified per transaction, using the new TPB constant
isc_tpb_lock_timeout in the API or, in DSQL, the
LOCK TIMEOUT <value> clause of the SET TRANSACTION statement.