mirror of
https://github.com/aljazceru/turso.git
synced 2025-12-29 22:14:23 +01:00
fix: copy TokenType's as_str from the old parser
This commit is contained in:
@@ -181,178 +181,166 @@ pub enum TokenType {
|
||||
}
|
||||
|
||||
impl TokenType {
|
||||
pub fn as_str(&self) -> Option<&'static str> {
|
||||
Some(match self {
|
||||
TokenType::TK_EOF => return None,
|
||||
TokenType::TK_SEMI => ";",
|
||||
TokenType::TK_EXPLAIN => "EXPLAIN",
|
||||
TokenType::TK_QUERY => "QUERY",
|
||||
TokenType::TK_PLAN => "PLAN",
|
||||
TokenType::TK_BEGIN => "BEGIN",
|
||||
TokenType::TK_TRANSACTION => "TRANSACTION",
|
||||
TokenType::TK_DEFERRED => "DEFERRED",
|
||||
TokenType::TK_IMMEDIATE => "IMMEDIATE",
|
||||
TokenType::TK_EXCLUSIVE => "EXCLUSIVE",
|
||||
TokenType::TK_COMMIT => "COMMIT",
|
||||
TokenType::TK_END => "END",
|
||||
TokenType::TK_ROLLBACK => "ROLLBACK",
|
||||
TokenType::TK_SAVEPOINT => "SAVEPOINT",
|
||||
TokenType::TK_RELEASE => "RELEASE",
|
||||
TokenType::TK_TO => "TO",
|
||||
TokenType::TK_TABLE => "TABLE",
|
||||
TokenType::TK_CREATE => "CREATE",
|
||||
TokenType::TK_IF => "IF",
|
||||
TokenType::TK_NOT => "NOT",
|
||||
TokenType::TK_EXISTS => "EXISTS",
|
||||
TokenType::TK_TEMP => "TEMP",
|
||||
TokenType::TK_LP => "(",
|
||||
TokenType::TK_RP => ")",
|
||||
TokenType::TK_AS => "AS",
|
||||
TokenType::TK_COMMA => ",",
|
||||
TokenType::TK_WITHOUT => "WITHOUT",
|
||||
TokenType::TK_ABORT => "ABORT",
|
||||
TokenType::TK_ACTION => "ACTION",
|
||||
TokenType::TK_AFTER => "AFTER",
|
||||
TokenType::TK_ANALYZE => "ANALYZE",
|
||||
TokenType::TK_ASC => "ASC",
|
||||
TokenType::TK_ATTACH => "ATTACH",
|
||||
TokenType::TK_BEFORE => "BEFORE",
|
||||
TokenType::TK_BY => "BY",
|
||||
TokenType::TK_CASCADE => "CASCADE",
|
||||
TokenType::TK_CAST => "CAST",
|
||||
TokenType::TK_CONFLICT => "CONFLICT",
|
||||
TokenType::TK_DATABASE => "DATABASE",
|
||||
TokenType::TK_DESC => "DESC",
|
||||
TokenType::TK_DETACH => "DETACH",
|
||||
TokenType::TK_EACH => "EACH",
|
||||
TokenType::TK_FAIL => "FAIL",
|
||||
TokenType::TK_OR => "OR",
|
||||
TokenType::TK_AND => "AND",
|
||||
TokenType::TK_IS => "IS",
|
||||
TokenType::TK_ISNOT => "IS NOT",
|
||||
TokenType::TK_MATCH => "MATCH",
|
||||
TokenType::TK_LIKE_KW => "LIKE",
|
||||
TokenType::TK_BETWEEN => "BETWEEN",
|
||||
TokenType::TK_IN => "IN",
|
||||
TokenType::TK_ISNULL => "ISNULL",
|
||||
TokenType::TK_NOTNULL => "NOTNULL",
|
||||
TokenType::TK_NE => "!=",
|
||||
TokenType::TK_EQ => "=",
|
||||
TokenType::TK_GT => ">",
|
||||
TokenType::TK_LE => "<=",
|
||||
TokenType::TK_LT => "<",
|
||||
TokenType::TK_GE => ">=",
|
||||
TokenType::TK_ESCAPE => "ESCAPE",
|
||||
TokenType::TK_ID => return None,
|
||||
TokenType::TK_COLUMNKW => "COLUMN",
|
||||
TokenType::TK_DO => "DO",
|
||||
TokenType::TK_FOR => "FOR",
|
||||
TokenType::TK_IGNORE => "IGNORE",
|
||||
TokenType::TK_INITIALLY => "INITIALLY",
|
||||
TokenType::TK_INSTEAD => "INSTEAD",
|
||||
TokenType::TK_NO => "NO",
|
||||
TokenType::TK_KEY => "KEY",
|
||||
TokenType::TK_OF => "OF",
|
||||
TokenType::TK_OFFSET => "OFFSET",
|
||||
TokenType::TK_PRAGMA => "PRAGMA",
|
||||
TokenType::TK_RAISE => "RAISE",
|
||||
TokenType::TK_RECURSIVE => "RECURSIVE",
|
||||
TokenType::TK_REPLACE => "REPLACE",
|
||||
TokenType::TK_RESTRICT => "RESTRICT",
|
||||
TokenType::TK_ROW => "ROW",
|
||||
TokenType::TK_ROWS => "ROWS",
|
||||
TokenType::TK_TRIGGER => "TRIGGER",
|
||||
TokenType::TK_VACUUM => "VACUUM",
|
||||
TokenType::TK_VIEW => "VIEW",
|
||||
TokenType::TK_VIRTUAL => "VIRTUAL",
|
||||
TokenType::TK_WITH => "WITH",
|
||||
TokenType::TK_NULLS => "NULLS",
|
||||
TokenType::TK_FIRST => "FIRST",
|
||||
TokenType::TK_LAST => "LAST",
|
||||
TokenType::TK_CURRENT => "CURRENT",
|
||||
TokenType::TK_FOLLOWING => "FOLLOWING",
|
||||
TokenType::TK_PARTITION => "PARTITION",
|
||||
TokenType::TK_PRECEDING => "PRECEDING",
|
||||
TokenType::TK_RANGE => "RANGE",
|
||||
TokenType::TK_UNBOUNDED => "UNBOUNDED",
|
||||
TokenType::TK_EXCLUDE => "EXCLUDE",
|
||||
TokenType::TK_GROUPS => "GROUPS",
|
||||
TokenType::TK_OTHERS => "OTHERS",
|
||||
TokenType::TK_TIES => "TIES",
|
||||
TokenType::TK_GENERATED => "GENERATED",
|
||||
TokenType::TK_ALWAYS => "ALWAYS",
|
||||
TokenType::TK_MATERIALIZED => "MATERIALIZED",
|
||||
TokenType::TK_REINDEX => "REINDEX",
|
||||
TokenType::TK_RENAME => "RENAME",
|
||||
TokenType::TK_CTIME_KW => "CURRENT_TIME",
|
||||
TokenType::TK_ANY => "ANY",
|
||||
TokenType::TK_BITAND => "&",
|
||||
TokenType::TK_BITOR => "|",
|
||||
TokenType::TK_LSHIFT => "<<",
|
||||
TokenType::TK_RSHIFT => ">>",
|
||||
TokenType::TK_PLUS => "+",
|
||||
TokenType::TK_MINUS => "-",
|
||||
TokenType::TK_STAR => "*",
|
||||
TokenType::TK_SLASH => "/",
|
||||
TokenType::TK_REM => "%",
|
||||
TokenType::TK_CONCAT => "||",
|
||||
TokenType::TK_PTR => "->",
|
||||
TokenType::TK_COLLATE => "COLLATE",
|
||||
TokenType::TK_BITNOT => "~",
|
||||
TokenType::TK_ON => "ON",
|
||||
TokenType::TK_INDEXED => "INDEXED",
|
||||
TokenType::TK_STRING => "STRING",
|
||||
TokenType::TK_JOIN_KW => "JOIN",
|
||||
TokenType::TK_CONSTRAINT => "CONSTRAINT",
|
||||
TokenType::TK_DEFAULT => "DEFAULT",
|
||||
TokenType::TK_NULL => "NULL",
|
||||
TokenType::TK_PRIMARY => "PRIMARY",
|
||||
TokenType::TK_UNIQUE => "UNIQUE",
|
||||
TokenType::TK_CHECK => "CHECK",
|
||||
TokenType::TK_REFERENCES => "REFERENCES",
|
||||
TokenType::TK_AUTOINCR => "AUTOINCREMENT",
|
||||
TokenType::TK_INSERT => "INSERT",
|
||||
TokenType::TK_DELETE => "DELETE",
|
||||
TokenType::TK_UPDATE => "UPDATE",
|
||||
TokenType::TK_SET => "SET",
|
||||
TokenType::TK_DEFERRABLE => "DEFERRABLE",
|
||||
TokenType::TK_FOREIGN => "FOREIGN",
|
||||
TokenType::TK_DROP => "DROP",
|
||||
TokenType::TK_UNION => "UNION",
|
||||
TokenType::TK_ALL => "ALL",
|
||||
TokenType::TK_EXCEPT => "EXCEPT",
|
||||
TokenType::TK_INTERSECT => "INTERSECT",
|
||||
TokenType::TK_SELECT => "SELECT",
|
||||
TokenType::TK_VALUES => "VALUES",
|
||||
TokenType::TK_DISTINCT => "DISTINCT",
|
||||
TokenType::TK_DOT => ".",
|
||||
TokenType::TK_FROM => "FROM",
|
||||
TokenType::TK_JOIN => "JOIN",
|
||||
TokenType::TK_USING => "USING",
|
||||
TokenType::TK_ORDER => "ORDER",
|
||||
TokenType::TK_GROUP => "GROUP",
|
||||
TokenType::TK_HAVING => "HAVING",
|
||||
TokenType::TK_LIMIT => "LIMIT",
|
||||
TokenType::TK_WHERE => "WHERE",
|
||||
TokenType::TK_RETURNING => "RETURNING",
|
||||
TokenType::TK_INTO => "INTO",
|
||||
TokenType::TK_NOTHING => "NOTHING",
|
||||
TokenType::TK_BLOB => "BLOB",
|
||||
TokenType::TK_FLOAT => "FLOAT",
|
||||
TokenType::TK_INTEGER => "INTEGER",
|
||||
TokenType::TK_VARIABLE => "VARIABLE",
|
||||
TokenType::TK_CASE => "CASE",
|
||||
TokenType::TK_WHEN => "WHEN",
|
||||
TokenType::TK_THEN => "THEN",
|
||||
TokenType::TK_ELSE => "ELSE",
|
||||
TokenType::TK_INDEX => "INDEX",
|
||||
TokenType::TK_ALTER => "ALTER",
|
||||
TokenType::TK_ADD => "ADD",
|
||||
TokenType::TK_WINDOW => "WINDOW",
|
||||
TokenType::TK_OVER => "OVER",
|
||||
TokenType::TK_FILTER => "FILTER",
|
||||
TokenType::TK_ILLEGAL => "ILLEGAL",
|
||||
})
|
||||
/// Return the associated string (mainly for testing)
|
||||
pub const fn as_str(&self) -> Option<&'static str> {
|
||||
match self {
|
||||
TokenType::TK_ABORT => Some("ABORT"),
|
||||
TokenType::TK_ACTION => Some("ACTION"),
|
||||
TokenType::TK_ADD => Some("ADD"),
|
||||
TokenType::TK_AFTER => Some("AFTER"),
|
||||
TokenType::TK_ALL => Some("ALL"),
|
||||
TokenType::TK_ALTER => Some("ALTER"),
|
||||
TokenType::TK_ANALYZE => Some("ANALYZE"),
|
||||
TokenType::TK_ALWAYS => Some("ALWAYS"),
|
||||
TokenType::TK_AND => Some("AND"),
|
||||
TokenType::TK_AS => Some("AS"),
|
||||
TokenType::TK_ASC => Some("ASC"),
|
||||
TokenType::TK_ATTACH => Some("ATTACH"),
|
||||
TokenType::TK_AUTOINCR => Some("AUTOINCREMENT"),
|
||||
TokenType::TK_BEFORE => Some("BEFORE"),
|
||||
TokenType::TK_BEGIN => Some("BEGIN"),
|
||||
TokenType::TK_BETWEEN => Some("BETWEEN"),
|
||||
TokenType::TK_BY => Some("BY"),
|
||||
TokenType::TK_CASCADE => Some("CASCADE"),
|
||||
TokenType::TK_CASE => Some("CASE"),
|
||||
TokenType::TK_CAST => Some("CAST"),
|
||||
TokenType::TK_CHECK => Some("CHECK"),
|
||||
TokenType::TK_COLLATE => Some("COLLATE"),
|
||||
TokenType::TK_COLUMNKW => Some("COLUMN"),
|
||||
TokenType::TK_COMMIT => Some("COMMIT"),
|
||||
TokenType::TK_CONFLICT => Some("CONFLICT"),
|
||||
TokenType::TK_CONSTRAINT => Some("CONSTRAINT"),
|
||||
TokenType::TK_CREATE => Some("CREATE"),
|
||||
TokenType::TK_CURRENT => Some("CURRENT"),
|
||||
TokenType::TK_DATABASE => Some("DATABASE"),
|
||||
TokenType::TK_DEFAULT => Some("DEFAULT"),
|
||||
TokenType::TK_DEFERRABLE => Some("DEFERRABLE"),
|
||||
TokenType::TK_DEFERRED => Some("DEFERRED"),
|
||||
TokenType::TK_DELETE => Some("DELETE"),
|
||||
TokenType::TK_DESC => Some("DESC"),
|
||||
TokenType::TK_DETACH => Some("DETACH"),
|
||||
TokenType::TK_DISTINCT => Some("DISTINCT"),
|
||||
TokenType::TK_DO => Some("DO"),
|
||||
TokenType::TK_DROP => Some("DROP"),
|
||||
TokenType::TK_EACH => Some("EACH"),
|
||||
TokenType::TK_ELSE => Some("ELSE"),
|
||||
TokenType::TK_END => Some("END"),
|
||||
TokenType::TK_ESCAPE => Some("ESCAPE"),
|
||||
TokenType::TK_EXCEPT => Some("EXCEPT"),
|
||||
TokenType::TK_EXCLUDE => Some("EXCLUDE"),
|
||||
TokenType::TK_EXCLUSIVE => Some("EXCLUSIVE"),
|
||||
TokenType::TK_EXISTS => Some("EXISTS"),
|
||||
TokenType::TK_EXPLAIN => Some("EXPLAIN"),
|
||||
TokenType::TK_FAIL => Some("FAIL"),
|
||||
TokenType::TK_FILTER => Some("FILTER"),
|
||||
TokenType::TK_FIRST => Some("FIRST"),
|
||||
TokenType::TK_FOLLOWING => Some("FOLLOWING"),
|
||||
TokenType::TK_FOR => Some("FOR"),
|
||||
TokenType::TK_FOREIGN => Some("FOREIGN"),
|
||||
TokenType::TK_FROM => Some("FROM"),
|
||||
TokenType::TK_GENERATED => Some("GENERATED"),
|
||||
TokenType::TK_GROUP => Some("GROUP"),
|
||||
TokenType::TK_GROUPS => Some("GROUPS"),
|
||||
TokenType::TK_HAVING => Some("HAVING"),
|
||||
TokenType::TK_IF => Some("IF"),
|
||||
TokenType::TK_IGNORE => Some("IGNORE"),
|
||||
TokenType::TK_IMMEDIATE => Some("IMMEDIATE"),
|
||||
TokenType::TK_IN => Some("IN"),
|
||||
TokenType::TK_INDEX => Some("INDEX"),
|
||||
TokenType::TK_INDEXED => Some("INDEXED"),
|
||||
TokenType::TK_INITIALLY => Some("INITIALLY"),
|
||||
TokenType::TK_INSERT => Some("INSERT"),
|
||||
TokenType::TK_INSTEAD => Some("INSTEAD"),
|
||||
TokenType::TK_INTERSECT => Some("INTERSECT"),
|
||||
TokenType::TK_INTO => Some("INTO"),
|
||||
TokenType::TK_IS => Some("IS"),
|
||||
TokenType::TK_ISNULL => Some("ISNULL"),
|
||||
TokenType::TK_JOIN => Some("JOIN"),
|
||||
TokenType::TK_KEY => Some("KEY"),
|
||||
TokenType::TK_LAST => Some("LAST"),
|
||||
TokenType::TK_LIMIT => Some("LIMIT"),
|
||||
TokenType::TK_MATCH => Some("MATCH"),
|
||||
TokenType::TK_MATERIALIZED => Some("MATERIALIZED"),
|
||||
TokenType::TK_NO => Some("NO"),
|
||||
TokenType::TK_NOT => Some("NOT"),
|
||||
TokenType::TK_NOTHING => Some("NOTHING"),
|
||||
TokenType::TK_NOTNULL => Some("NOTNULL"),
|
||||
TokenType::TK_NULL => Some("NULL"),
|
||||
TokenType::TK_NULLS => Some("NULLS"),
|
||||
TokenType::TK_OF => Some("OF"),
|
||||
TokenType::TK_OFFSET => Some("OFFSET"),
|
||||
TokenType::TK_ON => Some("ON"),
|
||||
TokenType::TK_OR => Some("OR"),
|
||||
TokenType::TK_ORDER => Some("ORDER"),
|
||||
TokenType::TK_OTHERS => Some("OTHERS"),
|
||||
TokenType::TK_OVER => Some("OVER"),
|
||||
TokenType::TK_PARTITION => Some("PARTITION"),
|
||||
TokenType::TK_PLAN => Some("PLAN"),
|
||||
TokenType::TK_PRAGMA => Some("PRAGMA"),
|
||||
TokenType::TK_PRECEDING => Some("PRECEDING"),
|
||||
TokenType::TK_PRIMARY => Some("PRIMARY"),
|
||||
TokenType::TK_QUERY => Some("QUERY"),
|
||||
TokenType::TK_RAISE => Some("RAISE"),
|
||||
TokenType::TK_RANGE => Some("RANGE"),
|
||||
TokenType::TK_RECURSIVE => Some("RECURSIVE"),
|
||||
TokenType::TK_REFERENCES => Some("REFERENCES"),
|
||||
TokenType::TK_REINDEX => Some("REINDEX"),
|
||||
TokenType::TK_RELEASE => Some("RELEASE"),
|
||||
TokenType::TK_RENAME => Some("RENAME"),
|
||||
TokenType::TK_REPLACE => Some("REPLACE"),
|
||||
TokenType::TK_RETURNING => Some("RETURNING"),
|
||||
TokenType::TK_RESTRICT => Some("RESTRICT"),
|
||||
TokenType::TK_ROLLBACK => Some("ROLLBACK"),
|
||||
TokenType::TK_ROW => Some("ROW"),
|
||||
TokenType::TK_ROWS => Some("ROWS"),
|
||||
TokenType::TK_SAVEPOINT => Some("SAVEPOINT"),
|
||||
TokenType::TK_SELECT => Some("SELECT"),
|
||||
TokenType::TK_SET => Some("SET"),
|
||||
TokenType::TK_TABLE => Some("TABLE"),
|
||||
TokenType::TK_TEMP => Some("TEMP"), // or TEMPORARY
|
||||
TokenType::TK_TIES => Some("TIES"),
|
||||
TokenType::TK_THEN => Some("THEN"),
|
||||
TokenType::TK_TO => Some("TO"),
|
||||
TokenType::TK_TRANSACTION => Some("TRANSACTION"),
|
||||
TokenType::TK_TRIGGER => Some("TRIGGER"),
|
||||
TokenType::TK_UNBOUNDED => Some("UNBOUNDED"),
|
||||
TokenType::TK_UNION => Some("UNION"),
|
||||
TokenType::TK_UNIQUE => Some("UNIQUE"),
|
||||
TokenType::TK_UPDATE => Some("UPDATE"),
|
||||
TokenType::TK_USING => Some("USING"),
|
||||
TokenType::TK_VACUUM => Some("VACUUM"),
|
||||
TokenType::TK_VALUES => Some("VALUES"),
|
||||
TokenType::TK_VIEW => Some("VIEW"),
|
||||
TokenType::TK_VIRTUAL => Some("VIRTUAL"),
|
||||
TokenType::TK_WHEN => Some("WHEN"),
|
||||
TokenType::TK_WHERE => Some("WHERE"),
|
||||
TokenType::TK_WINDOW => Some("WINDOW"),
|
||||
TokenType::TK_WITH => Some("WITH"),
|
||||
TokenType::TK_WITHOUT => Some("WITHOUT"),
|
||||
TokenType::TK_BITAND => Some("&"),
|
||||
TokenType::TK_BITNOT => Some("~"),
|
||||
TokenType::TK_BITOR => Some("|"),
|
||||
TokenType::TK_COMMA => Some(","),
|
||||
TokenType::TK_CONCAT => Some("||"),
|
||||
TokenType::TK_DOT => Some("."),
|
||||
TokenType::TK_EQ => Some("="), // or ==
|
||||
TokenType::TK_GT => Some(">"),
|
||||
TokenType::TK_GE => Some(">="),
|
||||
TokenType::TK_LP => Some("("),
|
||||
TokenType::TK_LSHIFT => Some("<<"),
|
||||
TokenType::TK_LE => Some("<="),
|
||||
TokenType::TK_LT => Some("<"),
|
||||
TokenType::TK_MINUS => Some("-"),
|
||||
TokenType::TK_NE => Some("!="), // or <>
|
||||
TokenType::TK_PLUS => Some("+"),
|
||||
TokenType::TK_REM => Some("%"),
|
||||
TokenType::TK_RP => Some(")"),
|
||||
TokenType::TK_RSHIFT => Some(">>"),
|
||||
TokenType::TK_SEMI => Some(";"),
|
||||
TokenType::TK_SLASH => Some("/"),
|
||||
TokenType::TK_STAR => Some("*"),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user