From 9b0997a60dd567c284186ef8be22db95989e8cff Mon Sep 17 00:00:00 2001 From: Jussi Saurio Date: Sun, 9 Feb 2025 14:11:00 +0200 Subject: [PATCH] sqlite3-parser: separate boxed CreateVirtualTable struct --- vendored/sqlite3-parser/src/lexer/sql/test.rs | 18 ++++----------- vendored/sqlite3-parser/src/parser/ast/fmt.rs | 13 ++++++----- vendored/sqlite3-parser/src/parser/ast/mod.rs | 23 ++++++++++--------- vendored/sqlite3-parser/src/parser/parse.y | 6 ++--- 4 files changed, 27 insertions(+), 33 deletions(-) diff --git a/vendored/sqlite3-parser/src/lexer/sql/test.rs b/vendored/sqlite3-parser/src/lexer/sql/test.rs index 2ba066bdd..c0923403b 100644 --- a/vendored/sqlite3-parser/src/lexer/sql/test.rs +++ b/vendored/sqlite3-parser/src/lexer/sql/test.rs @@ -3,7 +3,7 @@ use fallible_iterator::FallibleIterator; use super::{Error, Parser}; use crate::parser::ast::fmt::ToTokens; use crate::parser::{ - ast::{Cmd, Name, ParameterInfo, QualifiedName, Stmt}, + ast::{Cmd, ParameterInfo, Stmt}, ParserError, }; @@ -73,20 +73,12 @@ fn vtab_args() -> Result<(), Error> { body TEXT CHECK(length(body)<10240) );"; let r = parse_cmd(sql); - let Cmd::Stmt(Stmt::CreateVirtualTable { - tbl_name: QualifiedName { - name: Name(tbl_name), - .. - }, - module_name: Name(module_name), - args: Some(args), - .. - }) = r - else { + let Cmd::Stmt(Stmt::CreateVirtualTable(create_virtual_table)) = r else { panic!("unexpected AST") }; - assert_eq!(tbl_name, "mail"); - assert_eq!(module_name, "fts3"); + assert_eq!(create_virtual_table.tbl_name.name, "mail"); + assert_eq!(create_virtual_table.module_name.0, "fts3"); + let args = create_virtual_table.args.as_ref().unwrap(); assert_eq!(args.len(), 2); assert_eq!(args[0], "subject VARCHAR(256) NOT NULL"); assert_eq!(args[1], "body TEXT CHECK(length(body)<10240)"); diff --git a/vendored/sqlite3-parser/src/parser/ast/fmt.rs b/vendored/sqlite3-parser/src/parser/ast/fmt.rs index e6959b94e..3c264d607 100644 --- a/vendored/sqlite3-parser/src/parser/ast/fmt.rs +++ b/vendored/sqlite3-parser/src/parser/ast/fmt.rs @@ -283,12 +283,13 @@ impl ToTokens for Stmt { s.append(TK_AS, None)?; select.to_tokens(s) } - Self::CreateVirtualTable { - if_not_exists, - tbl_name, - module_name, - args, - } => { + Self::CreateVirtualTable(create_virtual_table) => { + let CreateVirtualTable { + if_not_exists, + tbl_name, + module_name, + args, + } = &**create_virtual_table; s.append(TK_CREATE, None)?; s.append(TK_VIRTUAL, None)?; s.append(TK_TABLE, None)?; diff --git a/vendored/sqlite3-parser/src/parser/ast/mod.rs b/vendored/sqlite3-parser/src/parser/ast/mod.rs index 6d093c4dd..f942d1090 100644 --- a/vendored/sqlite3-parser/src/parser/ast/mod.rs +++ b/vendored/sqlite3-parser/src/parser/ast/mod.rs @@ -130,16 +130,7 @@ pub enum Stmt { select: Box