[Tarantool-patches] [PATCH 1.10 v3 0/4] module api: extend for external merger Lua module

Timur Safin tsafin at tarantool.org
Mon Oct 12 03:50:36 MSK 2020


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



More information about the Tarantool-patches mailing list