Tarantool development patches archive
 help / color / mirror / Atom feed
* [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module
@ 2020-10-13 23:01 Timur Safin
  2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 1/4] module api: export box_tuple_validate Timur Safin
                   ` (5 more replies)
  0 siblings, 6 replies; 24+ messages in thread
From: Timur Safin @ 2020-10-13 23:01 UTC (permalink / raw)
  To: v.shpilevoy, alexander.turenko; +Cc: tarantool-patches

Blah-blah-blah (see v1..v3 introductions), this version is hopefully looking 
close to final. Even, all patches have been completed with reasonable tests.

Enjoy!

SashaTu, Vlad, please pay some attention!

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 thsoe changes above we have reduced code in module_api
  test files.

Changelog for v3
----------------
- 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...

Changelog v3.1
--------------
- Added ibuf wrapper, the simpler way (only reserve, and rpos, wpos accessors)

Changelog v4
------------
- final polishing of examples
- tests for luaT_toibuf, with ibuf consistency checks
- tests for key_def_dup
- tests for tuple_validate

Hope it's good enough for feature freeze...


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-v4
  (top 4 commits above of a bunch of @Totktonada's commits)


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

 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/lua/merger.c             |   4 +-
 src/box/tuple.c                  |   6 ++
 src/box/tuple.h                  |  11 +++
 src/exports.h                    |   6 ++
 src/lua/msgpack.c                |   2 +-
 src/lua/utils.c                  |   2 +-
 src/lua/utils.h                  |  16 ++--
 test/app-tap/module_api.c        | 131 +++++++++++++++++++++++++++++++
 test/app-tap/module_api.test.lua |  50 +++++++++++-
 15 files changed, 365 insertions(+), 13 deletions(-)
 create mode 100644 src/box/ibuf.c
 create mode 100644 src/box/ibuf.h

-- 
2.20.1

^ permalink raw reply	[flat|nested] 24+ messages in thread

end of thread, other threads:[~2020-10-16  6:10 UTC | newest]

Thread overview: 24+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-13 23:01 [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module Timur Safin
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 1/4] module api: export box_tuple_validate Timur Safin
2020-10-15 21:38   ` Alexander Turenko
2020-10-15 21:47     ` Timur Safin
2020-10-15 22:03   ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 2/4] module api: export box_key_def_dup Timur Safin
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 3/4] module api: introduced luaT_toibuf instead of luaL_checkibuf Timur Safin
2020-10-14  3:50   ` Alexander Turenko
2020-10-15 21:07     ` Timur Safin
2020-10-15 22:04   ` Vladislav Shpilevoy
2020-10-13 23:01 ` [Tarantool-patches] [PATCH 2.X v4 4/4] module api: box_ibuf_* wrappers Timur Safin
2020-10-14  3:31   ` Alexander Turenko
2020-10-15 21:35     ` Timur Safin
2020-10-15 21:42       ` Alexander Turenko
2020-10-15 21:44         ` Timur Safin
2020-10-15 21:52         ` Alexander Turenko
2020-10-15 22:07   ` Vladislav Shpilevoy
2020-10-15 22:20     ` Alexander Turenko
2020-10-15 22:27     ` Timur Safin
2020-10-15 22:47       ` Alexander Turenko
2020-10-15 22:37   ` Alexander Turenko
2020-10-15 22:48   ` Alexander Turenko
2020-10-15 22:39 ` [Tarantool-patches] [PATCH 2.X v4.1] " Timur Safin
2020-10-16  6:10 ` [Tarantool-patches] [PATCH 2.X v4 0/4] module api: extend for external merger Lua module Alexander Turenko

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox