[Tarantool-patches] [PATCH 1.10 v3 0/4] module api: extend for external merger Lua module
Timur Safin
tsafin at tarantool.org
Mon Oct 12 03:50:36 MSK 2020
This patchset is a 1.10 backport of a 2.X series which was in turn
continuation of patch series which Alexander Turenko has sent before.
The major difference here - is the way how we export symbols:
- in 1.10 there was no `src/exports.h` existing, and we were using
old good `extra/exports` instead.
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 those changes above we have reduced code in module_api
test files.
Changelog for v3
----------------
- Have removed all extra msgpuck symbols from extra/exports;
- 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...
Plans for v3.1
--------------
- Add ibuf wrapper, despite all controversies
it's coming soon...
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-1.10-v3
(last 4 commits above of a bunch of @Totktonada's commits)
== External merger module
Reminder - current external merger is residing here https://github.com/tsafin/tarantool-merge
CI is green again!
Alexander Turenko (1):
module api: add luaL_iscallable with support of cdata metatype
Timur Safin (3):
module api: export box_tuple_validate
module api: export box_key_def_dup
module api: luaL_checkibuf
extra/exports | 5 ++
src/box/key_def.c | 6 ++
src/box/key_def.h | 10 +++
src/box/tuple.c | 8 ++
src/box/tuple.h | 11 +++
src/lua/utils.c | 43 +++++++++++
src/lua/utils.h | 44 ++++++-----
test/app-tap/module_api.c | 35 +++++++++
test/app-tap/module_api.test.lua | 126 ++++++++++++++++++++++++++++++-
9 files changed, 269 insertions(+), 19 deletions(-)
--
2.20.1
More information about the Tarantool-patches
mailing list