alter set cookie

This commit is contained in:
Pere Diaz Bou
2025-07-02 14:31:35 +02:00
parent c1e87d7f24
commit d8658264d9
3 changed files with 27 additions and 3 deletions

View File

@@ -7,7 +7,7 @@ use crate::{
util::normalize_ident,
vdbe::{
builder::ProgramBuilder,
insn::{Insn, RegisterOrLiteral},
insn::{Cookie, Insn, RegisterOrLiteral},
},
LimboError, Result, SymbolTable,
};
@@ -133,6 +133,12 @@ pub fn translate_alter_table(
dest_reg: record,
index_name: None,
});
program.emit_insn(Insn::SetCookie {
db: 0,
cookie: Cookie::SchemaVersion,
value: schema.schema_version as i32 + 1,
p5: 0,
});
program.emit_insn(Insn::Insert {
cursor: cursor_id,
@@ -196,6 +202,12 @@ pub fn translate_alter_table(
};
translate_update_with_after(schema, &mut update, syms, program, |program| {
program.emit_insn(Insn::SetCookie {
db: 0,
cookie: Cookie::SchemaVersion,
value: schema.schema_version as i32 + 1,
p5: 0,
});
program.emit_insn(Insn::ParseSchema {
db: usize::MAX, // TODO: This value is unused, change when we do something with it
where_clause: None,
@@ -281,6 +293,12 @@ pub fn translate_alter_table(
});
});
program.emit_insn(Insn::SetCookie {
db: 0,
cookie: Cookie::SchemaVersion,
value: schema.schema_version as i32 + 1,
p5: 0,
});
program.emit_insn(Insn::ParseSchema {
db: usize::MAX, // TODO: This value is unused, change when we do something with it
where_clause: None,
@@ -359,6 +377,13 @@ pub fn translate_alter_table(
});
});
program.emit_insn(Insn::SetCookie {
db: 0,
cookie: Cookie::SchemaVersion,
value: schema.schema_version as i32 + 1,
p5: 0,
});
program.emit_insn(Insn::ParseSchema {
db: usize::MAX, // TODO: This value is unused, change when we do something with it
where_clause: None,

View File

@@ -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, TransactionState};
use crate::{bail_parse_error, Connection, Result, SymbolTable};
use alter::translate_alter_table;
use index::{translate_create_index, translate_drop_index};
use insert::translate_insert;

View File

@@ -47,7 +47,6 @@ use execute::{
OpOpenEphemeralState,
};
use libloading::changelog;
use rand::Rng;
use regex::Regex;
use std::{