The TFDConnection seems to have no setting for the LOCK TIMEOUT when using
TFDConnection.UpdateOptions.LockMode := lmPessimistic;
TFDConnection.UpdateOptions.LockWait := true;
A TFDTransaction
also does not seem to have properties for it.
The Firebird SET TRANSACTION documentation suggests that you can set LOCK TIMEOUT.
Is there something I'm overlooking for setting the timeout property, or do I have to resort to executing a SET TRANSACTION LOCK TIMEOUT
after the opening the connection?
If I dig around in the FireDAC.Phys.IB*.pas files I see references to isc_tpb_lock_timeout
but no way to use them?
This can be defined through the IBAdvanced parameter (see Connect to Interbase (FireDAC)):
This is the section in
FireDAC.Phys.IBWrapper
that defines them*:So, for e.g. a 5 second timeout:
* Note that the documentation states that they are in DPBInfos, but they are in TRPBInfos.