Tarantool development patches archive
 help / color / mirror / Atom feed
* [tarantool-patches] [PATCH v2 0/2] lua: add key_def lua module
@ 2019-03-27 14:29 Kirill Shcherbatov
  2019-03-27 14:29 ` [tarantool-patches] [PATCH v2 1/2] lua: add luaT_tuple_new() Kirill Shcherbatov
  2019-03-27 14:29 ` [tarantool-patches] [PATCH v2 2/2] lua: add key_def lua module Kirill Shcherbatov
  0 siblings, 2 replies; 25+ messages in thread
From: Kirill Shcherbatov @ 2019-03-27 14:29 UTC (permalink / raw)
  To: tarantool-patches, alexander.turenko; +Cc: Kirill Shcherbatov

Introduced new LUA module key_def.
There are several reasons to add this module:
    * Factor out key parts parsing code from the tuples merger (#3276).
    * Support comparing a tuple with a key / a tuple, support merging
      key_defs from Lua (#3398).
    * Support extracting a key from a tuple (#4025).


Changes in version 2:
    - ability to pass tables, not only tuples as arguments
    - perform types and nullablility validations
    - fixed errors

http://github.com/tarantool/tarantool/tree/kshch/gh-4025-lua-key-kef-methods
https://github.com/tarantool/tarantool/issues/4025

Alexander Turenko (1):
  lua: add luaT_tuple_new()

Kirill Shcherbatov (1):
  lua: add key_def lua module

 src/CMakeLists.txt              |   1 +
 src/box/CMakeLists.txt          |   2 +
 src/box/lua/init.c              |   5 +
 src/box/lua/key_def.c           | 441 ++++++++++++++++++++++++++++++++
 src/box/lua/key_def.h           |  63 +++++
 src/box/lua/key_def.lua         |  19 ++
 src/box/lua/space.cc            |  35 +--
 src/box/lua/tuple.c             |  58 +++--
 src/box/lua/tuple.h             |  15 +-
 src/box/tuple.h                 |  33 +++
 test/box-tap/key_def.test.lua   | 340 ++++++++++++++++++++++++
 test/unit/CMakeLists.txt        |   4 +
 test/unit/luaT_tuple_new.c      | 178 +++++++++++++
 test/unit/luaT_tuple_new.result |  22 ++
 14 files changed, 1167 insertions(+), 49 deletions(-)
 create mode 100644 src/box/lua/key_def.c
 create mode 100644 src/box/lua/key_def.h
 create mode 100644 src/box/lua/key_def.lua
 create mode 100755 test/box-tap/key_def.test.lua
 create mode 100644 test/unit/luaT_tuple_new.c
 create mode 100644 test/unit/luaT_tuple_new.result

-- 
2.21.0

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

end of thread, other threads:[~2019-04-04 14:42 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-27 14:29 [tarantool-patches] [PATCH v2 0/2] lua: add key_def lua module Kirill Shcherbatov
2019-03-27 14:29 ` [tarantool-patches] [PATCH v2 1/2] lua: add luaT_tuple_new() Kirill Shcherbatov
2019-03-28  9:01   ` [tarantool-patches] " Konstantin Osipov
2019-03-28  9:18     ` Alexander Turenko
2019-04-03 18:01   ` [tarantool-patches] " Vladimir Davydov
2019-04-04  2:51     ` Alexander Turenko
2019-04-04  8:14       ` Vladimir Davydov
2019-03-27 14:29 ` [tarantool-patches] [PATCH v2 2/2] lua: add key_def lua module Kirill Shcherbatov
2019-03-28  2:01   ` Alexander Turenko
2019-03-28  7:38     ` [tarantool-patches] " Kirill Shcherbatov
2019-03-28  8:41     ` Kirill Shcherbatov
     [not found]       ` <6d915212-e80f-4a6d-d884-b838bf25f8a7@tarantool.org>
2019-03-28 11:22         ` Alexander Turenko
2019-04-03 11:10           ` Vladimir Davydov
2019-04-03 11:46             ` Alexander Turenko
2019-04-03 12:01               ` Vladimir Davydov
2019-04-03 13:26                 ` Alexander Turenko
2019-04-04  5:07             ` Alexander Turenko
2019-04-04  8:04               ` Kirill Shcherbatov
2019-04-04  9:05                 ` Vladimir Davydov
2019-04-04 11:46                   ` Alexander Turenko
2019-04-04 14:36                     ` Vladimir Davydov
2019-04-04  8:38               ` Vladimir Davydov
2019-04-04 11:17                 ` Alexander Turenko
2019-04-04 12:00                   ` Alexander Turenko
2019-04-04 14:42                     ` Vladimir Davydov

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