[PATCH 00/12] vinyl: allow to modify format of non-empty spaces

Vladimir Davydov vdavydov.dev at gmail.com
Sat Apr 7 16:37:57 MSK 2018


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




More information about the Tarantool-patches mailing list