Tutorial: Module compat
This tutorial covers the following compat module API and its usage:
Listing options The options list is serialized in the interactive console with additional details for user convenience:
- All non-obsolete options in order new > old > default.
- Serialization returns array-like table with tables
{<option> = <value>}. - The result of compat serialization can still be indexed as a normal key-value table.
tarantool> compat = require('compat') --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: old - - option_default_old: default (old) - - option_default_new: default (new) ...
Listing options details current – the state of the option. default – the default state of the option. brief – text options description with a link to more detailed description.
tarantool> compat.option_default_new --- - current: old default: new brief: <...> ...
Changing option value You can do it directly, or by passing a table with option-value. Possible values to assign are ‘new’ , ‘old’, and ‘default’.
tarantool> compat.json_escape_forward_slash = 'old' --- ... tarantool> compat{json_escape_forward_slash = 'new', option_2 = 'default'} --- ...
Restoring defaults By setting ‘default’ value to an option:
tarantool> compat.option_2 = 'default' --- ... tarantool> compat.option_2 --- - current: default - default: new - brief: <...> ...
Getting compat setup with compat.dump() tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ...
Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Listing options
The options list is serialized in the interactive console with additional details for user convenience:
- All non-obsolete options in order new > old > default.
- Serialization returns array-like table with tables
{<option> = <value>}. - The result of compat serialization can still be indexed as a normal key-value table.
tarantool> compat = require('compat') --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: old - - option_default_old: default (old) - - option_default_new: default (new) ... Listing options details current – the state of the option. default – the default state of the option. brief – text options description with a link to more detailed description.
tarantool> compat.option_default_new --- - current: old default: new brief: <...> ...
Changing option value You can do it directly, or by passing a table with option-value. Possible values to assign are ‘new’ , ‘old’, and ‘default’.
tarantool> compat.json_escape_forward_slash = 'old' --- ... tarantool> compat{json_escape_forward_slash = 'new', option_2 = 'default'} --- ...
Restoring defaults By setting ‘default’ value to an option:
tarantool> compat.option_2 = 'default' --- ... tarantool> compat.option_2 --- - current: default - default: new - brief: <...> ...
Getting compat setup with compat.dump() tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ...
Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Listing options details
current– the state of the option.default– the default state of the option.brief– text options description with a link to more detailed description.
tarantool> compat.option_default_new --- - current: old default: new brief: <...> ... Changing option value You can do it directly, or by passing a table with option-value. Possible values to assign are ‘new’ , ‘old’, and ‘default’.
tarantool> compat.json_escape_forward_slash = 'old' --- ... tarantool> compat{json_escape_forward_slash = 'new', option_2 = 'default'} --- ...
Restoring defaults By setting ‘default’ value to an option:
tarantool> compat.option_2 = 'default' --- ... tarantool> compat.option_2 --- - current: default - default: new - brief: <...> ...
Getting compat setup with compat.dump() tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ...
Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Changing option value
You can do it directly, or by passing a table with option-value. Possible values to assign are ‘new’ , ‘old’, and ‘default’.
tarantool> compat.json_escape_forward_slash = 'old' --- ... tarantool> compat{json_escape_forward_slash = 'new', option_2 = 'default'} --- ... Restoring defaults By setting ‘default’ value to an option:
tarantool> compat.option_2 = 'default' --- ... tarantool> compat.option_2 --- - current: default - default: new - brief: <...> ...
Getting compat setup with compat.dump() tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ...
Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Restoring defaults
By setting ‘default’ value to an option:
tarantool> compat.option_2 = 'default' --- ... tarantool> compat.option_2 --- - current: default - default: new - brief: <...> ... Getting compat setup with compat.dump() tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ...
Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Getting compat setup with compat.dump()
tarantool> compat({ > obsolete_set_explicitly = 'new', > option_set_old = 'old', > option_set_new = 'new' > }) --- ... tarantool> compat --- - - option_set_old: old - - option_set_new: new - - option_default_old: default (old) - - option_default_new: default (new) ... # Obsolete options are not returned in serialization, but have the following values: # - obsolete_option_default: default (new) # - obsolete_set_explicitly: new # nil does output obsolete unset options as 'default' tarantool> compat.dump() --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'current' is the same as nil with default set to current values tarantool> compat.dump('current') --- - require('compat')({ option_set_old = 'old', option_set_new = 'new', option_default_old = 'old', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'new' outputs obsolete as 'new'. tarantool> compat.dump('new') --- - require('compat')({ option_set_old = 'new', option_set_new = 'new', option_default_old = 'new', option_default_new = 'new', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'old' outputs obsolete options as 'new'. tarantool> compat.dump('old') --- - require('compat')({ option_set_old = 'old', option_set_new = 'old', option_default_old = 'old', option_default_new = 'old', obsolete_option_default = 'new', -- obsolete since X.Y obsolete_set_explicitly = 'new', -- obsolete since X.Y }) ... # 'default' does output obsolete options as default. tarantool> dump('default') --- - require('compat')({ option_set_old = 'default', option_set_new = 'default', option_default_old = 'default', option_default_new = 'default', obsolete_option_default = 'default', -- obsoleted since X.Y obsolete_set_explicitly = 'default', -- obsoleted since X.Y }) ... Setting all options to a specific value with compat.dump() - use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...
Setting all options to a specific value with compat.dump()
- use compat.dump() to get a specific configuration
- copy and paste it into console (or use loadstring())
tarantool> compat.dump('new') --- - require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) ... tarantool> require('compat')({ option_2 = 'new', json_escape_forward_slash = 'new', }) --- ... tarantool> compat --- - - json_escape_forward_slash: new - - option_2: new ...