Режим WAIT
В режиме WAIT
(режим по умолчанию) при появлении конфликта с параллельными транзакциями, выполняющими конкурирующие обновления данных в той же базе данных, такая транзакция будет ожидать завершения конкурирующей транзакции путём её подтверждения (COMMIT
) или отката (ROLLBACK
). Иными словами, клиентское приложение будет переведено в режим ожидания до момента разрешения конфликта.
Если для режима WAIT
задать предложение LOCK TIMEOUT
, то ожидание будет продолжаться только указанное в этом предложении количество секунд.По истечении этого срока будет выдано сообщение об ошибке: “Lock time-out on wait transaction” (Истечение времени ожидания блокировки для транзакции WAIT
).
Этот режим даёт несколько отличные формы поведения в зависимости от уровня изоляции транзакций.
В Firebird API режиму WAIT
соответствует константа isc_tpb_wait
.