From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp44.i.mail.ru (smtp44.i.mail.ru [94.100.177.104]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id AE67C44643C for ; Wed, 14 Oct 2020 03:18:18 +0300 (MSK) From: "Timur Safin" References: In-Reply-To: Date: Wed, 14 Oct 2020 03:18:12 +0300 Message-ID: <202f01d6a1bf$811a53a0$834efae0$@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Language: ru Subject: Re: [Tarantool-patches] [PATCH 1.10 v4 0/5] module api: extend for external merger Lua module List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: v.shpilevoy@tarantool.org, alexander.turenko@tarantool.org Cc: tarantool-patches@dev.tarantool.org Forgot to mention the branch=20 https://github.com/tarantool/tarantool/tree/tsafin/gh-5273-expand-module-= api-1.10-v4 Timur=20 : -----Original Message----- : From: Timur Safin : Sent: Wednesday, October 14, 2020 3:16 AM : To: v.shpilevoy@tarantool.org; alexander.turenko@tarantool.org : Cc: Timur Safin ; tarantool- : patches@dev.tarantool.org : Subject: [PATCH 1.10 v4 0/5] module api: extend for external merger = Lua : module :=20 : Ok we are all tired and need to sleep, but let me reiterate it once = again: :=20 : 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. :=20 : 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`. :=20 : Enjoy! :=20 : 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) :=20 : - 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`. :=20 : 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. :=20 : Changelog for v3 : ---------------- : - Reshuffled patchset to merge tests with their corresponding code; :=20 : Changelog v3.1 : -------------- : - Added ibuf wrapper, the simpler way (only reserve, and rpos, wpos : accessors) :=20 : Changelog v4 : ------------ : - final polishing of examples : - tests for luaT_toibuf, with ibuf consistency checks : - tests for key_def_dup : - tests for tuple_validate :=20 :=20 : Alexander Turenko (1): : module api: add luaL_iscallable with support of cdata metatype :=20 : 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 :=20 : 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 :=20 : -- : 2.20.1