From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 00/12] vinyl: prepare read iterator for index rebuild Date: Sun, 15 Apr 2018 22:55:13 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: 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