Tarantool development patches archive
 help / color / mirror / Atom feed
* [PATCH v2 0/3] Support savepoints in DDL transactions
@ 2019-07-30 10:49 Vladimir Davydov
  2019-07-30 10:49 ` [PATCH v2 1/3] txn: move stmt list/savepoint manipulation out of txn_stmt_new Vladimir Davydov
                   ` (3 more replies)
  0 siblings, 4 replies; 8+ messages in thread
From: Vladimir Davydov @ 2019-07-30 10:49 UTC (permalink / raw)
  To: tarantool-patches

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.

The first two patches are not really related to the issue at hand -
they just do some trivial cleanup in txn code. Both bugs are fixed
by the third and the final patch of the series.

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

Changes in v2:
 - Append DDL commit/rollback triggers to txn statements instead
   of maintaining them in txn. This greatly simplifies rollback.
 - Merge approved patches and rebase.

Vladimir Davydov (3):
  txn: move stmt list/savepoint manipulation out of txn_stmt_new
  txn: kill txn_last_stmt helper
  txn: undo commit/rollback triggers when reverting to savepoint

 src/box/alter.cc              | 90 +++++++++++++++++------------------
 src/box/txn.c                 | 71 +++++++++++++++++++--------
 src/box/txn.h                 | 41 +++++++++++++---
 test/box/transaction.result   | 39 +++++++++++++++
 test/box/transaction.test.lua | 23 +++++++++
 5 files changed, 192 insertions(+), 72 deletions(-)

-- 
2.20.1

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-07-30 12:31 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-30 10:49 [PATCH v2 0/3] Support savepoints in DDL transactions Vladimir Davydov
2019-07-30 10:49 ` [PATCH v2 1/3] txn: move stmt list/savepoint manipulation out of txn_stmt_new Vladimir Davydov
2019-07-30 12:10   ` [tarantool-patches] " Konstantin Osipov
2019-07-30 10:49 ` [PATCH v2 2/3] txn: kill txn_last_stmt helper Vladimir Davydov
2019-07-30 12:11   ` [tarantool-patches] " Konstantin Osipov
2019-07-30 10:49 ` [PATCH v2 3/3] txn: undo commit/rollback triggers when reverting to savepoint Vladimir Davydov
2019-07-30 12:13   ` [tarantool-patches] " Konstantin Osipov
2019-07-30 12:31 ` [PATCH v2 0/3] Support savepoints in DDL transactions Vladimir Davydov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox