From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf1-f52.google.com (mail-lf1-f52.google.com [209.85.167.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id 2BA60469719 for ; Fri, 9 Oct 2020 00:36:13 +0300 (MSK) Received: by mail-lf1-f52.google.com with SMTP id l2so8354049lfk.0 for ; Thu, 08 Oct 2020 14:36:13 -0700 (PDT) From: Cyrill Gorcunov Date: Fri, 9 Oct 2020 00:36:02 +0300 Message-Id: <20201008213608.1022476-1-gorcunov@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [Tarantool-patches] [PATCH v5 0/6] box/cbox: implement cfunc Lua module List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tml Cc: Vladislav Shpilevoy The cbox module provide a way to execute C stored procedures on read only nodes without registring them in `_func` system space. The series implements a bare minimum. Please take a look once time permit. v1-v3 are development ones and not sent. v5 (by vlad): - drop exists, list methods: they are redundant - rename cfunc to cbox - when create a function make it callable Lua object - initialize cbox out of modules - fix error in passing module name for reloading - make api been cbox.func.[create|drop] and cbox.module.reload - fix test for OSX sake branch gorcunov/gh-4642-func-ro-5 issue https://github.com/tarantool/tarantool/issues/4642 Cyrill Gorcunov (6): box/func: factor out c function entry structure box/func: provide module_sym_call box/func: more detailed error in module reloading box/func: export func_split_name helper box/cbox: implement cbox Lua module test: box/cfunc -- add simple module test src/box/CMakeLists.txt | 1 + src/box/box.cc | 4 + src/box/func.c | 249 ++++++++++++------------ src/box/func.h | 78 ++++++++ src/box/lua/cbox.c | 417 ++++++++++++++++++++++++++++++++++++++++ src/box/lua/cbox.h | 39 ++++ src/box/lua/init.c | 2 + test/box/CMakeLists.txt | 2 + test/box/cbox.result | 134 +++++++++++++ test/box/cbox.test.lua | 51 +++++ test/box/cfunc1.c | 49 +++++ test/box/cfunc2.c | 112 +++++++++++ test/box/suite.ini | 2 +- 13 files changed, 1009 insertions(+), 131 deletions(-) create mode 100644 src/box/lua/cbox.c create mode 100644 src/box/lua/cbox.h create mode 100644 test/box/cbox.result create mode 100644 test/box/cbox.test.lua create mode 100644 test/box/cfunc1.c create mode 100644 test/box/cfunc2.c base-commit: 0dc72812fb78a192945612f0e954026a0ffe4053 -- 2.26.2