These patches allow us use ephemeral spaces in Lua. Ephemeral spaces are
special spaces that in most cases work in the same way as usual spaces
(for users), but they do not touch transactions and are local to one Lua
session. The are deleted by GC when there is no references to them. They
can be created and deleted but cannot be altered. Till now they were
used to process some sql queries.
On 07/12/2018 02:16 PM, imeevma@xxxxxxxxxxxxx wrote:
Branch:
https://github.com/tarantool/tarantool/compare/imeevma/gh-3375-lua-expose-ephemeral-spaces
Issue: https://github.com/tarantool/tarantool/issues/3375
Mergen Imeev (5):
Create new methods for ephemeral spaces
Move some decode functions from alter.cc
Ephemeral space creation and deletion in Lua
Primary index for ephemeral spaces
Methods for ephemeral space and its index
src/box/alter.cc | 203 +-
src/box/box.cc | 170 +
src/box/box.h | 51 +
src/box/index.cc | 172 +
src/box/index.h | 140 +
src/box/index_def.c | 102 +
src/box/index_def.h | 26 +
src/box/lua/info.h | 4 -
src/box/lua/schema.lua | 321 ++
src/box/lua/space.cc | 669 +++
src/box/memtx_space.c | 210 +-
src/box/memtx_tree.c | 5 +
src/box/space.h | 17 -
src/box/space_def.c | 150 +
src/box/space_def.h | 15 +
src/box/sql.c | 10 +-
src/box/sysview_engine.c | 22 -
src/box/vinyl.c | 22 -
test/box/ephemeral_space.result | 8461 +++++++++++++++++++++++++++++++++++++
test/box/ephemeral_space.test.lua | 1864 ++++++++
test/engine/iterator.result | 2 +-
21 files changed, 12335 insertions(+), 301 deletions(-)
create mode 100644 test/box/ephemeral_space.result
create mode 100644 test/box/ephemeral_space.test.lua