[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