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

Метод execution_options класса Engine

Метод execution_options класса Engine возвращает новый объект движка, который имеет те же настройки подключения, что и исходный, но с дополнительными опциями выполнения. Первым параметром метод принимает словарь с опциями. Опции выполнения влияют на то, как именно будут исполняться SQL-запросы: например, включают автоматическую фиксацию транзакций или настраивают поведение диалекта. Метод не изменяет исходный движок, а создает его копию с новыми опциями.

Синтаксис

engine.execution_options(**opts)

Метод принимает произвольный набор именованных параметров, которые становятся опциями выполнения для нового движка.

Пример

Давайте создадим движок и получим его копию с опцией автоматической фиксации:

from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:') engine2 = engine.execution_options(isolation_level='AUTOCOMMIT') print(engine is engine2) print(engine2)

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

False Engine(sqlite:///:memory:)

Пример

Давайте передадим опцию stream_results, которая включает потоковую выборку результатов:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') engine_stream = engine.execution_options(stream_results=True) with engine_stream.connect() as conn: res = conn.execute(text('SELECT 1')) print(res.scalar())

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

1

Пример

Давайте посмотрим, как опции выполнения сохраняются в новом движке и применяются к соединениям:

from sqlalchemy import create_engine, text engine = create_engine('sqlite:///:memory:') engine_opts = engine.execution_options( isolation_level='AUTOCOMMIT', stream_results=True, ) with engine_opts.connect() as conn: print(conn.execution_options) res = conn.execute(text('SELECT 1')) print(res.scalar())

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

{'isolation_level': 'AUTOCOMMIT', 'stream_results': True} 1

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

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