Tarantool development patches archive
 help / color / mirror / Atom feed
From: Vladimir Davydov <vdavydov.dev@gmail.com>
To: tarantool-patches@freelists.org
Subject: [PATCH v2 0/3] Support savepoints in DDL transactions
Date: Tue, 30 Jul 2019 13:49:12 +0300	[thread overview]
Message-ID: <cover.1564483378.git.vdavydov.dev@gmail.com> (raw)

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

             reply	other threads:[~2019-07-30 10:49 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-07-30 10:49 Vladimir Davydov [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1564483378.git.vdavydov.dev@gmail.com \
    --to=vdavydov.dev@gmail.com \
    --cc=tarantool-patches@freelists.org \
    --subject='Re: [PATCH v2 0/3] Support savepoints in DDL transactions' \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

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