From 5b733663abe172fb5d3d47aebf34469f1ef971e1 Mon Sep 17 00:00:00 2001 From: Pere Diaz Bou Date: Wed, 2 Jul 2025 11:47:57 +0200 Subject: [PATCH] update schema in case it's outdated --- core/translate/mod.rs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/core/translate/mod.rs b/core/translate/mod.rs index 7a5941221..95da67311 100644 --- a/core/translate/mod.rs +++ b/core/translate/mod.rs @@ -39,7 +39,7 @@ use crate::storage::pager::Pager; use crate::translate::delete::translate_delete; use crate::vdbe::builder::{ProgramBuilder, ProgramBuilderOpts, QueryMode}; use crate::vdbe::Program; -use crate::{bail_parse_error, Connection, Result, SymbolTable}; +use crate::{bail_parse_error, Connection, Result, SymbolTable, TransactionState}; use alter::translate_alter_table; use index::{translate_create_index, translate_drop_index}; use insert::translate_insert; @@ -64,6 +64,12 @@ pub fn translate( _input: &str, // TODO: going to be used for CREATE VIEW ) -> Result { tracing::trace!("querying {}", _input); + if matches!(connection.transaction_state.get(), TransactionState::None) + && connection.schema.borrow().schema_version < connection._db.schema.read().schema_version + { + let new_schema = connection._db.schema.read(); + connection.schema.replace(new_schema.clone()); + } let change_cnt_on = matches!( stmt, ast::Stmt::CreateIndex { .. }