mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-11 03:04:22 +01:00
update schema in case it's outdated
This commit is contained in:
@@ -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<Program> {
|
||||
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 { .. }
|
||||
|
||||
Reference in New Issue
Block a user