box.space._session_settings
A temporary system space with settings that 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:
sql_default_engine: default storage engine for new SQL tables. Default:memtx.sql_full_column_names: use full column names in SQL result set metadata. Default:false.sql_full_metadata: whether SQL result set metadata includes more than just name and type. Default:false.sql_parser_debug: 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: return result rows in reverse order if there is no ORDER BY clause. Default:false.sql_select_debug: show execution steps during SELECT. Default:false.sql_seq_scan: allow sequential scans in SQL SELECT. Default:true.sql_vdbe_debug: for internal use. Default:false.sql_defer_foreign_keys(removed in 2.11.0): whether foreign-key checks can wait till commit. Default:false.error_marshaling_enabled(removed in 2.10.0): whether error objects have a special structure. Default:false.
Three requests are possible:
select,
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.