Блокировки таблиц в Firebird
Sep. 16th, 2008 02:02 pmИзучил на собственной шкуре описанные здесь тонкости транзакций и резервирования таблиц в FB.
Специально реализовывал последовательное выполнение транзакций, резервируя в эксклюзивном режиме с ожиданием специальную таблицу, и наткнулся на то, что при этом транзакция ставят на другие прочитанные таблицы блокировку, несовместимую с обновлением этих таблиц в других сеансах. Получается что-то вроде protected_read в моей транзакции и shared_write в обновляющей.
Могу сказать, что пока это дело руками не потрогаешь и не поэкспериментируешь - статью по ссылке полностью понять невозможно.
Специально реализовывал последовательное выполнение транзакций, резервируя в эксклюзивном режиме с ожиданием специальную таблицу, и наткнулся на то, что при этом транзакция ставят на другие прочитанные таблицы блокировку, несовместимую с обновлением этих таблиц в других сеансах. Получается что-то вроде protected_read в моей транзакции и shared_write в обновляющей.
Могу сказать, что пока это дело руками не потрогаешь и не поэкспериментируешь - статью по ссылке полностью понять невозможно.