mirror of
https://github.com/aljazceru/turso.git
synced 2026-02-06 00:34:23 +01:00
alter set cookie
This commit is contained in:
@@ -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,
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -47,7 +47,6 @@ use execute::{
|
||||
OpOpenEphemeralState,
|
||||
};
|
||||
|
||||
use libloading::changelog;
|
||||
use rand::Rng;
|
||||
use regex::Regex;
|
||||
use std::{
|
||||
|
||||
Reference in New Issue
Block a user