[PATCH 00/12] vinyl: prepare read iterator for index rebuild
Vladimir Davydov
vdavydov.dev at gmail.com
Sun Apr 15 22:55:13 MSK 2018
To be able to use read iterator for building secondary indexes in vinyl,
we need it to guarantee that the returned tuple is always the newest
version, which is currently not true. Fix that.
https://github.com/tarantool/tarantool/commits/vy-prep-read-iterator-for-alter
Vladimir Davydov (12):
vinyl: rename vy_stmt_history to vy_history
vinyl: factor out vy_history_apply from vy_point_lookup_apply_history
vinyl: add vy_history_append_stmt helper
vinyl: zap iterator_src_type enum
vinyl: encapsulate key history with struct
vinyl: refine vy_history_cleanup
vinyl: move vy_history to its own source file
vinyl: use mempool for vy_history_node allocations
vinyl: consolidate skip optimization checks in read iterator
vinyl: refactor vy_read_iterator_next
vinyl: make read iterator always return newest tuple version
vinyl: zap vy_read_iterator::curr_stmt
src/box/CMakeLists.txt | 1 +
src/box/vy_cache.c | 51 ++---
src/box/vy_cache.h | 31 +--
src/box/vy_history.c | 115 ++++++++++
src/box/vy_history.h | 165 +++++++++++++
src/box/vy_lsm.c | 5 +
src/box/vy_lsm.h | 4 +-
src/box/vy_mem.c | 93 +++-----
src/box/vy_mem.h | 33 +--
src/box/vy_point_lookup.c | 228 +++---------------
src/box/vy_read_iterator.c | 560 +++++++++++++++++++--------------------------
src/box/vy_read_iterator.h | 11 +-
src/box/vy_run.c | 68 ++++--
src/box/vy_run.h | 23 +-
src/box/vy_tx.c | 55 +++--
src/box/vy_tx.h | 29 ++-
test/unit/CMakeLists.txt | 3 +
test/unit/vy_cache.c | 16 +-
test/unit/vy_mem.c | 24 +-
test/vinyl/upsert.result | 8 +-
test/vinyl/upsert.test.lua | 6 +-
21 files changed, 788 insertions(+), 741 deletions(-)
create mode 100644 src/box/vy_history.c
create mode 100644 src/box/vy_history.h
--
2.11.0
More information about the Tarantool-patches
mailing list