pub enum TokenKind {
Show 190 variants
Integer(i64),
Float(f64),
String(String),
Blob(Vec<u8>),
Id(String),
QuotedId(String, bool),
Question,
QuestionNum(u32),
ColonParam(String),
AtParam(String),
DollarParam(String),
Plus,
Minus,
Star,
Slash,
Percent,
Ampersand,
Pipe,
Tilde,
ShiftLeft,
ShiftRight,
Eq,
EqEq,
Ne,
LtGt,
Lt,
Le,
Gt,
Ge,
Concat,
Arrow,
DoubleArrow,
Dot,
Comma,
Semicolon,
LeftParen,
RightParen,
KwAbort,
KwAction,
KwAdd,
KwAfter,
KwAll,
KwAlter,
KwAlways,
KwAnalyze,
KwAnd,
KwAs,
KwAsc,
KwAttach,
KwAutoincrement,
KwBefore,
KwBegin,
KwBetween,
KwBy,
KwCascade,
KwCase,
KwCast,
KwCheck,
KwCollate,
KwColumn,
KwCommit,
KwConcurrent,
KwConflict,
KwConstraint,
KwCreate,
KwCross,
KwCurrentDate,
KwCurrentTime,
KwCurrentTimestamp,
KwDatabase,
KwDefault,
KwDeferrable,
KwDeferred,
KwDelete,
KwDesc,
KwDetach,
KwDistinct,
KwDo,
KwDrop,
KwEach,
KwElse,
KwEnd,
KwEscape,
KwExcept,
KwExclude,
KwExclusive,
KwExists,
KwExplain,
KwFail,
KwFilter,
KwFirst,
KwFollowing,
KwFor,
KwForeign,
KwFrom,
KwFull,
KwGenerated,
KwGlob,
KwGroup,
KwGroups,
KwHaving,
KwIf,
KwIgnore,
KwImmediate,
KwIn,
KwIndex,
KwIndexed,
KwInitially,
KwInner,
KwInsert,
KwInstead,
KwIntersect,
KwInto,
KwIs,
KwIsnull,
KwJoin,
KwKey,
KwLast,
KwLeft,
KwLike,
KwLimit,
KwMatch,
KwMaterialized,
KwNatural,
KwNo,
KwNot,
KwNothing,
KwNotnull,
KwNull,
KwNulls,
KwOf,
KwOffset,
KwOn,
KwOr,
KwOrder,
KwOthers,
KwOuter,
KwOver,
KwPartition,
KwPlan,
KwPragma,
KwPreceding,
KwPrimary,
KwQuery,
KwRaise,
KwRange,
KwRecursive,
KwReferences,
KwRegexp,
KwReindex,
KwRelease,
KwRename,
KwReplace,
KwRestrict,
KwReturning,
KwRight,
KwRollback,
KwRow,
KwRows,
KwSavepoint,
KwSelect,
KwSet,
KwStored,
KwStrict,
KwTable,
KwTemp,
KwTemporary,
KwThen,
KwTies,
KwTo,
KwTransaction,
KwTrigger,
KwTrue,
KwFalse,
KwUnbounded,
KwUnion,
KwUnique,
KwUpdate,
KwUsing,
KwVacuum,
KwValues,
KwView,
KwVirtual,
KwWhen,
KwWhere,
KwWindow,
KwWith,
KwWithout,
Eof,
Error(String),
}Expand description
Token discriminant.
Organized by category: literals, identifiers, keywords (~120), operators, punctuation, and special tokens.
Variants§
Integer(i64)
Integer literal: 42, -7, 0xFF.
Float(f64)
Float literal: 3.14, 1e10, .5.
String(String)
String literal (single-quoted): 'hello'.
Blob(Vec<u8>)
Blob literal: X'CAFE'.
Id(String)
Unquoted identifier.
QuotedId(String, bool)
Quoted identifier ("name", [name], `name`).
The bool is the EP_DblQuoted flag (true if double-quoted).
Question
? anonymous positional.
QuestionNum(u32)
?NNN numbered positional.
ColonParam(String)
:name colon-prefixed named.
AtParam(String)
@name at-prefixed named.
DollarParam(String)
$name dollar-prefixed named.
Plus
Minus
Star
Slash
Percent
Ampersand
Pipe
Tilde
ShiftLeft
ShiftRight
Eq
EqEq
Ne
LtGt
Lt
Le
Gt
Ge
Concat
Arrow
DoubleArrow
Dot
Comma
Semicolon
LeftParen
RightParen
KwAbort
KwAction
KwAdd
KwAfter
KwAll
KwAlter
KwAlways
KwAnalyze
KwAnd
KwAs
KwAsc
KwAttach
KwAutoincrement
KwBefore
KwBegin
KwBetween
KwBy
KwCascade
KwCase
KwCast
KwCheck
KwCollate
KwColumn
KwCommit
KwConcurrent
KwConflict
KwConstraint
KwCreate
KwCross
KwCurrentDate
KwCurrentTime
KwCurrentTimestamp
KwDatabase
KwDefault
KwDeferrable
KwDeferred
KwDelete
KwDesc
KwDetach
KwDistinct
KwDo
KwDrop
KwEach
KwElse
KwEnd
KwEscape
KwExcept
KwExclude
KwExclusive
KwExists
KwExplain
KwFail
KwFilter
KwFirst
KwFollowing
KwFor
KwForeign
KwFrom
KwFull
KwGenerated
KwGlob
KwGroup
KwGroups
KwHaving
KwIf
KwIgnore
KwImmediate
KwIn
KwIndex
KwIndexed
KwInitially
KwInner
KwInsert
KwInstead
KwIntersect
KwInto
KwIs
KwIsnull
KwJoin
KwKey
KwLast
KwLeft
KwLike
KwLimit
KwMatch
KwMaterialized
KwNatural
KwNo
KwNot
KwNothing
KwNotnull
KwNull
KwNulls
KwOf
KwOffset
KwOn
KwOr
KwOrder
KwOthers
KwOuter
KwOver
KwPartition
KwPlan
KwPragma
KwPreceding
KwPrimary
KwQuery
KwRaise
KwRange
KwRecursive
KwReferences
KwRegexp
KwReindex
KwRelease
KwRename
KwReplace
KwRestrict
KwReturning
KwRight
KwRollback
KwRow
KwRows
KwSavepoint
KwSelect
KwSet
KwStored
KwStrict
KwTable
KwTemp
KwTemporary
KwThen
KwTies
KwTo
KwTransaction
KwTrigger
KwTrue
KwFalse
KwUnbounded
KwUnion
KwUnique
KwUpdate
KwUsing
KwVacuum
KwValues
KwView
KwVirtual
KwWhen
KwWhere
KwWindow
KwWith
KwWithout
Eof
End of input.
Error(String)
Lexer error (invalid input).
Implementations§
Source§impl TokenKind
impl TokenKind
Sourcepub fn lookup_keyword(s: &str) -> Option<Self>
pub fn lookup_keyword(s: &str) -> Option<Self>
Look up an identifier string to see if it’s a keyword.
Returns the keyword variant if so, else None.
Sourcepub fn is_statement_start(&self) -> bool
pub fn is_statement_start(&self) -> bool
Returns true if this is a keyword that can start a statement. Used by the parser for error recovery sync points.
Sourcepub fn to_sql(&self) -> String
pub fn to_sql(&self) -> String
Reconstruct a SQL text fragment from this token kind.
Used for opaque argument collection (e.g. virtual table args) where the parser needs to produce readable SQL strings from tokenised input.
Sourcepub const fn keyword_str(&self) -> Option<&'static str>
pub const fn keyword_str(&self) -> Option<&'static str>
Return the SQL keyword text for keyword variants.