Skip to content
Snippets Groups Projects
Commit da560a1f authored by Gleb Kashkin's avatar Gleb Kashkin Committed by Igor Munkin
Browse files

lua: introduce Tarantool compatibility module

As a followup to #6200 and a result of #6912, Tarantool compatibility
module was implemented to simplify introduction of debatable behavior
changes.

Closes #7000
Needed for #6200
See also #6912

@TarantoolBot document
Title: Tarantool compatibility module

Compat module is basically a global options table with additional
verbose interface and helper functions. There are tree stages of
changing a behavior:
 - old behavior by default
 - new behavior by default
 - new behavior is frozen and the old behavior is removed

on first two stages user can toggle options via interface and change the
behavior according to his needs, on the last stage old behavior is
removed from codebase and option is marked as obsolete.
As compat is a global instance, options can be hardcoded into it or
added in runtime e.g. by external module.

There should be a link to tarantool.wiki/compat on the doc page. There
are pages for each existing option with detailed description, list of
known compatibility issues and some tips on detecting problems in codebase.

Tutorial can be found here:
https://github.com/tarantool/tarantool/wiki/compat%3Atutorial

Full API description is here (private):
https://www.notion.so/tarantool/tarantool-compat-introduce-compatibility-module-to-tarantool-8cb33e23932b490384c05f1cdfbf7baa
parent 30427c06
No related branches found
No related tags found
No related merge requests found
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment