Firebird поддерживает следующие уровни изоляции транзакции:
1 Завершенное чтение(read committed), значение по умолчанию),
3 Последовательное преобразование(serializable)
4 Установка версий(versioning).
Firebird осуществляет блокировку уровня строки во всех случаях.
Firebird выполняет оптимистическую блокировку. Ваша транзакция не пытается блокировать запись, пока Вы не выдаете операцию модификации, которая воздействует на ту запись. Это означает, что это возможно, хотя редко, для вашей модификации, чтобы терпеть неудачу, потому что другой клиент блокировал запись, даже если Вы начали вашу транзакцию раньше чем другой клиент.
Firebird использует уникальный версионный двигатель, чтобы достигнуть степени детализации более тонко чем обеспечение традиционной блокировкой уровня строки. Версионный двигатель позволяет любому числу клиентуры читать непротиворечивую копию любой данной записи, даже если в то же самое время другой клиент модифицирует ту же самую строку. Читающие и пишущие одну и туже запись никогда не блокируют друг друга.
Также предусмотрена поддержка "two phase commit transactions". Эта
возможность позволяет максимально на 16 разных Firebird базах данных выполнять
commit(совершать) транзакции. Например, используя инструкцию
Вы сообщаете Firebird ODBC, что это соединение должно участвовать в схеме "two phase commit transactions". Подключив этой командой несколько соединений и выполняя на любом соединении Commit или Rollback, Вы получите схему "two phase commit transactions". Для исключения соединения из схемы используйте инструкцию:
Для более подробного ознакомления с этими и другими возможностями пожалуйста, рассмотрите примеры.