From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 0/2] vinyl: zap upsert_format Date: Fri, 30 Mar 2018 18:47:17 +0300 Message-Id: To: kostja@tarantool.org Cc: v.shpilevoy@tarantool.org, tarantool-patches@freelists.org List-ID: The sole purpose of a special format for UPSERT statements is that we need to store UPSERT counter for them so that we can schedule UPSERT squashing as soon as the number of UPSERTs for the same key exceeds a certain threshold. However, we only need to maintain the UPSERT counter for statements of the memory level, so instead of maintaining yet another tuple format, we can allocate the UPSERT counter on lsregion, near the tuple it is for. This simplifies the code a great deal and eases implementation of online ALTER. https://github.com/tarantool/tarantool/tree/vy-zap-upsert-format Vladimir Davydov (2): vinyl: allocate upsert counter on lsregion vinyl: zap upsert_format src/box/vinyl.c | 33 +++---------------- src/box/vy_lsm.c | 48 ++++++++------------------- src/box/vy_lsm.h | 5 --- src/box/vy_mem.c | 15 +++------ src/box/vy_mem.h | 6 +--- src/box/vy_point_lookup.c | 6 ++-- src/box/vy_read_iterator.c | 5 ++- src/box/vy_run.c | 33 ++++++++----------- src/box/vy_run.h | 11 ++----- src/box/vy_scheduler.c | 8 ++--- src/box/vy_stmt.c | 72 ++++++++++++----------------------------- src/box/vy_stmt.h | 49 +++++++++------------------- src/box/vy_tx.c | 9 ++---- src/box/vy_upsert.c | 11 +++---- src/box/vy_upsert.h | 3 +- src/box/vy_write_iterator.c | 27 ++++++---------- src/box/vy_write_iterator.h | 8 ++--- test/unit/vy_cache.c | 11 +++---- test/unit/vy_iterators_helper.c | 28 ++++++---------- test/unit/vy_iterators_helper.h | 4 --- test/unit/vy_point_lookup.c | 18 ++++------- test/unit/vy_write_iterator.c | 6 ++-- 22 files changed, 125 insertions(+), 291 deletions(-) -- 2.11.0