From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp58.i.mail.ru (smtp58.i.mail.ru [217.69.128.38]) (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 192FE469719 for ; Mon, 12 Oct 2020 03:51:17 +0300 (MSK) From: Timur Safin Date: Mon, 12 Oct 2020 03:50:36 +0300 Message-Id: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH 1.10 v3 0/4] 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 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