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 is a temporary system space with a list of settings that may affect behavior, particularly SQL behavior, for the current session. It uses a special engine named „service“. Every „service“ tuple is created on the fly, that is, new tuples are made every time _session_settings is accessed. Every settings tuple has two fields: name (the primary key) and value. The tuples“ names and default values are:
error_marshaling_enabled: whether error objects have a special structure. Default = false.
sql_default_engine: default storage engine for new SQL tables. Default = „memtx“.
sql_defer_foreign_keys: whether foreign-key checks can wait till commit. Default = false.
sql_full_column_names: no effect at this time. Default = false.
sql_full_metadata: whether SQL result set metadata will have more than just name and type. Default = false.
sql_parser_debug: whether to show parser steps for following statements. Default = false.
sql_recursive_triggers: whether a triggered statement can activate a trigger. Default = true.
sql_reverse_unordered_selects: whether result rows are usually in reverse order if there is no ORDER BY clause. Default = false.
sql_select_debug: whether to show execution steps during SELECT. Default = false.
sql_vdbe_debug: for use by Tarantool’s developers. Default = false.
Three requests are possible: select and get and update. For example, after s = box.space._session_settings, s:select('sql_default_engine') probably returns {'sql_default_engine', 'memtx'}, and s:update('sql_default_engine', {{'=', 'value', 'vinyl'}}) changes the default engine to „vinyl“.
Updating sql_parser_debug or sql_select_debug or sql_vdbe_debug has no effect unless Tarantool was built with -DCMAKE_BUILD_TYPE=Debug. To check if this is so, look at require('tarantool').build.target.