sqlite3-parser: box everything in Attach

This commit is contained in:
Jussi Saurio
2025-02-08 18:05:13 +02:00
parent 670dac5939
commit 0dba39b025
2 changed files with 4 additions and 4 deletions

View File

@@ -78,11 +78,11 @@ pub enum Stmt {
Attach {
/// filename
// TODO distinction between ATTACH and ATTACH DATABASE
expr: Expr,
expr: Box<Expr>,
/// schema name
db_name: Expr,
db_name: Box<Expr>,
/// password
key: Option<Expr>,
key: Option<Box<Expr>>,
},
/// `BEGIN`: tx type, tx name
Begin(Option<TransactionType>, Option<Name>),

View File

@@ -1276,7 +1276,7 @@ cmd ::= DROP TRIGGER ifexists(NOERR) fullname(X). {
//////////////////////// ATTACH DATABASE file AS name /////////////////////////
%ifndef SQLITE_OMIT_ATTACH
cmd ::= ATTACH database_kw_opt expr(F) AS expr(D) key_opt(K). {
self.ctx.stmt = Some(Stmt::Attach{ expr: F, db_name: D, key: K });
self.ctx.stmt = Some(Stmt::Attach{ expr: Box::new(F), db_name: Box::new(D), key: K.map(Box::new) });
}
cmd ::= DETACH database_kw_opt expr(D). {
self.ctx.stmt = Some(Stmt::Detach(D));