Уровень изолированности SNAPSHOT TABLE STABILITY
Уровень изоляции транзакции SNAPSHOT TABLE STABILITY
позволяет, как и в случае SNAPSHOT
, также видеть только те изменения, фиксация которых произошла не позднее момента старта этой транзакции.При этом после старта такой транзакции в других клиентских транзакциях невозможно выполнение изменений ни в каких таблицах этой базы данных, уже каким-либо образом изменённых первой транзакцией.Все такие попытки в параллельных транзакциях приведут к исключениям базы данных.Просматривать любые данные другие транзакции могут совершенно свободно.
При помощи предложения резервирования RESERVING
можно разрешить другим транзакциям изменять данные в некоторых таблицах.
Если на момент старта клиентом транзакции с уровнем изоляции SNAPSHOT TABLE STABILITY
какая-нибудь другая транзакция выполнила неподтверждённое изменение данных любой таблицы базы данных, то запуск транзакции с таким уровнем изоляции приведёт к ошибке базы данных.
В Firebird API режиму изолированности SNAPSHOT TABLE STABILITY
соответствует константа isc_tpb_consistency
.