Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladimir Davydov <vdavydov.dev@gmail.com>
To: kostja@tarantool.org
Cc: tarantool-patches@freelists.org
Subject: [PATCH 00/12] vinyl: allow to modify format of non-empty spaces
Date: Sat,  7 Apr 2018 16:37:57 +0300	[thread overview]
Message-ID: <cover.1523105106.git.vdavydov.dev@gmail.com> (raw)

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

             reply	other threads:[~2018-04-07 13:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-07 13:37 Vladimir Davydov [this message]
2018-04-07 13:37 ` [PATCH 01/12] alter: introduce CheckSpaceFormat AlterSpaceOp for validating format Vladimir Davydov
2018-04-09 20:25   ` Konstantin Osipov
2018-04-07 13:37 ` [PATCH 02/12] alter: fold ModifySpaceFormat into ModifySpace Vladimir Davydov
2018-04-09 20:26   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 03/12] alter: move dictionary update from ModifySpace::alter_def to alter Vladimir Davydov
2018-04-09 20:32   ` Konstantin Osipov
2018-04-10  7:53     ` Vladimir Davydov
2018-04-10 11:45     ` Vladimir Davydov
2018-04-07 13:38 ` [PATCH 04/12] alter: use space_index instead of index_find where appropriate Vladimir Davydov
2018-04-09 20:34   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 05/12] alter: allocate triggers before the point of no return Vladimir Davydov
2018-04-09 20:36   ` Konstantin Osipov
2018-04-10  7:57     ` Vladimir Davydov
2018-04-10 11:54       ` Vladimir Davydov
2018-04-07 13:38 ` [PATCH 06/12] space: space_vtab::build_secondary_key => build_index Vladimir Davydov
2018-04-09 20:39   ` Konstantin Osipov
2018-04-10  8:05     ` Vladimir Davydov
2018-04-10 12:14       ` Vladimir Davydov
2018-04-07 13:38 ` [PATCH 07/12] space: pass new format instead of new space to space_vtab::check_format Vladimir Davydov
2018-04-09 20:40   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 08/12] alter: introduce preparation phase Vladimir Davydov
2018-04-09 20:46   ` [tarantool-patches] " Konstantin Osipov
2018-04-10  8:31     ` Vladimir Davydov
2018-04-10  8:46       ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 09/12] alter: zap space_def_check_compatibility Vladimir Davydov
2018-04-09 20:49   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 10/12] vinyl: remove superfluous ddl checks Vladimir Davydov
2018-04-09 20:49   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 11/12] vinyl: force index rebuild if indexed field type is narrowed Vladimir Davydov
2018-04-09 20:51   ` Konstantin Osipov
2018-04-07 13:38 ` [PATCH 12/12] vinyl: allow to modify format of non-empty spaces Vladimir Davydov
2018-04-09  8:24   ` Vladimir Davydov
2018-04-09 20:55   ` Konstantin Osipov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1523105106.git.vdavydov.dev@gmail.com \
    --to=vdavydov.dev@gmail.com \
    --cc=kostja@tarantool.org \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [PATCH 00/12] vinyl: allow to modify format of non-empty spaces' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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