From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtpng2.m.smailru.net (smtpng2.m.smailru.net [94.100.179.3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dev.tarantool.org (Postfix) with ESMTPS id E6DDD445320 for ; Wed, 8 Jul 2020 18:14:24 +0300 (MSK) From: Aleksandr Lyapunov Date: Wed, 8 Jul 2020 18:14:07 +0300 Message-Id: <1594221263-6228-1-git-send-email-alyapunov@tarantool.org> Subject: [Tarantool-patches] [PATCH v2 00/16] Transaction engine for memtx engine List-Id: Tarantool development patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: tarantool-patches@dev.tarantool.org Cc: v.shpilevoy@tarantool.org Implement a transaction engine that would allow yieding etc. That is a draft, work is still in progress. GH issue: https://github.com/tarantool/tarantool/issues/4897 GH branch: https://github.com/tarantool/tarantool/tree/alyapunov/gh-4897-memtx-tx-engine-v6 Difference from previous version: - txm_story simplified - comments added - lost of tests are passed now Aleksandr Lyapunov (16): Update license file (2020) Check data_offset overflow in struct tuple tx: introduce dirty tuples vinyl: rename tx_manager -> vy_tx_manager tx: save txn in txn_stmt tx: add TX status tx: save preserve old tuple flag in txn_stmt tx: introduce tx manager tx: introduce prepare sequence number tx: introduce txn_stmt_destroy tx: introduce conflict tracker introduce tuple smart pointers tx: introduce txm_story tx: indexes tx: introduce point conflict tracker tx: use new tx manager in memtx LICENSE | 2 +- src/box/errcode.h | 1 + src/box/memtx_bitset.c | 28 +- src/box/memtx_engine.c | 69 ++- src/box/memtx_hash.c | 60 ++- src/box/memtx_rtree.c | 27 +- src/box/memtx_space.c | 29 ++ src/box/memtx_tree.c | 73 ++- src/box/tuple.c | 12 +- src/box/tuple.h | 62 ++- src/box/tuple_format.c | 4 +- src/box/txn.c | 942 +++++++++++++++++++++++++++++++++- src/box/txn.h | 192 +++++++ src/box/vinyl.c | 30 +- src/box/vy_stmt.c | 9 + src/box/vy_tx.c | 49 +- src/box/vy_tx.h | 33 +- src/main.cc | 3 + test/box/error.result | 1 + test/box/huge_field_map.result | 49 ++ test/box/huge_field_map.test.lua | 22 + test/box/huge_field_map_long.result | 51 ++ test/box/huge_field_map_long.test.lua | 28 + test/box/suite.ini | 1 + 24 files changed, 1673 insertions(+), 104 deletions(-) create mode 100644 test/box/huge_field_map.result create mode 100644 test/box/huge_field_map.test.lua create mode 100644 test/box/huge_field_map_long.result create mode 100644 test/box/huge_field_map_long.test.lua -- 2.7.4