[Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module
Timur Safin
tsafin at tarantool.org
Wed Oct 14 02:01:08 MSK 2020
Blah-blah-blah (see v1..v3 introductions), this version is hopefully looking
close to final. Even, all patches have been completed with reasonable tests.
Enjoy!
SashaTu, Vlad, please pay some attention!
Changelog of v2 to v1
---------------------
Please do not be surprised to not seen v2 in your inbox - it was cancelled
after discussion with Alexander Turenko (see v2.1 below with descriptions)
- Unpublished again `lauT_temp_state`, `luaT_release_temp_state` - they are
performance wrappers around creation of Lua thread states. Agreed that
performance impact not that big, thus created similar compatibility wrappers
on the module side;
- unpublished `luaT_newthread`, because for module usage `lua_newthread` is
enough;
- unpublished `luaL_register_module` & `luaL_register_type` and reworked module
code with `luaL_register`.
Smallish changelog of v2.1 to v2
--------------------------------
Alexander Turenko has provided valuable feedback to the v2 branch I've shown,
so we have yet more reduced this patchset
- Unpublished `luaL_cdata_iscallable`, it's unnecessary for external module
which is using now public `luaL_iscallable` module api call, instead
of compatibility layer in module;
- Unpublished `luaL_checkconstchar` because it's not yet needed anywhere
externally;
- Accordingly to thsoe changes above we have reduced code in module_api
test files.
Changelog for v3
----------------
- Reshuffled patchset to merge tests with their corresponding code;
I'm sending this version because it's too late already and I need to sleep...
Changelog v3.1
--------------
- Added ibuf wrapper, the simpler way (only reserve, and rpos, wpos accessors)
Changelog v4
------------
- final polishing of examples
- tests for luaT_toibuf, with ibuf consistency checks
- tests for key_def_dup
- tests for tuple_validate
Hope it's good enough for feature freeze...
Issue:
* https://github.com/tarantool/tarantool/issues/5384
('module api: expose everything that is needed for external merger module')
Branches:
* https://github.com/tarantool/tarantool/tree/tsafin/gh-5273-expand-module-api-v4
(top 4 commits above of a bunch of @Totktonada's commits)
Timur Safin (4):
module api: export box_tuple_validate
module api: export box_key_def_dup
module api: introduced luaT_toibuf instead of luaL_checkibuf
module api: box_ibuf_* wrappers
src/CMakeLists.txt | 1 +
src/box/CMakeLists.txt | 1 +
src/box/ibuf.c | 65 +++++++++++++++
src/box/ibuf.h | 67 ++++++++++++++++
src/box/key_def.c | 6 ++
src/box/key_def.h | 10 +++
src/box/lua/merger.c | 4 +-
src/box/tuple.c | 6 ++
src/box/tuple.h | 11 +++
src/exports.h | 6 ++
src/lua/msgpack.c | 2 +-
src/lua/utils.c | 2 +-
src/lua/utils.h | 16 ++--
test/app-tap/module_api.c | 131 +++++++++++++++++++++++++++++++
test/app-tap/module_api.test.lua | 50 +++++++++++-
15 files changed, 365 insertions(+), 13 deletions(-)
create mode 100644 src/box/ibuf.c
create mode 100644 src/box/ibuf.h
--
2.20.1
More information about the Tarantool-patches
mailing list