[PATCH 0/4] Support savepoints in DDL transactions
Vladimir Davydov
vdavydov.dev at gmail.com
Fri Jul 19 21:08:38 MSK 2019
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
More information about the Tarantool-patches
mailing list