[PATCH 00/10] Prepare box/alter.cc for transactional DDL

Vladimir Davydov vdavydov.dev at gmail.com
Wed Jul 3 22:30:02 MSK 2019


A set of pretty straightforward patches that prepare system space
triggers for transactional DDL, namely:

 - Make sure that in-memory schema updates are in sync with data
   updates, i.e. changes to the schema are done on replace, not on
   commit. Add tests whenever possible.
 - Removes txn_last_stmt from on commit/rollback, because it won't
   be available once there may be more than one DDL statement in a
   transaction.
 - Fixes some inconsistencies in sequence object rollback.

https://github.com/tarantool/tarantool/issues/4083
https://github.com/tarantool/tarantool/commits/dv/prepare-alter-for-transactional-ddl

Vladimir Davydov (10):
  ddl: unreference view on space drop synchronously
  ddl: synchronize user cache with actual data state
  ddl: synchronize func cache with actual data state
  ddl: synchronize sequence cache with actual data state
  ddl: fix _space_sequence rollback
  ddl: restore sequence value if drop is rolled back
  ddl: don't use txn_last_stmt on _collation commit/rollback
  ddl: don't use txn_last_stmt on _trigger commit/rollback
  ddl: don't use txn_last_stmt on _ck_constraint commit/rollback
  ddl: don't use txn_last_stmt on _cluster commit/rollback

 src/box/alter.cc            | 669 ++++++++++++++++++++++++++------------------
 src/box/lua/load_cfg.lua    |   1 -
 src/box/lua/schema.lua      |  48 +---
 src/box/lua/sequence.c      | 110 +++++++-
 src/box/schema.cc           |  39 +--
 src/box/schema.h            |   8 +-
 src/box/sequence.c          |  21 ++
 src/box/sequence.h          |  27 ++
 test/box/function1.result   |  34 +++
 test/box/function1.test.lua |  13 +
 test/box/sequence.result    | 117 ++++++++
 test/box/sequence.test.lua  |  44 +++
 12 files changed, 776 insertions(+), 355 deletions(-)

-- 
2.11.0




More information about the Tarantool-patches mailing list