From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 00/12] vinyl: allow to modify format of non-empty spaces Date: Sat, 7 Apr 2018 16:37:57 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: This patch set makes it possible to modify the format of a non-empty Vinyl space. It is an integral part of Vinyl space ALTER (see #1653). https://github.com/tarantool/tarantool/issues/1653 https://github.com/tarantool/tarantool/commits/vy-allow-to-change-space-format Vladimir Davydov (12): alter: introduce CheckSpaceFormat AlterSpaceOp for validating format alter: fold ModifySpaceFormat into ModifySpace alter: move dictionary update from ModifySpace::alter_def to alter alter: use space_index instead of index_find where appropriate alter: allocate triggers before the point of no return space: space_vtab::build_secondary_key => build_index space: pass new format instead of new space to space_vtab::check_format alter: introduce preparation phase alter: zap space_def_check_compatibility vinyl: remove superfluous ddl checks vinyl: force index rebuild if indexed field type is narrowed vinyl: allow to modify format of non-empty spaces src/box/alter.cc | 280 +++++++++------ src/box/index.h | 13 + src/box/index_def.c | 21 -- src/box/index_def.h | 16 - src/box/key_def.cc | 19 - src/box/key_def.h | 13 - src/box/memtx_bitset.c | 2 + src/box/memtx_engine.c | 42 +++ src/box/memtx_engine.h | 8 + src/box/memtx_hash.c | 2 + src/box/memtx_rtree.c | 15 + src/box/memtx_space.c | 47 +-- src/box/memtx_tree.c | 2 + src/box/space.h | 43 ++- src/box/space_def.c | 49 --- src/box/space_def.h | 26 -- src/box/sysview_engine.c | 19 +- src/box/sysview_index.c | 11 + src/box/tuple_format.c | 2 - src/box/vinyl.c | 234 +++++++++---- src/errinj.h | 2 +- test/box/alter.result | 817 +------------------------------------------ test/box/alter.test.lua | 319 ----------------- test/box/alter_limits.result | 9 +- test/box/errinj.result | 34 +- test/box/errinj.test.lua | 10 +- test/engine/ddl.result | 787 ++++++++++++++++++++++++++++++++++++++++- test/engine/ddl.test.lua | 311 +++++++++++++++- test/vinyl/ddl.result | 135 +++---- test/vinyl/ddl.test.lua | 37 +- test/vinyl/errinj.result | 75 ++++ test/vinyl/errinj.test.lua | 35 ++ test/vinyl/gh.result | 2 +- 33 files changed, 1759 insertions(+), 1678 deletions(-) -- 2.11.0