РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
28 of 711 menu

Метод get_isolation_level

Метод get_isolation_level класса Connection возвращает текущий уровень изоляции транзакций для данного соединения. Метод не принимает параметров и возвращает строку с названием уровня изоляции, например SERIALIZABLE, REPEATABLE READ, READ COMMITTED или READ UNCOMMITTED. Значение берется напрямую из драйвера базы данных.

Уровень изоляции определяет, как параллельные транзакции взаимодействуют друг с другом: какие аномалии чтения допускаются, а какие блокируются. Метод полезен при диагностике и проверке текущих настроек соединения.

Синтаксис

Connection.get_isolation_level()

Пример

Давайте создадим соединение с базой SQLite в памяти и получим текущий уровень изоляции:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: level = conn.get_isolation_level() print(level)

Результат выполнения кода:

"SERIALIZABLE"

Пример

Давайте выведем уровень изоляции вместе с информацией о диалекте соединения:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: level = conn.get_isolation_level() dialect = conn.dialect.name print(f"dialect: {dialect}, isolation: {level}")

Результат выполнения кода:

"dialect: sqlite, isolation: SERIALIZABLE"

Пример

Давайте проверим уровень изоляции после выполнения запроса в транзакции:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') with engine.connect() as conn: conn.execute(text('SELECT 1')) level = conn.get_isolation_level() print(level)

Результат выполнения кода:

"SERIALIZABLE"

Смотрите также

  • класс Connection,
    который представляет соединение с базой данных
  • метод execution_options,
    который задает параметры выполнения запросов
  • метод begin,
    который открывает транзакцию
  • атрибут dialect,
    который хранит диалект соединения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить