From ede2a882f1e583ca3781af6142d832697b86ade0 Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Wed, 24 Sep 2025 14:42:08 +0300 Subject: [PATCH] mvcc: revert connection schema changes in mv rollback --- core/mvcc/database/mod.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/mvcc/database/mod.rs b/core/mvcc/database/mod.rs index a1174d2c0..9e32ef3a3 100644 --- a/core/mvcc/database/mod.rs +++ b/core/mvcc/database/mod.rs @@ -1357,6 +1357,13 @@ impl MvStore { } } + if connection.schema.borrow().schema_version + > connection.db.schema.lock().unwrap().schema_version + { + // Connection made schema changes during tx and rolled back -> revert connection-local schema. + connection.schema.replace(connection.db.clone_schema()?); + } + let tx = tx_unlocked.value(); tx.state.store(TransactionState::Terminated); tracing::trace!("terminate(tx_id={})", tx_id);