From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 0/5] Transactional DDL Date: Fri, 5 Jul 2019 23:25:26 +0300 Message-Id: To: kostja@tarantool.org Cc: tarantool-patches@freelists.org List-ID: This patch set implements transactional DDL for the case when all statements are non-yielding. There are only two DDL statements that may yield implicitly - building of a new index and checking a space format - so it must cover most user stories. For more details re the implementation, see comments to the individual patches. https://github.com/tarantool/tarantool/issues/4083 https://github.com/tarantool/tarantool/commits/dv/gh-4083-transactional-ddl Vladimir Davydov (5): vinyl: don't sync WAL on space alter if not necessary txn: run on_rollback triggers on txn_abort txn: fix execution order of commit triggers memtx: fix txn_on_yield for DDL transactions Allow to execute non-yielding DDL statements in transactions src/box/alter.cc | 14 ---- src/box/memtx_engine.c | 10 +-- src/box/memtx_space.c | 10 +++ src/box/txn.c | 33 +++++++- src/box/txn.h | 44 +++++++---- src/box/user.cc | 1 - src/box/vinyl.c | 65 ++++++++++------ src/box/vy_tx.c | 11 ++- src/box/vy_tx.h | 7 +- src/lib/core/trigger.h | 11 +++ test/box/on_replace.result | 53 ++++++------- test/box/on_replace.test.lua | 13 ++-- test/box/transaction.result | 171 ++++++++++++++++++++++++++++++++++++------ test/box/transaction.test.lua | 92 ++++++++++++++++++++--- test/engine/truncate.result | 10 +-- test/engine/truncate.test.lua | 6 +- 16 files changed, 406 insertions(+), 145 deletions(-) -- 2.11.0