[Tarantool-patches] [PATCH 1.10 v4 0/5] module api: extend for external merger Lua module
Timur Safin
tsafin at tarantool.org
Wed Oct 14 03:15:39 MSK 2020
Ok we are all tired and need to sleep, but let me reiterate it once again:
The current 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;
- also we have added 1 extra backport of `luaL_iscallable`.
Enjoy!
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;
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
Alexander Turenko (1):
module api: add luaL_iscallable with support of cdata metatype
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
extra/exports | 7 ++
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/tuple.c | 8 ++
src/box/tuple.h | 11 +++
src/lua/msgpack.c | 2 +-
src/lua/utils.c | 45 +++++++++-
src/lua/utils.h | 32 +++++--
test/app-tap/module_api.c | 140 +++++++++++++++++++++++++++++++
test/app-tap/module_api.test.lua | 131 ++++++++++++++++++++++++++++-
14 files changed, 517 insertions(+), 9 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