From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Vladimir Davydov Subject: [PATCH 0/4] Support savepoints in DDL transactions Date: Fri, 19 Jul 2019 21:08:38 +0300 Message-Id: To: tarantool-patches@freelists.org List-ID: DDL statements install commit/rollback triggers to complete/revert changes done to the schema. If a DDL statement is rolled back by a savepoint, we must remove commit triggers and run rollback triggers, otherwise we can get an inconsistent schema state. This patch set addresses this issue. https://github.com/tarantool/tarantool/issues/4364 https://github.com/tarantool/tarantool/issues/4365 https://github.com/tarantool/tarantool/commits/dv/gh-4364-4365-fix-ddl-savepoint Vladimir Davydov (4): Update small library txn: reverse commit trigger list only before running commit triggers txn: use savepoints to roll back statements on yield or error txn: undo commit/rollback triggers when reverting to savepoint src/box/txn.c | 126 +++++++++++++++++++++++++++++++------ src/box/txn.h | 31 +++++----- src/lib/core/trigger.h | 11 ---- src/lib/small | 2 +- test/box/transaction.result | 39 ++++++++++++ test/box/transaction.test.lua | 23 +++++++ test/engine/transaction.result | 4 +- test/unit/CMakeLists.txt | 2 - test/unit/rlist.c | 137 ----------------------------------------- test/unit/rlist.result | 88 -------------------------- 10 files changed, 188 insertions(+), 275 deletions(-) delete mode 100644 test/unit/rlist.c delete mode 100644 test/unit/rlist.result -- 2.11.0