Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

session_settings

session_settings

Временное системное пространство с настройками, влияющими на поведение, в частности на поведение SQL, для текущего сеанса. Оно использует специальный движок с именем 'service'. Каждый кортеж 'service' создается на лету, то есть новые кортежи формируются при каждом обращении к _session_settings. Каждый кортеж настроек содержит два поля: name (первичный ключ) и value. Имена и значения по умолчанию для кортежей:

  • sql_default_engine: движок хранения по умолчанию для новых SQL-таблиц. Значение по умолчанию: memtx.
  • sql_full_column_names: использовать полные имена колонок в метаданных результирующего набора SQL. Значение по умолчанию: false.
  • sql_full_metadata: определяет, включают ли метаданные результирующего набора SQL больше, чем только имя и тип. Значение по умолчанию: false.
  • sql_parser_debug: показывать шаги парсера для последующих операторов. Значение по умолчанию: false.
  • sql_recursive_triggers: определяет, может ли вызванный оператор активировать триггер. Значение по умолчанию: true.
  • sql_reverse_unordered_selects: возвращать строки результата в обратном порядке, если отсутствует предложение ORDER BY. Значение по умолчанию: false.
  • sql_select_debug: показывать шаги выполнения во время SELECT. Значение по умолчанию: false.
  • sql_seq_scan: разрешить последовательное сканирование в SQL SELECT. Значение по умолчанию: true.
  • sql_vdbe_debug: для внутреннего использования. Значение по умолчанию: false.
  • sql_defer_foreign_keys (удален в 2.11.0): определяет, могут ли проверки внешних ключей быть отложены до коммита. Значение по умолчанию: false.
  • error_marshaling_enabled (удален в 2.10.0): определяет, имеют ли объекты ошибок специальную структуру. Значение по умолчанию: false.

Возможны три запроса: select, get и update. Например, после s = box.space._session_settings вызов s:select('sql_default_engine') вероятно вернет {'sql_default_engine', 'memtx'}, а s:update('sql_default_engine', {{'=', 'value', 'vinyl'}}) изменит движок по умолчанию на 'vinyl'.
Изменение значений sql_parser_debug, sql_select_debug или sql_vdbe_debug не дает эффекта, если только Tarantool не собран с параметром -DCMAKE_BUILD_TYPE=Debug. Чтобы проверить это, посмотрите значение require('tarantool').build.target.