mirror of
https://github.com/tursodatabase/limbo.git
synced 2025-08-04 10:08:20 +00:00
sqlite3-parser: box the create table body
This commit is contained in:
parent
d177f6195b
commit
358fda2ec7
5 changed files with 5 additions and 5 deletions
|
@ -127,7 +127,7 @@ impl Database {
|
|||
let Stmt::CreateTable { body, .. } = stmt else {
|
||||
return ResultCode::Error;
|
||||
};
|
||||
let Ok(columns) = columns_from_create_table_body(body) else {
|
||||
let Ok(columns) = columns_from_create_table_body(*body) else {
|
||||
return ResultCode::Error;
|
||||
};
|
||||
let vtab_module = self.vtab_modules.get(name).unwrap().clone();
|
||||
|
|
|
@ -150,7 +150,7 @@ impl BTreeTable {
|
|||
let cmd = parser.next()?;
|
||||
match cmd {
|
||||
Some(Cmd::Stmt(Stmt::CreateTable { tbl_name, body, .. })) => {
|
||||
create_table(tbl_name, body, root_page)
|
||||
create_table(tbl_name, *body, root_page)
|
||||
}
|
||||
_ => todo!("Expected CREATE TABLE statement"),
|
||||
}
|
||||
|
|
|
@ -67,7 +67,7 @@ pub fn translate(
|
|||
bail_parse_error!("TEMPORARY table not supported yet");
|
||||
}
|
||||
|
||||
translate_create_table(query_mode, tbl_name, body, if_not_exists, schema)?
|
||||
translate_create_table(query_mode, tbl_name, *body, if_not_exists, schema)?
|
||||
}
|
||||
ast::Stmt::CreateTrigger { .. } => bail_parse_error!("CREATE TRIGGER not supported yet"),
|
||||
ast::Stmt::CreateView { .. } => bail_parse_error!("CREATE VIEW not supported yet"),
|
||||
|
|
|
@ -112,7 +112,7 @@ pub enum Stmt {
|
|||
/// table name
|
||||
tbl_name: QualifiedName,
|
||||
/// table body
|
||||
body: CreateTableBody,
|
||||
body: Box<CreateTableBody>,
|
||||
},
|
||||
/// `CREATE TRIGGER`
|
||||
CreateTrigger {
|
||||
|
|
|
@ -109,7 +109,7 @@ cmd ::= ROLLBACK trans_opt(Y) TO savepoint_opt nm(X). {
|
|||
///////////////////// The CREATE TABLE statement ////////////////////////////
|
||||
//
|
||||
cmd ::= createkw temp(T) TABLE ifnotexists(E) fullname(Y) create_table_args(X). {
|
||||
self.ctx.stmt = Some(Stmt::CreateTable{ temporary: T, if_not_exists: E, tbl_name: Y, body: X });
|
||||
self.ctx.stmt = Some(Stmt::CreateTable{ temporary: T, if_not_exists: E, tbl_name: Y, body: Box::new(X) });
|
||||
}
|
||||
createkw(A) ::= CREATE(A).
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue