[Tarantool-patches] [PATCH v4 0/6] box/func: implement cfunc Lua module

Cyrill Gorcunov gorcunov at gmail.com
Thu Oct 1 16:51:07 MSK 2020


The cfunc 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. There was a request to make
cfunc been Lua object with appropriate methods. If this is really
preferred then I'll implement this wrapping Lua code on top. I mean
that currently all operations are done via

 > require('cfunc').[create|drop|call|reload]

interface while there was a proposal to operate as

 > a = require('cfunc').create
 > a:call(args)

Please take a look once time permit.

v1-v3 are development ones and not sent.

branch gorcunov/gh-4642-func-ro-4
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/func: implement cfunc Lua module
  test: box/cfunc -- add simple module test

 src/box/CMakeLists.txt  |   1 +
 src/box/func.c          | 259 ++++++++++++++--------------
 src/box/func.h          |  78 +++++++++
 src/box/lua/cfunc.c     | 362 ++++++++++++++++++++++++++++++++++++++++
 src/box/lua/cfunc.h     |  55 ++++++
 src/box/lua/init.c      |   2 +
 test/box/CMakeLists.txt |   2 +
 test/box/cfunc.result   | 116 +++++++++++++
 test/box/cfunc.test.lua |  56 +++++++
 test/box/cfunc1.c       |  46 +++++
 test/box/cfunc2.c       |  46 +++++
 test/box/suite.ini      |   2 +-
 12 files changed, 894 insertions(+), 131 deletions(-)
 create mode 100644 src/box/lua/cfunc.c
 create mode 100644 src/box/lua/cfunc.h
 create mode 100644 test/box/cfunc.result
 create mode 100644 test/box/cfunc.test.lua
 create mode 100644 test/box/cfunc1.c
 create mode 100644 test/box/cfunc2.c


base-commit: d25ecab48832340dc2ef9c072cf506924c03af52
-- 
2.26.2



More information about the Tarantool-patches mailing list