Виды параметров транзакции
Все параметры транзакции можно подразделить на группы, каждая из которых отвечает за определенный момент в поведении транзакций. Эти группы приведены в таблице 1.4:
Табл 1.4. Параметры транзакций
Группы параметров |
Константа |
Краткое описание константы | |||
Режим доступа |
Read |
Разрешает только операции чтения | |||
write |
Разрешает операции записи | ||||
Режим блокировки |
Wait |
Устанавливает режим отсроченного разрешения конфликтов. См. ниже раздел "Режим блокировки" | |||
nowait |
При возникновении конфликта немедленно возникает ошибка | ||||
Уровень |
read_committed rec_version |
Возможность читать подтвержденные данные других транзакций. Дополнительный параметр rec_version позволяет читать записи, имеющие неподтвержденные версии | |||
read_committed no_rec_version |
Возможность читать подтвержденные данные других транзакций. Дополнительный параметр no_rec_version не позволяет читать записи, имеющие неподтвержденные версии | ||||
concurrency |
При запуске транзакции создается мгновенный "снимок" состояния базы данных (точнее, копируется "маска транзакций" на этот момент), поэтому изменения, сделанные в других транзакциях, не видны в этой транзакции | ||||
consistency |
Аналогичен уровню concurrency, но помимо этого блокирует таблицу на запись. См. ниже |
Обилие параметров впечатляет, ведь их сочетания должны покрывать все возможные нужды разработчиков приложений баз данных. Однако обычно используется лишь небольшой набор параметров для определения необходимых видов транзакций. Давайте подробно рассмотрим каждую группу параметров транзакций.