16.2. Видимость #
Правила видимости действуют так же, как и с независимыми транзакциями, выполняемыми через dblink
. Автономные транзакции не видят эффекта действия родительской транзакции, как ещё не зафиксированной. Родительская транзакция может видеть эффект действия вложенных в неё автономных транзакций в зависимости от её уровня изоляции. Например, родительская транзакция с уровнем изоляции Read Committed будет видеть все изменения, вносимые автономными транзакциями. Однако если для родительской транзакции выбран уровень Repeatable Read, результат действия автономных транзакций не будет виден.
Автономные транзакции могут порождать взаимоблокировки в одном сеансе, так как автономная транзакция может конфликтовать с любой из приостановленных транзакций в том же сеансе. Если автономная транзакция попытается получить какой-либо ресурс, заблокированный родительской транзакцией, возникнет взаимоблокировка.