Top.Mail.Ru
box.space._session_settings | Tarantool
 
Вложенный модуль box.space / box.space._session_settings
Вложенный модуль box.space / box.space._session_settings

box.space._session_settings

box.space._session_settings

box.space._session_settings

_session_settings — это временный системный спейс со списком настроек, которые во время текущего сеанса могут повлиять на поведение системы, в частности поведение SQL. Здесь используется специальный механизм под названием „service“. Каждый кортеж „service“ создается на лету, то есть при каждом обращении к _session_settings создается кортеж. В каждом кортеже с настройками есть два поля: name (первичный ключ) и value. Далее указаны имена кортежей и значения, которые используются по умолчанию:
error_marshaling_enabled: есть ли особая структура для объектов ошибок. По умолчанию стоит false.
sql_default_engine: движок базы данных, который используется по умолчанию для создания SQL-таблиц. По умолчанию используется memtx.
sql_defer_foreign_keys: откладывается ли проверка ограничений внешнего ключа до коммита. По умолчанию стоит false.
sql_full_column_names: на данный момент никакого действия нет. По умолчанию стоит 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_vdbe_debug: используется разработчиками Tarantool. По умолчанию стоит false.
Доступны 3 запроса: 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.