From: Timur Safin <tsafin@tarantool.org>
To: v.shpilevoy@tarantool.org, alexander.turenko@tarantool.org
Cc: tarantool-patches@dev.tarantool.org
Subject: [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module
Date: Wed, 14 Oct 2020 02:01:08 +0300 [thread overview]
Message-ID: <cover.1602629628.git.tsafin@tarantool.org> (raw)
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
next reply other threads:[~2020-10-13 23:01 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-13 23:01 Timur Safin [this message]
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 1/4] module api: export box_tuple_validate Timur Safin
2020-10-15 21:38 ` Alexander Turenko
2020-10-15 21:47 ` Timur Safin
2020-10-15 22:03 ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 2/4] module api: export box_key_def_dup Timur Safin
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 3/4] module api: introduced luaT_toibuf instead of luaL_checkibuf Timur Safin
2020-10-14 3:50 ` Alexander Turenko
2020-10-15 21:07 ` Timur Safin
2020-10-15 22:04 ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers Timur Safin
2020-10-14 3:31 ` Alexander Turenko
2020-10-15 21:35 ` Timur Safin
2020-10-15 21:42 ` Alexander Turenko
2020-10-15 21:44 ` Timur Safin
2020-10-15 21:52 ` Alexander Turenko
2020-10-15 22:07 ` Vladislav Shpilevoy
2020-10-15 22:20 ` Alexander Turenko
2020-10-15 22:27 ` Timur Safin
2020-10-15 22:47 ` Alexander Turenko
2020-10-15 22:37 ` Alexander Turenko
2020-10-15 22:48 ` Alexander Turenko
2020-10-15 22:39 ` [Tarantool-patches] [PATCH 2.X v4.1] " Timur Safin
2020-10-16 6:10 ` [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module Alexander Turenko
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=cover.1602629628.git.tsafin@tarantool.org \
--to=tsafin@tarantool.org \
--cc=alexander.turenko@tarantool.org \
--cc=tarantool-patches@dev.tarantool.org \
--cc=v.shpilevoy@tarantool.org \
--subject='Re: [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module' \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox