[PATCH v2 0/8] Allow to build indexes for vinyl spaces

Vladimir Davydov vdavydov.dev at gmail.com
Sun May 27 22:05:48 MSK 2018


This patch set implements the ability to build secondary indexes for
non-empty vinyl spaces. For implementation details, see patch 8.

https://github.com/tarantool/tarantool/issues/1653
https://github.com/tarantool/tarantool/commits/vy-allow-to-build-secondary-indexes

Changes in v2:
 - Split the patch into logical parts.
 - Address comments by Konstantin and Vladislav (refactoring mostly).

v1: https://www.freelists.org/post/tarantool-patches/PATCH-vinyl-allow-to-build-secondary-index-for-nonempty-space

Vladimir Davydov (8):
  vinyl: allocate key parts in vy_recovery_do_create_lsm
  vinyl: update recovery context with records written during recovery
  vinyl: log new index before WAL write on DDL
  vinyl: bump mem version after committing statement
  vinyl: allow to commit statements to mem in arbitrary order
  vinyl: relax limitation imposed on run min/max lsn
  vinyl: factor out vy_check_is_unique_secondary
  vinyl: allow to build secondary index for non-empty space

 src/box/vinyl.c                  | 610 +++++++++++++++++++++++++++++------
 src/box/vy_log.c                 | 216 +++++++++++--
 src/box/vy_log.h                 |  51 ++-
 src/box/vy_lsm.c                 |  94 ++++--
 src/box/vy_lsm.h                 |   4 +-
 src/box/vy_mem.c                 |   8 +-
 src/box/vy_quota.h               |  10 +
 src/box/vy_scheduler.c           |  31 +-
 src/box/vy_scheduler.h           |   7 +
 test/box/alter.result            | 501 -----------------------------
 test/box/alter.test.lua          | 159 ---------
 test/engine/ddl.result           | 672 +++++++++++++++++++++++++++++++++++++++
 test/engine/ddl.test.lua         | 221 +++++++++++++
 test/engine/truncate.result      |  87 -----
 test/engine/truncate.test.lua    |  48 ---
 test/unit/vy_mem.c               |   4 +-
 test/vinyl/ddl.result            | 446 +++++++++++++++-----------
 test/vinyl/ddl.test.lua          | 220 ++++++++-----
 test/vinyl/errinj.result         | 256 +++++++++++++++
 test/vinyl/errinj.test.lua       | 115 +++++++
 test/vinyl/errinj_gc.result      |  78 ++++-
 test/vinyl/errinj_gc.test.lua    |  38 ++-
 test/vinyl/errinj_vylog.result   | 216 ++++++++-----
 test/vinyl/errinj_vylog.test.lua | 139 ++++----
 test/vinyl/gh.result             |   2 +-
 25 files changed, 2858 insertions(+), 1375 deletions(-)

-- 
2.11.0




More information about the Tarantool-patches mailing list