2008-09-16

metaclass: (Default)
2008-09-16 02:02 pm

Блокировки таблиц в Firebird

Изучил на собственной шкуре описанные здесь тонкости транзакций и резервирования таблиц в FB.
Специально реализовывал последовательное выполнение транзакций, резервируя в эксклюзивном режиме с ожиданием специальную таблицу, и наткнулся на то, что при этом транзакция ставят на другие прочитанные таблицы блокировку, несовместимую с обновлением этих таблиц в других сеансах. Получается что-то вроде protected_read в моей транзакции и shared_write в обновляющей.

Могу сказать, что пока это дело руками не потрогаешь и не поэкспериментируешь - статью по ссылке полностью понять невозможно.