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 0/7] RFC: module api: extend for external merger Lua module Date: Thu, 24 Sep 2020 20:00:13 +0300 [thread overview] Message-ID: <cover.1600955781.git.tsafin@tarantool.org> (raw) This patchset is a continuation of patch series which Alexander Turenko has sent earlier on. It extends module api with the necessary wrappers we should have in api to make external merger possible. Some internal functionality which was acessible to internal merger, should be wrapped via accessors if merger is becoming external. - most of introduced functions are simple public wrappers around of internal functions, e.g. `box_tuple_validate` is a wrapper around `tuple_validate_raw`, or `bax_key_def_dup` is a wrapper for `key_def_dup`. They were necessary to not reveal implementation specific details (i.e. `tuple_data` needed in `tuple_validate_raw` should know `box_tuple_t` layout); - wherever we used to use `struct tuple *` we replacing them with public alias `box_tuple_t`. Same is for `struct tuple_format` -> `box_tuple_format_t` and other typedefs. - eventually merger in Tarantool core might get deprecated and all new development for merger will continue in version agnostic external module thus we decided that common utility functions (e.g. `luaT_temp_luastate`) which used to reside in merger to better be sitting in `src/lua/utils.c` instead (in addition to becoming public as described above). NB! You could observe, that this part of changes for merger in module_api is much, much easier than those for key_def as sent by Sasha Turenko before. Issue: * https://github.com/tarantool/tarantool/issues/5273 ('module api: expose everything that is needed for external key_def module') Branches: * https://github.com/tarantool/tarantool/tree/tsafin/gh-5273-expand-module-api (top 7 commits above of 14 @Totktonada's commits) * https://github.com/tarantool/tarantool/tree/tsafin/gh-5273-expand-module-api-1.10 (last 9 commits above of 16 @Totktonada's commits) == External merger module Currently external merger is residing here https://github.com/tsafin/tarantool-merge and it uses key_def from https://github.com/Totktonada/key_def repository via simple luarocks dependency (we had to introduce debugging rock-server to make this working). CI is installed and is running on GitHub Actions, thus we know that it's sort of working together, but more extensive testing of merger and key_def yet to be proceeded. Though it might be done independently of current kernel patches. Timur Safin (7): module api: export box_tuple_validate module api: export box_key_def_dup module api: luaT_newthread module api: luaL_register_module & luaL_register_type module api: luaT_temp_luastate & luaT_release_temp_luastate module api: luaL_checkibuf & luaL_checkconstchar module api: luaL_cdata_iscallable src/box/key_def_api.c | 6 +++ src/box/key_def_api.h | 10 +++++ src/box/lua/merger.c | 78 ------------------------------------- src/box/tuple.c | 6 +++ src/box/tuple.h | 11 ++++++ src/exports.h | 10 +++++ src/lua/utils.c | 51 ++++++++++++++++++++++++- src/lua/utils.h | 89 ++++++++++++++++++++++++++++++++++++------- 8 files changed, 169 insertions(+), 92 deletions(-) -- 2.20.1
next reply other threads:[~2020-09-24 17:01 UTC|newest] Thread overview: 64+ messages / expand[flat|nested] mbox.gz Atom feed top 2020-09-24 17:00 Timur Safin [this message] 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 1/7] module api: export box_tuple_validate Timur Safin 2020-09-28 22:20 ` Vladislav Shpilevoy 2020-10-02 12:24 ` Timur Safin 2020-10-09 1:11 ` Alexander Turenko 2020-10-09 20:11 ` Vladislav Shpilevoy 2020-10-10 1:19 ` Alexander Turenko 2020-09-29 5:25 ` Alexander Turenko 2020-10-05 7:35 ` Alexander Turenko 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 2/7] module api: export box_key_def_dup Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:03 ` Alexander Turenko 2020-09-29 23:19 ` Vladislav Shpilevoy 2020-10-01 3:05 ` Alexander Turenko 2020-10-02 12:25 ` Timur Safin 2020-10-02 12:26 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 3/7] module api: luaT_newthread Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-10-02 12:27 ` Timur Safin 2020-10-02 21:48 ` Vladislav Shpilevoy 2020-09-29 6:25 ` Alexander Turenko 2020-10-02 12:26 ` Timur Safin 2020-10-02 12:53 ` Alexander Turenko 2020-09-29 15:19 ` Igor Munkin 2020-10-02 16:12 ` Timur Safin 2020-10-03 16:57 ` Igor Munkin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 4/7] module api: luaL_register_module & luaL_register_type Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:09 ` Alexander Turenko 2020-09-29 23:20 ` Vladislav Shpilevoy 2020-09-30 6:31 ` Alexander Turenko 2020-09-30 6:33 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-09-29 8:03 ` Igor Munkin 2020-09-29 23:21 ` Vladislav Shpilevoy 2020-10-02 16:14 ` Timur Safin 2020-10-03 3:24 ` Alexander Turenko 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 5/7] module api: luaT_temp_luastate & luaT_release_temp_luastate Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:17 ` Alexander Turenko 2020-09-29 23:21 ` Vladislav Shpilevoy 2020-10-01 3:35 ` Alexander Turenko 2020-09-29 15:10 ` Igor Munkin 2020-09-29 21:03 ` Alexander Turenko 2020-09-29 23:23 ` Vladislav Shpilevoy 2020-09-30 10:09 ` Alexander Turenko 2020-10-01 15:06 ` Igor Munkin 2020-10-03 2:16 ` Alexander Turenko 2020-10-02 12:24 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 6/7] module api: luaL_checkibuf & luaL_checkconstchar Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:53 ` Alexander Turenko 2020-09-29 23:25 ` Vladislav Shpilevoy 2020-10-01 3:00 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-10-02 21:48 ` Vladislav Shpilevoy 2020-10-08 13:50 ` Timur Safin 2020-09-24 17:00 ` [Tarantool-patches] [PATCH 2.X 7/7] module api: luaL_cdata_iscallable Timur Safin 2020-09-28 22:21 ` Vladislav Shpilevoy 2020-09-29 5:19 ` Alexander Turenko 2020-10-02 16:14 ` Timur Safin 2020-10-02 12:23 ` [Tarantool-patches] [PATCH 2.X 0/7] RFC: module api: extend for external merger Lua module Timur Safin 2020-10-02 21:49 ` Vladislav Shpilevoy 2020-10-03 2:54 ` 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.1600955781.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 0/7] RFC: 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