#![allow(clippy::all)]
#[repr(u16)]
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
pub enum Keyword {
A,
Abort,
Abs,
Absent,
Absolute,
Access,
Accessible,
Acos,
Action,
Ada,
Add,
Admin,
After,
Aggregate,
All,
Allocate,
Also,
Alter,
Always,
Analyse,
Analyze,
And,
Anti,
Any,
Apply,
Are,
Array,
ArrayAgg,
ArrayMaxCardinality,
As,
Asc,
Asensitive,
Asin,
Asof,
Assertion,
Assignment,
Asymmetric,
At,
Atan,
Atomic,
Attach,
Attribute,
Attributes,
Authorization,
Avg,
Backward,
Before,
Begin,
BeginFrame,
BeginPartition,
Bernoulli,
Between,
Bigint,
Binary,
Bit,
Blob,
Boolean,
Both,
Breadth,
By,
C,
Cache,
Call,
Called,
Cardinality,
Cascade,
Cascaded,
Case,
Cast,
Catalog,
CatalogName,
Ceil,
Ceiling,
Chain,
Chaining,
Change,
Char,
CharLength,
Character,
CharacterLength,
CharacterSetCatalog,
CharacterSetName,
CharacterSetSchema,
Characteristics,
Characters,
Check,
Checkpoint,
Class,
ClassOrigin,
Classifier,
Clob,
Close,
Cluster,
Coalesce,
Cobol,
Collate,
Collation,
CollationCatalog,
CollationName,
CollationSchema,
Collect,
Column,
ColumnName,
Columns,
CommandFunction,
CommandFunctionCode,
Comment,
Comments,
Commit,
Committed,
Compression,
Concurrently,
Condition,
ConditionNumber,
Conditional,
Configuration,
Conflict,
Connect,
Connection,
ConnectionName,
Constraint,
ConstraintCatalog,
ConstraintName,
ConstraintSchema,
Constraints,
Constructor,
Contained,
Contains,
Content,
Continue,
Conversion,
Convert,
Copy,
Corr,
Corresponding,
Cos,
Cosh,
Cost,
Count,
CovarPop,
CovarSamp,
Create,
Cross,
Csv,
Cube,
CumeDist,
Current,
CurrentCatalog,
CurrentDate,
CurrentDefaultTransformGroup,
CurrentPath,
CurrentRole,
CurrentRow,
CurrentSchema,
CurrentTime,
CurrentTimestamp,
CurrentTransformGroupForType,
CurrentUser,
Cursor,
CursorName,
Cycle,
Data,
Database,
Databases,
Date,
DatetimeIntervalCode,
DatetimeIntervalPrecision,
Day,
DayHour,
DayMicrosecond,
DayMinute,
DaySecond,
Deallocate,
Dec,
Decfloat,
Decimal,
Declare,
Default,
Defaults,
Deferrable,
Deferred,
Define,
Defined,
Definer,
Degree,
Delayed,
Delete,
Delimiter,
Delimiters,
DenseRank,
Depends,
Depth,
Deref,
Derived,
Desc,
Describe,
Descriptor,
Destination,
Detach,
Deterministic,
Diagnostics,
Dictionary,
Disable,
Discard,
Disconnect,
Dispatch,
Distinct,
Distinctrow,
Div,
Do,
Document,
Domain,
Double,
Drop,
Dual,
Dynamic,
DynamicFunction,
DynamicFunctionCode,
Each,
Edge,
Element,
Else,
Elseif,
Empty,
Enable,
Enclosed,
Encoding,
Encrypted,
End,
EndFrame,
EndPartition,
Enforced,
Enum,
Equals,
Error,
Escape,
Escaped,
Event,
Every,
Except,
Exclude,
Excluding,
Exclusive,
Exec,
Execute,
Exists,
Exit,
Exp,
Explain,
Expression,
Extend,
Extension,
External,
Extract,
False,
Family,
Fetch,
Filter,
Final,
Finalize,
Finish,
First,
FirstValue,
Flag,
Float,
Float4,
Float8,
Floor,
Following,
For,
Force,
Foreign,
Format,
Fortran,
Forward,
Found,
FrameRow,
Free,
Freeze,
From,
Fulfill,
Full,
Fulltext,
Function,
Functions,
Fusion,
G,
General,
Generated,
Get,
Glob,
Global,
Go,
Goto,
Grant,
Granted,
Graph,
GraphTable,
Greatest,
Group,
Grouping,
Groups,
Handler,
Having,
Header,
Hierarchy,
HighPriority,
Hold,
Hour,
HourMicrosecond,
HourMinute,
HourSecond,
Identity,
If,
Ignore,
Ilike,
Immediate,
Immediately,
Immutable,
Implementation,
Implicit,
Import,
In,
Include,
Including,
Increment,
Indent,
Index,
Indexed,
Indexes,
Indicator,
Infile,
Inherit,
Inherits,
Initial,
Initially,
Inline,
Inner,
Inout,
Input,
Insensitive,
Insert,
Instance,
Instantiable,
Instead,
Int,
Int1,
Int2,
Int3,
Int4,
Int8,
Integer,
Intersect,
Intersection,
Interval,
Into,
Invoker,
IoAfterGtids,
IoBeforeGtids,
Is,
Isnull,
Isolation,
Iterate,
Join,
Json,
JsonArray,
JsonArrayagg,
JsonExists,
JsonObject,
JsonObjectagg,
JsonQuery,
JsonScalar,
JsonSerialize,
JsonTable,
JsonTablePrimitive,
JsonValue,
K,
Keep,
Key,
KeyMember,
KeyType,
Keys,
Kill,
Label,
Lag,
Language,
Large,
Last,
LastValue,
Lateral,
Lead,
Leading,
Leakproof,
Least,
Leave,
Left,
Length,
Level,
Like,
LikeRegex,
Limit,
Linear,
Lines,
Listagg,
Listen,
Ln,
Load,
Local,
Localtime,
Localtimestamp,
Location,
Locator,
Lock,
Locked,
Log,
Log10,
Logged,
Long,
Longblob,
Longtext,
Loop,
LowPriority,
Lower,
Lsn,
M,
Map,
Mapping,
Match,
MatchNumber,
MatchRecognize,
Matched,
Matches,
Materialized,
Max,
Maxvalue,
Measures,
Mediumblob,
Mediumint,
Mediumtext,
Member,
Merge,
MergeAction,
MessageLength,
MessageOctetLength,
MessageText,
Method,
Middleint,
Min,
Minute,
MinuteMicrosecond,
MinuteSecond,
Minvalue,
Mod,
Mode,
Modifies,
Module,
Month,
More,
Move,
Multiset,
Mumps,
Name,
Names,
National,
Natural,
Nchar,
Nclob,
Nested,
Nesting,
New,
Next,
Nfc,
Nfd,
Nfkc,
Nfkd,
No,
NoWriteToBinlog,
Node,
None,
Normalize,
Normalized,
Not,
Nothing,
Notify,
Notnull,
Nowait,
NthValue,
Ntile,
Null,
NullOrdering,
Nullable,
Nullif,
Nulls,
Number,
Numeric,
Object,
Objects,
Occurrence,
OccurrencesRegex,
OctetLength,
Octets,
Of,
Off,
Offset,
Oids,
Old,
Omit,
On,
One,
Only,
Open,
Openjson,
Operator,
Optimize,
Option,
Optionally,
Options,
Or,
Order,
Ordering,
Ordinality,
Others,
Out,
Outer,
Outfile,
Output,
Over,
Overflow,
Overlaps,
Overlay,
Overriding,
Owned,
Owner,
P,
Pad,
Parallel,
Parameter,
ParameterMode,
ParameterName,
ParameterOrdinalPosition,
ParameterSpecificCatalog,
ParameterSpecificName,
ParameterSpecificSchema,
Parser,
Partial,
Partition,
Partitions,
Pascal,
Pass,
Passing,
Password,
Past,
Path,
Pattern,
Per,
Percent,
PercentRank,
PercentileCont,
PercentileDisc,
Period,
Permute,
Pipe,
Pivot,
Placing,
Plan,
Plans,
Pli,
Policy,
Portion,
Position,
PositionRegex,
Positional,
Power,
Precedes,
Preceding,
Precision,
Prepare,
Prepared,
Preserve,
Prev,
Primary,
Prior,
Private,
Privileges,
Procedural,
Procedure,
Procedures,
Program,
Properties,
Property,
Prune,
Ptf,
Public,
Publication,
Purge,
Qualify,
Quote,
Quotes,
Range,
Rank,
Read,
ReadWrite,
Reads,
Real,
Reassign,
Recursive,
Ref,
References,
Referencing,
Refresh,
Regexp,
RegrAvgx,
RegrAvgy,
RegrCount,
RegrIntercept,
RegrR2,
RegrSlope,
RegrSxx,
RegrSxy,
RegrSyy,
Reindex,
Relationship,
Relative,
Release,
Rename,
Repack,
Repeat,
Repeatable,
Replace,
Replica,
Require,
Reset,
Resignal,
Respect,
Restart,
Restrict,
Result,
Return,
ReturnedCardinality,
ReturnedLength,
ReturnedOctetLength,
ReturnedSqlstate,
Returning,
Returns,
Revoke,
Right,
Rlike,
Role,
Rollback,
Rollup,
Routine,
RoutineCatalog,
RoutineName,
RoutineSchema,
Routines,
Row,
RowCount,
RowNumber,
Rows,
Rule,
Running,
Savepoint,
Scalar,
Scale,
Schema,
SchemaName,
Schemas,
Scope,
ScopeCatalog,
ScopeName,
ScopeSchema,
Scroll,
Search,
Second,
SecondMicrosecond,
Section,
Security,
Seek,
Select,
Self_,
Semantics,
Semi,
Sensitive,
Separator,
Sequence,
Sequences,
Serializable,
Server,
ServerName,
Session,
SessionUser,
Set,
Setof,
Sets,
Share,
Show,
Signal,
Similar,
Simple,
Sin,
Sinh,
Size,
Skip,
Smallint,
Snapshot,
Some,
SortDirection,
Source,
Space,
Spatial,
Specific,
SpecificName,
Specifictype,
Split,
Sql,
SqlBigResult,
SqlCalcFoundRows,
SqlSmallResult,
Sqlexception,
Sqlstate,
Sqlwarning,
Sqrt,
Ssl,
Stable,
Standalone,
Start,
Starting,
State,
Statement,
Static,
Statistics,
StddevPop,
StddevSamp,
Stdin,
Stdout,
Storage,
Stored,
StraightJoin,
Strict,
String,
Strip,
Structure,
Style,
SubclassOrigin,
Submultiset,
Subscription,
Subset,
Substring,
SubstringRegex,
Succeeds,
Sum,
Support,
Symmetric,
Sysid,
System,
SystemTime,
SystemUser,
T,
Table,
TableName,
Tables,
Tablesample,
Tablespace,
Tan,
Tanh,
Target,
Temp,
Template,
Temporary,
Terminated,
Text,
Then,
Through,
Ties,
Time,
Timestamp,
TimezoneHour,
TimezoneMinute,
Tinyblob,
Tinyint,
Tinytext,
To,
TopLevelCount,
Trailing,
Transaction,
TransactionActive,
TransactionsCommitted,
TransactionsRolledBack,
Transform,
Transforms,
Translate,
TranslateRegex,
Translation,
Treat,
Trigger,
TriggerCatalog,
TriggerName,
TriggerSchema,
Trim,
TrimArray,
True,
Truncate,
Trusted,
Type,
Types,
Uescape,
Unbounded,
Uncommitted,
Unconditional,
Under,
Undo,
Unencrypted,
Union,
Unique,
Unknown,
Unlisten,
Unlock,
Unlogged,
Unmatched,
Unnamed,
Unnest,
Unpivot,
Unsigned,
Until,
Update,
Upper,
Usage,
Use,
User,
UserDefinedTypeCatalog,
UserDefinedTypeCode,
UserDefinedTypeName,
UserDefinedTypeSchema,
Using,
UtcDate,
UtcTime,
UtcTimestamp,
Utf16,
Utf32,
Utf8,
Vacuum,
Valid,
Validate,
Validator,
Value,
ValueOf,
Values,
VarPop,
VarSamp,
Varbinary,
Varchar,
Varcharacter,
Variadic,
Varying,
Verbose,
Version,
Versioning,
Vertex,
View,
Views,
Virtual,
Volatile,
Wait,
When,
Whenever,
Where,
While,
Whitespace,
WidthBucket,
Window,
With,
Within,
Without,
Work,
Wrapper,
Write,
Xml,
Xmlattributes,
Xmlconcat,
Xmlelement,
Xmlexists,
Xmlforest,
Xmlnamespaces,
Xmlparse,
Xmlpi,
Xmlroot,
Xmlserialize,
Xmltable,
Xor,
Year,
YearMonth,
Yes,
Zerofill,
Zone,
}
impl Keyword {
pub const ALL: [Self; 894] = [
Self::A,
Self::Abort,
Self::Abs,
Self::Absent,
Self::Absolute,
Self::Access,
Self::Accessible,
Self::Acos,
Self::Action,
Self::Ada,
Self::Add,
Self::Admin,
Self::After,
Self::Aggregate,
Self::All,
Self::Allocate,
Self::Also,
Self::Alter,
Self::Always,
Self::Analyse,
Self::Analyze,
Self::And,
Self::Anti,
Self::Any,
Self::Apply,
Self::Are,
Self::Array,
Self::ArrayAgg,
Self::ArrayMaxCardinality,
Self::As,
Self::Asc,
Self::Asensitive,
Self::Asin,
Self::Asof,
Self::Assertion,
Self::Assignment,
Self::Asymmetric,
Self::At,
Self::Atan,
Self::Atomic,
Self::Attach,
Self::Attribute,
Self::Attributes,
Self::Authorization,
Self::Avg,
Self::Backward,
Self::Before,
Self::Begin,
Self::BeginFrame,
Self::BeginPartition,
Self::Bernoulli,
Self::Between,
Self::Bigint,
Self::Binary,
Self::Bit,
Self::Blob,
Self::Boolean,
Self::Both,
Self::Breadth,
Self::By,
Self::C,
Self::Cache,
Self::Call,
Self::Called,
Self::Cardinality,
Self::Cascade,
Self::Cascaded,
Self::Case,
Self::Cast,
Self::Catalog,
Self::CatalogName,
Self::Ceil,
Self::Ceiling,
Self::Chain,
Self::Chaining,
Self::Change,
Self::Char,
Self::CharLength,
Self::Character,
Self::CharacterLength,
Self::CharacterSetCatalog,
Self::CharacterSetName,
Self::CharacterSetSchema,
Self::Characteristics,
Self::Characters,
Self::Check,
Self::Checkpoint,
Self::Class,
Self::ClassOrigin,
Self::Classifier,
Self::Clob,
Self::Close,
Self::Cluster,
Self::Coalesce,
Self::Cobol,
Self::Collate,
Self::Collation,
Self::CollationCatalog,
Self::CollationName,
Self::CollationSchema,
Self::Collect,
Self::Column,
Self::ColumnName,
Self::Columns,
Self::CommandFunction,
Self::CommandFunctionCode,
Self::Comment,
Self::Comments,
Self::Commit,
Self::Committed,
Self::Compression,
Self::Concurrently,
Self::Condition,
Self::ConditionNumber,
Self::Conditional,
Self::Configuration,
Self::Conflict,
Self::Connect,
Self::Connection,
Self::ConnectionName,
Self::Constraint,
Self::ConstraintCatalog,
Self::ConstraintName,
Self::ConstraintSchema,
Self::Constraints,
Self::Constructor,
Self::Contained,
Self::Contains,
Self::Content,
Self::Continue,
Self::Conversion,
Self::Convert,
Self::Copy,
Self::Corr,
Self::Corresponding,
Self::Cos,
Self::Cosh,
Self::Cost,
Self::Count,
Self::CovarPop,
Self::CovarSamp,
Self::Create,
Self::Cross,
Self::Csv,
Self::Cube,
Self::CumeDist,
Self::Current,
Self::CurrentCatalog,
Self::CurrentDate,
Self::CurrentDefaultTransformGroup,
Self::CurrentPath,
Self::CurrentRole,
Self::CurrentRow,
Self::CurrentSchema,
Self::CurrentTime,
Self::CurrentTimestamp,
Self::CurrentTransformGroupForType,
Self::CurrentUser,
Self::Cursor,
Self::CursorName,
Self::Cycle,
Self::Data,
Self::Database,
Self::Databases,
Self::Date,
Self::DatetimeIntervalCode,
Self::DatetimeIntervalPrecision,
Self::Day,
Self::DayHour,
Self::DayMicrosecond,
Self::DayMinute,
Self::DaySecond,
Self::Deallocate,
Self::Dec,
Self::Decfloat,
Self::Decimal,
Self::Declare,
Self::Default,
Self::Defaults,
Self::Deferrable,
Self::Deferred,
Self::Define,
Self::Defined,
Self::Definer,
Self::Degree,
Self::Delayed,
Self::Delete,
Self::Delimiter,
Self::Delimiters,
Self::DenseRank,
Self::Depends,
Self::Depth,
Self::Deref,
Self::Derived,
Self::Desc,
Self::Describe,
Self::Descriptor,
Self::Destination,
Self::Detach,
Self::Deterministic,
Self::Diagnostics,
Self::Dictionary,
Self::Disable,
Self::Discard,
Self::Disconnect,
Self::Dispatch,
Self::Distinct,
Self::Distinctrow,
Self::Div,
Self::Do,
Self::Document,
Self::Domain,
Self::Double,
Self::Drop,
Self::Dual,
Self::Dynamic,
Self::DynamicFunction,
Self::DynamicFunctionCode,
Self::Each,
Self::Edge,
Self::Element,
Self::Else,
Self::Elseif,
Self::Empty,
Self::Enable,
Self::Enclosed,
Self::Encoding,
Self::Encrypted,
Self::End,
Self::EndFrame,
Self::EndPartition,
Self::Enforced,
Self::Enum,
Self::Equals,
Self::Error,
Self::Escape,
Self::Escaped,
Self::Event,
Self::Every,
Self::Except,
Self::Exclude,
Self::Excluding,
Self::Exclusive,
Self::Exec,
Self::Execute,
Self::Exists,
Self::Exit,
Self::Exp,
Self::Explain,
Self::Expression,
Self::Extend,
Self::Extension,
Self::External,
Self::Extract,
Self::False,
Self::Family,
Self::Fetch,
Self::Filter,
Self::Final,
Self::Finalize,
Self::Finish,
Self::First,
Self::FirstValue,
Self::Flag,
Self::Float,
Self::Float4,
Self::Float8,
Self::Floor,
Self::Following,
Self::For,
Self::Force,
Self::Foreign,
Self::Format,
Self::Fortran,
Self::Forward,
Self::Found,
Self::FrameRow,
Self::Free,
Self::Freeze,
Self::From,
Self::Fulfill,
Self::Full,
Self::Fulltext,
Self::Function,
Self::Functions,
Self::Fusion,
Self::G,
Self::General,
Self::Generated,
Self::Get,
Self::Glob,
Self::Global,
Self::Go,
Self::Goto,
Self::Grant,
Self::Granted,
Self::Graph,
Self::GraphTable,
Self::Greatest,
Self::Group,
Self::Grouping,
Self::Groups,
Self::Handler,
Self::Having,
Self::Header,
Self::Hierarchy,
Self::HighPriority,
Self::Hold,
Self::Hour,
Self::HourMicrosecond,
Self::HourMinute,
Self::HourSecond,
Self::Identity,
Self::If,
Self::Ignore,
Self::Ilike,
Self::Immediate,
Self::Immediately,
Self::Immutable,
Self::Implementation,
Self::Implicit,
Self::Import,
Self::In,
Self::Include,
Self::Including,
Self::Increment,
Self::Indent,
Self::Index,
Self::Indexed,
Self::Indexes,
Self::Indicator,
Self::Infile,
Self::Inherit,
Self::Inherits,
Self::Initial,
Self::Initially,
Self::Inline,
Self::Inner,
Self::Inout,
Self::Input,
Self::Insensitive,
Self::Insert,
Self::Instance,
Self::Instantiable,
Self::Instead,
Self::Int,
Self::Int1,
Self::Int2,
Self::Int3,
Self::Int4,
Self::Int8,
Self::Integer,
Self::Intersect,
Self::Intersection,
Self::Interval,
Self::Into,
Self::Invoker,
Self::IoAfterGtids,
Self::IoBeforeGtids,
Self::Is,
Self::Isnull,
Self::Isolation,
Self::Iterate,
Self::Join,
Self::Json,
Self::JsonArray,
Self::JsonArrayagg,
Self::JsonExists,
Self::JsonObject,
Self::JsonObjectagg,
Self::JsonQuery,
Self::JsonScalar,
Self::JsonSerialize,
Self::JsonTable,
Self::JsonTablePrimitive,
Self::JsonValue,
Self::K,
Self::Keep,
Self::Key,
Self::KeyMember,
Self::KeyType,
Self::Keys,
Self::Kill,
Self::Label,
Self::Lag,
Self::Language,
Self::Large,
Self::Last,
Self::LastValue,
Self::Lateral,
Self::Lead,
Self::Leading,
Self::Leakproof,
Self::Least,
Self::Leave,
Self::Left,
Self::Length,
Self::Level,
Self::Like,
Self::LikeRegex,
Self::Limit,
Self::Linear,
Self::Lines,
Self::Listagg,
Self::Listen,
Self::Ln,
Self::Load,
Self::Local,
Self::Localtime,
Self::Localtimestamp,
Self::Location,
Self::Locator,
Self::Lock,
Self::Locked,
Self::Log,
Self::Log10,
Self::Logged,
Self::Long,
Self::Longblob,
Self::Longtext,
Self::Loop,
Self::LowPriority,
Self::Lower,
Self::Lsn,
Self::M,
Self::Map,
Self::Mapping,
Self::Match,
Self::MatchNumber,
Self::MatchRecognize,
Self::Matched,
Self::Matches,
Self::Materialized,
Self::Max,
Self::Maxvalue,
Self::Measures,
Self::Mediumblob,
Self::Mediumint,
Self::Mediumtext,
Self::Member,
Self::Merge,
Self::MergeAction,
Self::MessageLength,
Self::MessageOctetLength,
Self::MessageText,
Self::Method,
Self::Middleint,
Self::Min,
Self::Minute,
Self::MinuteMicrosecond,
Self::MinuteSecond,
Self::Minvalue,
Self::Mod,
Self::Mode,
Self::Modifies,
Self::Module,
Self::Month,
Self::More,
Self::Move,
Self::Multiset,
Self::Mumps,
Self::Name,
Self::Names,
Self::National,
Self::Natural,
Self::Nchar,
Self::Nclob,
Self::Nested,
Self::Nesting,
Self::New,
Self::Next,
Self::Nfc,
Self::Nfd,
Self::Nfkc,
Self::Nfkd,
Self::No,
Self::NoWriteToBinlog,
Self::Node,
Self::None,
Self::Normalize,
Self::Normalized,
Self::Not,
Self::Nothing,
Self::Notify,
Self::Notnull,
Self::Nowait,
Self::NthValue,
Self::Ntile,
Self::Null,
Self::NullOrdering,
Self::Nullable,
Self::Nullif,
Self::Nulls,
Self::Number,
Self::Numeric,
Self::Object,
Self::Objects,
Self::Occurrence,
Self::OccurrencesRegex,
Self::OctetLength,
Self::Octets,
Self::Of,
Self::Off,
Self::Offset,
Self::Oids,
Self::Old,
Self::Omit,
Self::On,
Self::One,
Self::Only,
Self::Open,
Self::Openjson,
Self::Operator,
Self::Optimize,
Self::Option,
Self::Optionally,
Self::Options,
Self::Or,
Self::Order,
Self::Ordering,
Self::Ordinality,
Self::Others,
Self::Out,
Self::Outer,
Self::Outfile,
Self::Output,
Self::Over,
Self::Overflow,
Self::Overlaps,
Self::Overlay,
Self::Overriding,
Self::Owned,
Self::Owner,
Self::P,
Self::Pad,
Self::Parallel,
Self::Parameter,
Self::ParameterMode,
Self::ParameterName,
Self::ParameterOrdinalPosition,
Self::ParameterSpecificCatalog,
Self::ParameterSpecificName,
Self::ParameterSpecificSchema,
Self::Parser,
Self::Partial,
Self::Partition,
Self::Partitions,
Self::Pascal,
Self::Pass,
Self::Passing,
Self::Password,
Self::Past,
Self::Path,
Self::Pattern,
Self::Per,
Self::Percent,
Self::PercentRank,
Self::PercentileCont,
Self::PercentileDisc,
Self::Period,
Self::Permute,
Self::Pipe,
Self::Pivot,
Self::Placing,
Self::Plan,
Self::Plans,
Self::Pli,
Self::Policy,
Self::Portion,
Self::Position,
Self::PositionRegex,
Self::Positional,
Self::Power,
Self::Precedes,
Self::Preceding,
Self::Precision,
Self::Prepare,
Self::Prepared,
Self::Preserve,
Self::Prev,
Self::Primary,
Self::Prior,
Self::Private,
Self::Privileges,
Self::Procedural,
Self::Procedure,
Self::Procedures,
Self::Program,
Self::Properties,
Self::Property,
Self::Prune,
Self::Ptf,
Self::Public,
Self::Publication,
Self::Purge,
Self::Qualify,
Self::Quote,
Self::Quotes,
Self::Range,
Self::Rank,
Self::Read,
Self::ReadWrite,
Self::Reads,
Self::Real,
Self::Reassign,
Self::Recursive,
Self::Ref,
Self::References,
Self::Referencing,
Self::Refresh,
Self::Regexp,
Self::RegrAvgx,
Self::RegrAvgy,
Self::RegrCount,
Self::RegrIntercept,
Self::RegrR2,
Self::RegrSlope,
Self::RegrSxx,
Self::RegrSxy,
Self::RegrSyy,
Self::Reindex,
Self::Relationship,
Self::Relative,
Self::Release,
Self::Rename,
Self::Repack,
Self::Repeat,
Self::Repeatable,
Self::Replace,
Self::Replica,
Self::Require,
Self::Reset,
Self::Resignal,
Self::Respect,
Self::Restart,
Self::Restrict,
Self::Result,
Self::Return,
Self::ReturnedCardinality,
Self::ReturnedLength,
Self::ReturnedOctetLength,
Self::ReturnedSqlstate,
Self::Returning,
Self::Returns,
Self::Revoke,
Self::Right,
Self::Rlike,
Self::Role,
Self::Rollback,
Self::Rollup,
Self::Routine,
Self::RoutineCatalog,
Self::RoutineName,
Self::RoutineSchema,
Self::Routines,
Self::Row,
Self::RowCount,
Self::RowNumber,
Self::Rows,
Self::Rule,
Self::Running,
Self::Savepoint,
Self::Scalar,
Self::Scale,
Self::Schema,
Self::SchemaName,
Self::Schemas,
Self::Scope,
Self::ScopeCatalog,
Self::ScopeName,
Self::ScopeSchema,
Self::Scroll,
Self::Search,
Self::Second,
Self::SecondMicrosecond,
Self::Section,
Self::Security,
Self::Seek,
Self::Select,
Self::Self_,
Self::Semantics,
Self::Semi,
Self::Sensitive,
Self::Separator,
Self::Sequence,
Self::Sequences,
Self::Serializable,
Self::Server,
Self::ServerName,
Self::Session,
Self::SessionUser,
Self::Set,
Self::Setof,
Self::Sets,
Self::Share,
Self::Show,
Self::Signal,
Self::Similar,
Self::Simple,
Self::Sin,
Self::Sinh,
Self::Size,
Self::Skip,
Self::Smallint,
Self::Snapshot,
Self::Some,
Self::SortDirection,
Self::Source,
Self::Space,
Self::Spatial,
Self::Specific,
Self::SpecificName,
Self::Specifictype,
Self::Split,
Self::Sql,
Self::SqlBigResult,
Self::SqlCalcFoundRows,
Self::SqlSmallResult,
Self::Sqlexception,
Self::Sqlstate,
Self::Sqlwarning,
Self::Sqrt,
Self::Ssl,
Self::Stable,
Self::Standalone,
Self::Start,
Self::Starting,
Self::State,
Self::Statement,
Self::Static,
Self::Statistics,
Self::StddevPop,
Self::StddevSamp,
Self::Stdin,
Self::Stdout,
Self::Storage,
Self::Stored,
Self::StraightJoin,
Self::Strict,
Self::String,
Self::Strip,
Self::Structure,
Self::Style,
Self::SubclassOrigin,
Self::Submultiset,
Self::Subscription,
Self::Subset,
Self::Substring,
Self::SubstringRegex,
Self::Succeeds,
Self::Sum,
Self::Support,
Self::Symmetric,
Self::Sysid,
Self::System,
Self::SystemTime,
Self::SystemUser,
Self::T,
Self::Table,
Self::TableName,
Self::Tables,
Self::Tablesample,
Self::Tablespace,
Self::Tan,
Self::Tanh,
Self::Target,
Self::Temp,
Self::Template,
Self::Temporary,
Self::Terminated,
Self::Text,
Self::Then,
Self::Through,
Self::Ties,
Self::Time,
Self::Timestamp,
Self::TimezoneHour,
Self::TimezoneMinute,
Self::Tinyblob,
Self::Tinyint,
Self::Tinytext,
Self::To,
Self::TopLevelCount,
Self::Trailing,
Self::Transaction,
Self::TransactionActive,
Self::TransactionsCommitted,
Self::TransactionsRolledBack,
Self::Transform,
Self::Transforms,
Self::Translate,
Self::TranslateRegex,
Self::Translation,
Self::Treat,
Self::Trigger,
Self::TriggerCatalog,
Self::TriggerName,
Self::TriggerSchema,
Self::Trim,
Self::TrimArray,
Self::True,
Self::Truncate,
Self::Trusted,
Self::Type,
Self::Types,
Self::Uescape,
Self::Unbounded,
Self::Uncommitted,
Self::Unconditional,
Self::Under,
Self::Undo,
Self::Unencrypted,
Self::Union,
Self::Unique,
Self::Unknown,
Self::Unlisten,
Self::Unlock,
Self::Unlogged,
Self::Unmatched,
Self::Unnamed,
Self::Unnest,
Self::Unpivot,
Self::Unsigned,
Self::Until,
Self::Update,
Self::Upper,
Self::Usage,
Self::Use,
Self::User,
Self::UserDefinedTypeCatalog,
Self::UserDefinedTypeCode,
Self::UserDefinedTypeName,
Self::UserDefinedTypeSchema,
Self::Using,
Self::UtcDate,
Self::UtcTime,
Self::UtcTimestamp,
Self::Utf16,
Self::Utf32,
Self::Utf8,
Self::Vacuum,
Self::Valid,
Self::Validate,
Self::Validator,
Self::Value,
Self::ValueOf,
Self::Values,
Self::VarPop,
Self::VarSamp,
Self::Varbinary,
Self::Varchar,
Self::Varcharacter,
Self::Variadic,
Self::Varying,
Self::Verbose,
Self::Version,
Self::Versioning,
Self::Vertex,
Self::View,
Self::Views,
Self::Virtual,
Self::Volatile,
Self::Wait,
Self::When,
Self::Whenever,
Self::Where,
Self::While,
Self::Whitespace,
Self::WidthBucket,
Self::Window,
Self::With,
Self::Within,
Self::Without,
Self::Work,
Self::Wrapper,
Self::Write,
Self::Xml,
Self::Xmlattributes,
Self::Xmlconcat,
Self::Xmlelement,
Self::Xmlexists,
Self::Xmlforest,
Self::Xmlnamespaces,
Self::Xmlparse,
Self::Xmlpi,
Self::Xmlroot,
Self::Xmlserialize,
Self::Xmltable,
Self::Xor,
Self::Year,
Self::YearMonth,
Self::Yes,
Self::Zerofill,
Self::Zone,
];
pub const fn as_str(self) -> &'static str {
match self {
Self::A => "a",
Self::Abort => "abort",
Self::Abs => "abs",
Self::Absent => "absent",
Self::Absolute => "absolute",
Self::Access => "access",
Self::Accessible => "accessible",
Self::Acos => "acos",
Self::Action => "action",
Self::Ada => "ada",
Self::Add => "add",
Self::Admin => "admin",
Self::After => "after",
Self::Aggregate => "aggregate",
Self::All => "all",
Self::Allocate => "allocate",
Self::Also => "also",
Self::Alter => "alter",
Self::Always => "always",
Self::Analyse => "analyse",
Self::Analyze => "analyze",
Self::And => "and",
Self::Anti => "anti",
Self::Any => "any",
Self::Apply => "apply",
Self::Are => "are",
Self::Array => "array",
Self::ArrayAgg => "array_agg",
Self::ArrayMaxCardinality => "array_max_cardinality",
Self::As => "as",
Self::Asc => "asc",
Self::Asensitive => "asensitive",
Self::Asin => "asin",
Self::Asof => "asof",
Self::Assertion => "assertion",
Self::Assignment => "assignment",
Self::Asymmetric => "asymmetric",
Self::At => "at",
Self::Atan => "atan",
Self::Atomic => "atomic",
Self::Attach => "attach",
Self::Attribute => "attribute",
Self::Attributes => "attributes",
Self::Authorization => "authorization",
Self::Avg => "avg",
Self::Backward => "backward",
Self::Before => "before",
Self::Begin => "begin",
Self::BeginFrame => "begin_frame",
Self::BeginPartition => "begin_partition",
Self::Bernoulli => "bernoulli",
Self::Between => "between",
Self::Bigint => "bigint",
Self::Binary => "binary",
Self::Bit => "bit",
Self::Blob => "blob",
Self::Boolean => "boolean",
Self::Both => "both",
Self::Breadth => "breadth",
Self::By => "by",
Self::C => "c",
Self::Cache => "cache",
Self::Call => "call",
Self::Called => "called",
Self::Cardinality => "cardinality",
Self::Cascade => "cascade",
Self::Cascaded => "cascaded",
Self::Case => "case",
Self::Cast => "cast",
Self::Catalog => "catalog",
Self::CatalogName => "catalog_name",
Self::Ceil => "ceil",
Self::Ceiling => "ceiling",
Self::Chain => "chain",
Self::Chaining => "chaining",
Self::Change => "change",
Self::Char => "char",
Self::CharLength => "char_length",
Self::Character => "character",
Self::CharacterLength => "character_length",
Self::CharacterSetCatalog => "character_set_catalog",
Self::CharacterSetName => "character_set_name",
Self::CharacterSetSchema => "character_set_schema",
Self::Characteristics => "characteristics",
Self::Characters => "characters",
Self::Check => "check",
Self::Checkpoint => "checkpoint",
Self::Class => "class",
Self::ClassOrigin => "class_origin",
Self::Classifier => "classifier",
Self::Clob => "clob",
Self::Close => "close",
Self::Cluster => "cluster",
Self::Coalesce => "coalesce",
Self::Cobol => "cobol",
Self::Collate => "collate",
Self::Collation => "collation",
Self::CollationCatalog => "collation_catalog",
Self::CollationName => "collation_name",
Self::CollationSchema => "collation_schema",
Self::Collect => "collect",
Self::Column => "column",
Self::ColumnName => "column_name",
Self::Columns => "columns",
Self::CommandFunction => "command_function",
Self::CommandFunctionCode => "command_function_code",
Self::Comment => "comment",
Self::Comments => "comments",
Self::Commit => "commit",
Self::Committed => "committed",
Self::Compression => "compression",
Self::Concurrently => "concurrently",
Self::Condition => "condition",
Self::ConditionNumber => "condition_number",
Self::Conditional => "conditional",
Self::Configuration => "configuration",
Self::Conflict => "conflict",
Self::Connect => "connect",
Self::Connection => "connection",
Self::ConnectionName => "connection_name",
Self::Constraint => "constraint",
Self::ConstraintCatalog => "constraint_catalog",
Self::ConstraintName => "constraint_name",
Self::ConstraintSchema => "constraint_schema",
Self::Constraints => "constraints",
Self::Constructor => "constructor",
Self::Contained => "contained",
Self::Contains => "contains",
Self::Content => "content",
Self::Continue => "continue",
Self::Conversion => "conversion",
Self::Convert => "convert",
Self::Copy => "copy",
Self::Corr => "corr",
Self::Corresponding => "corresponding",
Self::Cos => "cos",
Self::Cosh => "cosh",
Self::Cost => "cost",
Self::Count => "count",
Self::CovarPop => "covar_pop",
Self::CovarSamp => "covar_samp",
Self::Create => "create",
Self::Cross => "cross",
Self::Csv => "csv",
Self::Cube => "cube",
Self::CumeDist => "cume_dist",
Self::Current => "current",
Self::CurrentCatalog => "current_catalog",
Self::CurrentDate => "current_date",
Self::CurrentDefaultTransformGroup => "current_default_transform_group",
Self::CurrentPath => "current_path",
Self::CurrentRole => "current_role",
Self::CurrentRow => "current_row",
Self::CurrentSchema => "current_schema",
Self::CurrentTime => "current_time",
Self::CurrentTimestamp => "current_timestamp",
Self::CurrentTransformGroupForType => "current_transform_group_for_type",
Self::CurrentUser => "current_user",
Self::Cursor => "cursor",
Self::CursorName => "cursor_name",
Self::Cycle => "cycle",
Self::Data => "data",
Self::Database => "database",
Self::Databases => "databases",
Self::Date => "date",
Self::DatetimeIntervalCode => "datetime_interval_code",
Self::DatetimeIntervalPrecision => "datetime_interval_precision",
Self::Day => "day",
Self::DayHour => "day_hour",
Self::DayMicrosecond => "day_microsecond",
Self::DayMinute => "day_minute",
Self::DaySecond => "day_second",
Self::Deallocate => "deallocate",
Self::Dec => "dec",
Self::Decfloat => "decfloat",
Self::Decimal => "decimal",
Self::Declare => "declare",
Self::Default => "default",
Self::Defaults => "defaults",
Self::Deferrable => "deferrable",
Self::Deferred => "deferred",
Self::Define => "define",
Self::Defined => "defined",
Self::Definer => "definer",
Self::Degree => "degree",
Self::Delayed => "delayed",
Self::Delete => "delete",
Self::Delimiter => "delimiter",
Self::Delimiters => "delimiters",
Self::DenseRank => "dense_rank",
Self::Depends => "depends",
Self::Depth => "depth",
Self::Deref => "deref",
Self::Derived => "derived",
Self::Desc => "desc",
Self::Describe => "describe",
Self::Descriptor => "descriptor",
Self::Destination => "destination",
Self::Detach => "detach",
Self::Deterministic => "deterministic",
Self::Diagnostics => "diagnostics",
Self::Dictionary => "dictionary",
Self::Disable => "disable",
Self::Discard => "discard",
Self::Disconnect => "disconnect",
Self::Dispatch => "dispatch",
Self::Distinct => "distinct",
Self::Distinctrow => "distinctrow",
Self::Div => "div",
Self::Do => "do",
Self::Document => "document",
Self::Domain => "domain",
Self::Double => "double",
Self::Drop => "drop",
Self::Dual => "dual",
Self::Dynamic => "dynamic",
Self::DynamicFunction => "dynamic_function",
Self::DynamicFunctionCode => "dynamic_function_code",
Self::Each => "each",
Self::Edge => "edge",
Self::Element => "element",
Self::Else => "else",
Self::Elseif => "elseif",
Self::Empty => "empty",
Self::Enable => "enable",
Self::Enclosed => "enclosed",
Self::Encoding => "encoding",
Self::Encrypted => "encrypted",
Self::End => "end",
Self::EndFrame => "end_frame",
Self::EndPartition => "end_partition",
Self::Enforced => "enforced",
Self::Enum => "enum",
Self::Equals => "equals",
Self::Error => "error",
Self::Escape => "escape",
Self::Escaped => "escaped",
Self::Event => "event",
Self::Every => "every",
Self::Except => "except",
Self::Exclude => "exclude",
Self::Excluding => "excluding",
Self::Exclusive => "exclusive",
Self::Exec => "exec",
Self::Execute => "execute",
Self::Exists => "exists",
Self::Exit => "exit",
Self::Exp => "exp",
Self::Explain => "explain",
Self::Expression => "expression",
Self::Extend => "extend",
Self::Extension => "extension",
Self::External => "external",
Self::Extract => "extract",
Self::False => "false",
Self::Family => "family",
Self::Fetch => "fetch",
Self::Filter => "filter",
Self::Final => "final",
Self::Finalize => "finalize",
Self::Finish => "finish",
Self::First => "first",
Self::FirstValue => "first_value",
Self::Flag => "flag",
Self::Float => "float",
Self::Float4 => "float4",
Self::Float8 => "float8",
Self::Floor => "floor",
Self::Following => "following",
Self::For => "for",
Self::Force => "force",
Self::Foreign => "foreign",
Self::Format => "format",
Self::Fortran => "fortran",
Self::Forward => "forward",
Self::Found => "found",
Self::FrameRow => "frame_row",
Self::Free => "free",
Self::Freeze => "freeze",
Self::From => "from",
Self::Fulfill => "fulfill",
Self::Full => "full",
Self::Fulltext => "fulltext",
Self::Function => "function",
Self::Functions => "functions",
Self::Fusion => "fusion",
Self::G => "g",
Self::General => "general",
Self::Generated => "generated",
Self::Get => "get",
Self::Glob => "glob",
Self::Global => "global",
Self::Go => "go",
Self::Goto => "goto",
Self::Grant => "grant",
Self::Granted => "granted",
Self::Graph => "graph",
Self::GraphTable => "graph_table",
Self::Greatest => "greatest",
Self::Group => "group",
Self::Grouping => "grouping",
Self::Groups => "groups",
Self::Handler => "handler",
Self::Having => "having",
Self::Header => "header",
Self::Hierarchy => "hierarchy",
Self::HighPriority => "high_priority",
Self::Hold => "hold",
Self::Hour => "hour",
Self::HourMicrosecond => "hour_microsecond",
Self::HourMinute => "hour_minute",
Self::HourSecond => "hour_second",
Self::Identity => "identity",
Self::If => "if",
Self::Ignore => "ignore",
Self::Ilike => "ilike",
Self::Immediate => "immediate",
Self::Immediately => "immediately",
Self::Immutable => "immutable",
Self::Implementation => "implementation",
Self::Implicit => "implicit",
Self::Import => "import",
Self::In => "in",
Self::Include => "include",
Self::Including => "including",
Self::Increment => "increment",
Self::Indent => "indent",
Self::Index => "index",
Self::Indexed => "indexed",
Self::Indexes => "indexes",
Self::Indicator => "indicator",
Self::Infile => "infile",
Self::Inherit => "inherit",
Self::Inherits => "inherits",
Self::Initial => "initial",
Self::Initially => "initially",
Self::Inline => "inline",
Self::Inner => "inner",
Self::Inout => "inout",
Self::Input => "input",
Self::Insensitive => "insensitive",
Self::Insert => "insert",
Self::Instance => "instance",
Self::Instantiable => "instantiable",
Self::Instead => "instead",
Self::Int => "int",
Self::Int1 => "int1",
Self::Int2 => "int2",
Self::Int3 => "int3",
Self::Int4 => "int4",
Self::Int8 => "int8",
Self::Integer => "integer",
Self::Intersect => "intersect",
Self::Intersection => "intersection",
Self::Interval => "interval",
Self::Into => "into",
Self::Invoker => "invoker",
Self::IoAfterGtids => "io_after_gtids",
Self::IoBeforeGtids => "io_before_gtids",
Self::Is => "is",
Self::Isnull => "isnull",
Self::Isolation => "isolation",
Self::Iterate => "iterate",
Self::Join => "join",
Self::Json => "json",
Self::JsonArray => "json_array",
Self::JsonArrayagg => "json_arrayagg",
Self::JsonExists => "json_exists",
Self::JsonObject => "json_object",
Self::JsonObjectagg => "json_objectagg",
Self::JsonQuery => "json_query",
Self::JsonScalar => "json_scalar",
Self::JsonSerialize => "json_serialize",
Self::JsonTable => "json_table",
Self::JsonTablePrimitive => "json_table_primitive",
Self::JsonValue => "json_value",
Self::K => "k",
Self::Keep => "keep",
Self::Key => "key",
Self::KeyMember => "key_member",
Self::KeyType => "key_type",
Self::Keys => "keys",
Self::Kill => "kill",
Self::Label => "label",
Self::Lag => "lag",
Self::Language => "language",
Self::Large => "large",
Self::Last => "last",
Self::LastValue => "last_value",
Self::Lateral => "lateral",
Self::Lead => "lead",
Self::Leading => "leading",
Self::Leakproof => "leakproof",
Self::Least => "least",
Self::Leave => "leave",
Self::Left => "left",
Self::Length => "length",
Self::Level => "level",
Self::Like => "like",
Self::LikeRegex => "like_regex",
Self::Limit => "limit",
Self::Linear => "linear",
Self::Lines => "lines",
Self::Listagg => "listagg",
Self::Listen => "listen",
Self::Ln => "ln",
Self::Load => "load",
Self::Local => "local",
Self::Localtime => "localtime",
Self::Localtimestamp => "localtimestamp",
Self::Location => "location",
Self::Locator => "locator",
Self::Lock => "lock",
Self::Locked => "locked",
Self::Log => "log",
Self::Log10 => "log10",
Self::Logged => "logged",
Self::Long => "long",
Self::Longblob => "longblob",
Self::Longtext => "longtext",
Self::Loop => "loop",
Self::LowPriority => "low_priority",
Self::Lower => "lower",
Self::Lsn => "lsn",
Self::M => "m",
Self::Map => "map",
Self::Mapping => "mapping",
Self::Match => "match",
Self::MatchNumber => "match_number",
Self::MatchRecognize => "match_recognize",
Self::Matched => "matched",
Self::Matches => "matches",
Self::Materialized => "materialized",
Self::Max => "max",
Self::Maxvalue => "maxvalue",
Self::Measures => "measures",
Self::Mediumblob => "mediumblob",
Self::Mediumint => "mediumint",
Self::Mediumtext => "mediumtext",
Self::Member => "member",
Self::Merge => "merge",
Self::MergeAction => "merge_action",
Self::MessageLength => "message_length",
Self::MessageOctetLength => "message_octet_length",
Self::MessageText => "message_text",
Self::Method => "method",
Self::Middleint => "middleint",
Self::Min => "min",
Self::Minute => "minute",
Self::MinuteMicrosecond => "minute_microsecond",
Self::MinuteSecond => "minute_second",
Self::Minvalue => "minvalue",
Self::Mod => "mod",
Self::Mode => "mode",
Self::Modifies => "modifies",
Self::Module => "module",
Self::Month => "month",
Self::More => "more",
Self::Move => "move",
Self::Multiset => "multiset",
Self::Mumps => "mumps",
Self::Name => "name",
Self::Names => "names",
Self::National => "national",
Self::Natural => "natural",
Self::Nchar => "nchar",
Self::Nclob => "nclob",
Self::Nested => "nested",
Self::Nesting => "nesting",
Self::New => "new",
Self::Next => "next",
Self::Nfc => "nfc",
Self::Nfd => "nfd",
Self::Nfkc => "nfkc",
Self::Nfkd => "nfkd",
Self::No => "no",
Self::NoWriteToBinlog => "no_write_to_binlog",
Self::Node => "node",
Self::None => "none",
Self::Normalize => "normalize",
Self::Normalized => "normalized",
Self::Not => "not",
Self::Nothing => "nothing",
Self::Notify => "notify",
Self::Notnull => "notnull",
Self::Nowait => "nowait",
Self::NthValue => "nth_value",
Self::Ntile => "ntile",
Self::Null => "null",
Self::NullOrdering => "null_ordering",
Self::Nullable => "nullable",
Self::Nullif => "nullif",
Self::Nulls => "nulls",
Self::Number => "number",
Self::Numeric => "numeric",
Self::Object => "object",
Self::Objects => "objects",
Self::Occurrence => "occurrence",
Self::OccurrencesRegex => "occurrences_regex",
Self::OctetLength => "octet_length",
Self::Octets => "octets",
Self::Of => "of",
Self::Off => "off",
Self::Offset => "offset",
Self::Oids => "oids",
Self::Old => "old",
Self::Omit => "omit",
Self::On => "on",
Self::One => "one",
Self::Only => "only",
Self::Open => "open",
Self::Openjson => "openjson",
Self::Operator => "operator",
Self::Optimize => "optimize",
Self::Option => "option",
Self::Optionally => "optionally",
Self::Options => "options",
Self::Or => "or",
Self::Order => "order",
Self::Ordering => "ordering",
Self::Ordinality => "ordinality",
Self::Others => "others",
Self::Out => "out",
Self::Outer => "outer",
Self::Outfile => "outfile",
Self::Output => "output",
Self::Over => "over",
Self::Overflow => "overflow",
Self::Overlaps => "overlaps",
Self::Overlay => "overlay",
Self::Overriding => "overriding",
Self::Owned => "owned",
Self::Owner => "owner",
Self::P => "p",
Self::Pad => "pad",
Self::Parallel => "parallel",
Self::Parameter => "parameter",
Self::ParameterMode => "parameter_mode",
Self::ParameterName => "parameter_name",
Self::ParameterOrdinalPosition => "parameter_ordinal_position",
Self::ParameterSpecificCatalog => "parameter_specific_catalog",
Self::ParameterSpecificName => "parameter_specific_name",
Self::ParameterSpecificSchema => "parameter_specific_schema",
Self::Parser => "parser",
Self::Partial => "partial",
Self::Partition => "partition",
Self::Partitions => "partitions",
Self::Pascal => "pascal",
Self::Pass => "pass",
Self::Passing => "passing",
Self::Password => "password",
Self::Past => "past",
Self::Path => "path",
Self::Pattern => "pattern",
Self::Per => "per",
Self::Percent => "percent",
Self::PercentRank => "percent_rank",
Self::PercentileCont => "percentile_cont",
Self::PercentileDisc => "percentile_disc",
Self::Period => "period",
Self::Permute => "permute",
Self::Pipe => "pipe",
Self::Pivot => "pivot",
Self::Placing => "placing",
Self::Plan => "plan",
Self::Plans => "plans",
Self::Pli => "pli",
Self::Policy => "policy",
Self::Portion => "portion",
Self::Position => "position",
Self::PositionRegex => "position_regex",
Self::Positional => "positional",
Self::Power => "power",
Self::Precedes => "precedes",
Self::Preceding => "preceding",
Self::Precision => "precision",
Self::Prepare => "prepare",
Self::Prepared => "prepared",
Self::Preserve => "preserve",
Self::Prev => "prev",
Self::Primary => "primary",
Self::Prior => "prior",
Self::Private => "private",
Self::Privileges => "privileges",
Self::Procedural => "procedural",
Self::Procedure => "procedure",
Self::Procedures => "procedures",
Self::Program => "program",
Self::Properties => "properties",
Self::Property => "property",
Self::Prune => "prune",
Self::Ptf => "ptf",
Self::Public => "public",
Self::Publication => "publication",
Self::Purge => "purge",
Self::Qualify => "qualify",
Self::Quote => "quote",
Self::Quotes => "quotes",
Self::Range => "range",
Self::Rank => "rank",
Self::Read => "read",
Self::ReadWrite => "read_write",
Self::Reads => "reads",
Self::Real => "real",
Self::Reassign => "reassign",
Self::Recursive => "recursive",
Self::Ref => "ref",
Self::References => "references",
Self::Referencing => "referencing",
Self::Refresh => "refresh",
Self::Regexp => "regexp",
Self::RegrAvgx => "regr_avgx",
Self::RegrAvgy => "regr_avgy",
Self::RegrCount => "regr_count",
Self::RegrIntercept => "regr_intercept",
Self::RegrR2 => "regr_r2",
Self::RegrSlope => "regr_slope",
Self::RegrSxx => "regr_sxx",
Self::RegrSxy => "regr_sxy",
Self::RegrSyy => "regr_syy",
Self::Reindex => "reindex",
Self::Relationship => "relationship",
Self::Relative => "relative",
Self::Release => "release",
Self::Rename => "rename",
Self::Repack => "repack",
Self::Repeat => "repeat",
Self::Repeatable => "repeatable",
Self::Replace => "replace",
Self::Replica => "replica",
Self::Require => "require",
Self::Reset => "reset",
Self::Resignal => "resignal",
Self::Respect => "respect",
Self::Restart => "restart",
Self::Restrict => "restrict",
Self::Result => "result",
Self::Return => "return",
Self::ReturnedCardinality => "returned_cardinality",
Self::ReturnedLength => "returned_length",
Self::ReturnedOctetLength => "returned_octet_length",
Self::ReturnedSqlstate => "returned_sqlstate",
Self::Returning => "returning",
Self::Returns => "returns",
Self::Revoke => "revoke",
Self::Right => "right",
Self::Rlike => "rlike",
Self::Role => "role",
Self::Rollback => "rollback",
Self::Rollup => "rollup",
Self::Routine => "routine",
Self::RoutineCatalog => "routine_catalog",
Self::RoutineName => "routine_name",
Self::RoutineSchema => "routine_schema",
Self::Routines => "routines",
Self::Row => "row",
Self::RowCount => "row_count",
Self::RowNumber => "row_number",
Self::Rows => "rows",
Self::Rule => "rule",
Self::Running => "running",
Self::Savepoint => "savepoint",
Self::Scalar => "scalar",
Self::Scale => "scale",
Self::Schema => "schema",
Self::SchemaName => "schema_name",
Self::Schemas => "schemas",
Self::Scope => "scope",
Self::ScopeCatalog => "scope_catalog",
Self::ScopeName => "scope_name",
Self::ScopeSchema => "scope_schema",
Self::Scroll => "scroll",
Self::Search => "search",
Self::Second => "second",
Self::SecondMicrosecond => "second_microsecond",
Self::Section => "section",
Self::Security => "security",
Self::Seek => "seek",
Self::Select => "select",
Self::Self_ => "self",
Self::Semantics => "semantics",
Self::Semi => "semi",
Self::Sensitive => "sensitive",
Self::Separator => "separator",
Self::Sequence => "sequence",
Self::Sequences => "sequences",
Self::Serializable => "serializable",
Self::Server => "server",
Self::ServerName => "server_name",
Self::Session => "session",
Self::SessionUser => "session_user",
Self::Set => "set",
Self::Setof => "setof",
Self::Sets => "sets",
Self::Share => "share",
Self::Show => "show",
Self::Signal => "signal",
Self::Similar => "similar",
Self::Simple => "simple",
Self::Sin => "sin",
Self::Sinh => "sinh",
Self::Size => "size",
Self::Skip => "skip",
Self::Smallint => "smallint",
Self::Snapshot => "snapshot",
Self::Some => "some",
Self::SortDirection => "sort_direction",
Self::Source => "source",
Self::Space => "space",
Self::Spatial => "spatial",
Self::Specific => "specific",
Self::SpecificName => "specific_name",
Self::Specifictype => "specifictype",
Self::Split => "split",
Self::Sql => "sql",
Self::SqlBigResult => "sql_big_result",
Self::SqlCalcFoundRows => "sql_calc_found_rows",
Self::SqlSmallResult => "sql_small_result",
Self::Sqlexception => "sqlexception",
Self::Sqlstate => "sqlstate",
Self::Sqlwarning => "sqlwarning",
Self::Sqrt => "sqrt",
Self::Ssl => "ssl",
Self::Stable => "stable",
Self::Standalone => "standalone",
Self::Start => "start",
Self::Starting => "starting",
Self::State => "state",
Self::Statement => "statement",
Self::Static => "static",
Self::Statistics => "statistics",
Self::StddevPop => "stddev_pop",
Self::StddevSamp => "stddev_samp",
Self::Stdin => "stdin",
Self::Stdout => "stdout",
Self::Storage => "storage",
Self::Stored => "stored",
Self::StraightJoin => "straight_join",
Self::Strict => "strict",
Self::String => "string",
Self::Strip => "strip",
Self::Structure => "structure",
Self::Style => "style",
Self::SubclassOrigin => "subclass_origin",
Self::Submultiset => "submultiset",
Self::Subscription => "subscription",
Self::Subset => "subset",
Self::Substring => "substring",
Self::SubstringRegex => "substring_regex",
Self::Succeeds => "succeeds",
Self::Sum => "sum",
Self::Support => "support",
Self::Symmetric => "symmetric",
Self::Sysid => "sysid",
Self::System => "system",
Self::SystemTime => "system_time",
Self::SystemUser => "system_user",
Self::T => "t",
Self::Table => "table",
Self::TableName => "table_name",
Self::Tables => "tables",
Self::Tablesample => "tablesample",
Self::Tablespace => "tablespace",
Self::Tan => "tan",
Self::Tanh => "tanh",
Self::Target => "target",
Self::Temp => "temp",
Self::Template => "template",
Self::Temporary => "temporary",
Self::Terminated => "terminated",
Self::Text => "text",
Self::Then => "then",
Self::Through => "through",
Self::Ties => "ties",
Self::Time => "time",
Self::Timestamp => "timestamp",
Self::TimezoneHour => "timezone_hour",
Self::TimezoneMinute => "timezone_minute",
Self::Tinyblob => "tinyblob",
Self::Tinyint => "tinyint",
Self::Tinytext => "tinytext",
Self::To => "to",
Self::TopLevelCount => "top_level_count",
Self::Trailing => "trailing",
Self::Transaction => "transaction",
Self::TransactionActive => "transaction_active",
Self::TransactionsCommitted => "transactions_committed",
Self::TransactionsRolledBack => "transactions_rolled_back",
Self::Transform => "transform",
Self::Transforms => "transforms",
Self::Translate => "translate",
Self::TranslateRegex => "translate_regex",
Self::Translation => "translation",
Self::Treat => "treat",
Self::Trigger => "trigger",
Self::TriggerCatalog => "trigger_catalog",
Self::TriggerName => "trigger_name",
Self::TriggerSchema => "trigger_schema",
Self::Trim => "trim",
Self::TrimArray => "trim_array",
Self::True => "true",
Self::Truncate => "truncate",
Self::Trusted => "trusted",
Self::Type => "type",
Self::Types => "types",
Self::Uescape => "uescape",
Self::Unbounded => "unbounded",
Self::Uncommitted => "uncommitted",
Self::Unconditional => "unconditional",
Self::Under => "under",
Self::Undo => "undo",
Self::Unencrypted => "unencrypted",
Self::Union => "union",
Self::Unique => "unique",
Self::Unknown => "unknown",
Self::Unlisten => "unlisten",
Self::Unlock => "unlock",
Self::Unlogged => "unlogged",
Self::Unmatched => "unmatched",
Self::Unnamed => "unnamed",
Self::Unnest => "unnest",
Self::Unpivot => "unpivot",
Self::Unsigned => "unsigned",
Self::Until => "until",
Self::Update => "update",
Self::Upper => "upper",
Self::Usage => "usage",
Self::Use => "use",
Self::User => "user",
Self::UserDefinedTypeCatalog => "user_defined_type_catalog",
Self::UserDefinedTypeCode => "user_defined_type_code",
Self::UserDefinedTypeName => "user_defined_type_name",
Self::UserDefinedTypeSchema => "user_defined_type_schema",
Self::Using => "using",
Self::UtcDate => "utc_date",
Self::UtcTime => "utc_time",
Self::UtcTimestamp => "utc_timestamp",
Self::Utf16 => "utf16",
Self::Utf32 => "utf32",
Self::Utf8 => "utf8",
Self::Vacuum => "vacuum",
Self::Valid => "valid",
Self::Validate => "validate",
Self::Validator => "validator",
Self::Value => "value",
Self::ValueOf => "value_of",
Self::Values => "values",
Self::VarPop => "var_pop",
Self::VarSamp => "var_samp",
Self::Varbinary => "varbinary",
Self::Varchar => "varchar",
Self::Varcharacter => "varcharacter",
Self::Variadic => "variadic",
Self::Varying => "varying",
Self::Verbose => "verbose",
Self::Version => "version",
Self::Versioning => "versioning",
Self::Vertex => "vertex",
Self::View => "view",
Self::Views => "views",
Self::Virtual => "virtual",
Self::Volatile => "volatile",
Self::Wait => "wait",
Self::When => "when",
Self::Whenever => "whenever",
Self::Where => "where",
Self::While => "while",
Self::Whitespace => "whitespace",
Self::WidthBucket => "width_bucket",
Self::Window => "window",
Self::With => "with",
Self::Within => "within",
Self::Without => "without",
Self::Work => "work",
Self::Wrapper => "wrapper",
Self::Write => "write",
Self::Xml => "xml",
Self::Xmlattributes => "xmlattributes",
Self::Xmlconcat => "xmlconcat",
Self::Xmlelement => "xmlelement",
Self::Xmlexists => "xmlexists",
Self::Xmlforest => "xmlforest",
Self::Xmlnamespaces => "xmlnamespaces",
Self::Xmlparse => "xmlparse",
Self::Xmlpi => "xmlpi",
Self::Xmlroot => "xmlroot",
Self::Xmlserialize => "xmlserialize",
Self::Xmltable => "xmltable",
Self::Xor => "xor",
Self::Year => "year",
Self::YearMonth => "year_month",
Self::Yes => "yes",
Self::Zerofill => "zerofill",
Self::Zone => "zone",
}
}
}
pub fn lookup_keyword(word: &str) -> Option<Keyword> {
let bytes = word.as_bytes();
match bytes.len() {
1 => search(KEYWORDS_LEN_1, pack_u64(bytes)),
2 => search(KEYWORDS_LEN_2, pack_u64(bytes)),
3 => search(KEYWORDS_LEN_3, pack_u64(bytes)),
4 => search(KEYWORDS_LEN_4, pack_u64(bytes)),
5 => search(KEYWORDS_LEN_5, pack_u64(bytes)),
6 => search(KEYWORDS_LEN_6, pack_u64(bytes)),
7 => search(KEYWORDS_LEN_7, pack_u64(bytes)),
8 => search(KEYWORDS_LEN_8, pack_u64(bytes)),
9 => search(KEYWORDS_LEN_9, pack_u128(bytes)),
10 => search(KEYWORDS_LEN_10, pack_u128(bytes)),
11 => search(KEYWORDS_LEN_11, pack_u128(bytes)),
12 => search(KEYWORDS_LEN_12, pack_u128(bytes)),
13 => search(KEYWORDS_LEN_13, pack_u128(bytes)),
14 => search(KEYWORDS_LEN_14, pack_u128(bytes)),
15 => search(KEYWORDS_LEN_15, pack_u128(bytes)),
16 => search(KEYWORDS_LEN_16, pack_u128(bytes)),
17 => search_bytes(KEYWORDS_LEN_17, bytes),
18 => search_bytes(KEYWORDS_LEN_18, bytes),
19 => search_bytes(KEYWORDS_LEN_19, bytes),
20 => search_bytes(KEYWORDS_LEN_20, bytes),
21 => search_bytes(KEYWORDS_LEN_21, bytes),
22 => search_bytes(KEYWORDS_LEN_22, bytes),
23 => search_bytes(KEYWORDS_LEN_23, bytes),
24 => search_bytes(KEYWORDS_LEN_24, bytes),
25 => search_bytes(KEYWORDS_LEN_25, bytes),
26 => search_bytes(KEYWORDS_LEN_26, bytes),
27 => search_bytes(KEYWORDS_LEN_27, bytes),
31 => search_bytes(KEYWORDS_LEN_31, bytes),
32 => search_bytes(KEYWORDS_LEN_32, bytes),
_ => None,
}
}
#[inline]
fn pack_u64(bytes: &[u8]) -> u64 {
let mut key = 0u64;
for &byte in bytes {
key = (key << 8) | byte.to_ascii_lowercase() as u64;
}
key
}
#[inline]
fn pack_u128(bytes: &[u8]) -> u128 {
let mut key = 0u128;
for &byte in bytes {
key = (key << 8) | byte.to_ascii_lowercase() as u128;
}
key
}
#[inline]
fn search<Key: Copy + Ord>(table: &[(Key, Keyword)], key: Key) -> Option<Keyword> {
table
.binary_search_by_key(&key, |&(packed, _)| packed)
.ok()
.map(|index| table[index].1)
}
const MAX_KEYWORD_LEN: usize = 32;
fn search_bytes(table: &[(&[u8], Keyword)], word: &[u8]) -> Option<Keyword> {
let mut lowered = [0u8; MAX_KEYWORD_LEN];
for (slot, byte) in lowered.iter_mut().zip(word) {
*slot = byte.to_ascii_lowercase();
}
let key = &lowered[..word.len()];
table
.binary_search_by(|(candidate, _)| (*candidate).cmp(key))
.ok()
.map(|index| table[index].1)
}
const KEYWORDS_LEN_1: &[(u64, Keyword)] = &[
(0x61, Keyword::A), (0x63, Keyword::C), (0x67, Keyword::G), (0x6b, Keyword::K), (0x6d, Keyword::M), (0x70, Keyword::P), (0x74, Keyword::T), ];
const KEYWORDS_LEN_2: &[(u64, Keyword)] = &[
(0x6173, Keyword::As), (0x6174, Keyword::At), (0x6279, Keyword::By), (0x646f, Keyword::Do), (0x676f, Keyword::Go), (0x6966, Keyword::If), (0x696e, Keyword::In), (0x6973, Keyword::Is), (0x6c6e, Keyword::Ln), (0x6e6f, Keyword::No), (0x6f66, Keyword::Of), (0x6f6e, Keyword::On), (0x6f72, Keyword::Or), (0x746f, Keyword::To), ];
const KEYWORDS_LEN_3: &[(u64, Keyword)] = &[
(0x616273, Keyword::Abs), (0x616461, Keyword::Ada), (0x616464, Keyword::Add), (0x616c6c, Keyword::All), (0x616e64, Keyword::And), (0x616e79, Keyword::Any), (0x617265, Keyword::Are), (0x617363, Keyword::Asc), (0x617667, Keyword::Avg), (0x626974, Keyword::Bit), (0x636f73, Keyword::Cos), (0x637376, Keyword::Csv), (0x646179, Keyword::Day), (0x646563, Keyword::Dec), (0x646976, Keyword::Div), (0x656e64, Keyword::End), (0x657870, Keyword::Exp), (0x666f72, Keyword::For), (0x676574, Keyword::Get), (0x696e74, Keyword::Int), (0x6b6579, Keyword::Key), (0x6c6167, Keyword::Lag), (0x6c6f67, Keyword::Log), (0x6c736e, Keyword::Lsn), (0x6d6170, Keyword::Map), (0x6d6178, Keyword::Max), (0x6d696e, Keyword::Min), (0x6d6f64, Keyword::Mod), (0x6e6577, Keyword::New), (0x6e6663, Keyword::Nfc), (0x6e6664, Keyword::Nfd), (0x6e6f74, Keyword::Not), (0x6f6666, Keyword::Off), (0x6f6c64, Keyword::Old), (0x6f6e65, Keyword::One), (0x6f7574, Keyword::Out), (0x706164, Keyword::Pad), (0x706572, Keyword::Per), (0x706c69, Keyword::Pli), (0x707466, Keyword::Ptf), (0x726566, Keyword::Ref), (0x726f77, Keyword::Row), (0x736574, Keyword::Set), (0x73696e, Keyword::Sin), (0x73716c, Keyword::Sql), (0x73736c, Keyword::Ssl), (0x73756d, Keyword::Sum), (0x74616e, Keyword::Tan), (0x757365, Keyword::Use), (0x786d6c, Keyword::Xml), (0x786f72, Keyword::Xor), (0x796573, Keyword::Yes), ];
const KEYWORDS_LEN_4: &[(u64, Keyword)] = &[
(0x61636f73, Keyword::Acos), (0x616c736f, Keyword::Also), (0x616e7469, Keyword::Anti), (0x6173696e, Keyword::Asin), (0x61736f66, Keyword::Asof), (0x6174616e, Keyword::Atan), (0x626c6f62, Keyword::Blob), (0x626f7468, Keyword::Both), (0x63616c6c, Keyword::Call), (0x63617365, Keyword::Case), (0x63617374, Keyword::Cast), (0x6365696c, Keyword::Ceil), (0x63686172, Keyword::Char), (0x636c6f62, Keyword::Clob), (0x636f7079, Keyword::Copy), (0x636f7272, Keyword::Corr), (0x636f7368, Keyword::Cosh), (0x636f7374, Keyword::Cost), (0x63756265, Keyword::Cube), (0x64617461, Keyword::Data), (0x64617465, Keyword::Date), (0x64657363, Keyword::Desc), (0x64726f70, Keyword::Drop), (0x6475616c, Keyword::Dual), (0x65616368, Keyword::Each), (0x65646765, Keyword::Edge), (0x656c7365, Keyword::Else), (0x656e756d, Keyword::Enum), (0x65786563, Keyword::Exec), (0x65786974, Keyword::Exit), (0x666c6167, Keyword::Flag), (0x66726565, Keyword::Free), (0x66726f6d, Keyword::From), (0x66756c6c, Keyword::Full), (0x676c6f62, Keyword::Glob), (0x676f746f, Keyword::Goto), (0x686f6c64, Keyword::Hold), (0x686f7572, Keyword::Hour), (0x696e7431, Keyword::Int1), (0x696e7432, Keyword::Int2), (0x696e7433, Keyword::Int3), (0x696e7434, Keyword::Int4), (0x696e7438, Keyword::Int8), (0x696e746f, Keyword::Into), (0x6a6f696e, Keyword::Join), (0x6a736f6e, Keyword::Json), (0x6b656570, Keyword::Keep), (0x6b657973, Keyword::Keys), (0x6b696c6c, Keyword::Kill), (0x6c617374, Keyword::Last), (0x6c656164, Keyword::Lead), (0x6c656674, Keyword::Left), (0x6c696b65, Keyword::Like), (0x6c6f6164, Keyword::Load), (0x6c6f636b, Keyword::Lock), (0x6c6f6e67, Keyword::Long), (0x6c6f6f70, Keyword::Loop), (0x6d6f6465, Keyword::Mode), (0x6d6f7265, Keyword::More), (0x6d6f7665, Keyword::Move), (0x6e616d65, Keyword::Name), (0x6e657874, Keyword::Next), (0x6e666b63, Keyword::Nfkc), (0x6e666b64, Keyword::Nfkd), (0x6e6f6465, Keyword::Node), (0x6e6f6e65, Keyword::None), (0x6e756c6c, Keyword::Null), (0x6f696473, Keyword::Oids), (0x6f6d6974, Keyword::Omit), (0x6f6e6c79, Keyword::Only), (0x6f70656e, Keyword::Open), (0x6f766572, Keyword::Over), (0x70617373, Keyword::Pass), (0x70617374, Keyword::Past), (0x70617468, Keyword::Path), (0x70697065, Keyword::Pipe), (0x706c616e, Keyword::Plan), (0x70726576, Keyword::Prev), (0x72616e6b, Keyword::Rank), (0x72656164, Keyword::Read), (0x7265616c, Keyword::Real), (0x726f6c65, Keyword::Role), (0x726f7773, Keyword::Rows), (0x72756c65, Keyword::Rule), (0x7365656b, Keyword::Seek), (0x73656c66, Keyword::Self_), (0x73656d69, Keyword::Semi), (0x73657473, Keyword::Sets), (0x73686f77, Keyword::Show), (0x73696e68, Keyword::Sinh), (0x73697a65, Keyword::Size), (0x736b6970, Keyword::Skip), (0x736f6d65, Keyword::Some), (0x73717274, Keyword::Sqrt), (0x74616e68, Keyword::Tanh), (0x74656d70, Keyword::Temp), (0x74657874, Keyword::Text), (0x7468656e, Keyword::Then), (0x74696573, Keyword::Ties), (0x74696d65, Keyword::Time), (0x7472696d, Keyword::Trim), (0x74727565, Keyword::True), (0x74797065, Keyword::Type), (0x756e646f, Keyword::Undo), (0x75736572, Keyword::User), (0x75746638, Keyword::Utf8), (0x76696577, Keyword::View), (0x77616974, Keyword::Wait), (0x7768656e, Keyword::When), (0x77697468, Keyword::With), (0x776f726b, Keyword::Work), (0x79656172, Keyword::Year), (0x7a6f6e65, Keyword::Zone), ];
const KEYWORDS_LEN_5: &[(u64, Keyword)] = &[
(0x61626f7274, Keyword::Abort), (0x61646d696e, Keyword::Admin), (0x6166746572, Keyword::After), (0x616c746572, Keyword::Alter), (0x6170706c79, Keyword::Apply), (0x6172726179, Keyword::Array), (0x626567696e, Keyword::Begin), (0x6361636865, Keyword::Cache), (0x636861696e, Keyword::Chain), (0x636865636b, Keyword::Check), (0x636c617373, Keyword::Class), (0x636c6f7365, Keyword::Close), (0x636f626f6c, Keyword::Cobol), (0x636f756e74, Keyword::Count), (0x63726f7373, Keyword::Cross), (0x6379636c65, Keyword::Cycle), (0x6465707468, Keyword::Depth), (0x6465726566, Keyword::Deref), (0x656d707479, Keyword::Empty), (0x6572726f72, Keyword::Error), (0x6576656e74, Keyword::Event), (0x6576657279, Keyword::Every), (0x66616c7365, Keyword::False), (0x6665746368, Keyword::Fetch), (0x66696e616c, Keyword::Final), (0x6669727374, Keyword::First), (0x666c6f6174, Keyword::Float), (0x666c6f6f72, Keyword::Floor), (0x666f726365, Keyword::Force), (0x666f756e64, Keyword::Found), (0x6772616e74, Keyword::Grant), (0x6772617068, Keyword::Graph), (0x67726f7570, Keyword::Group), (0x696c696b65, Keyword::Ilike), (0x696e646578, Keyword::Index), (0x696e6e6572, Keyword::Inner), (0x696e6f7574, Keyword::Inout), (0x696e707574, Keyword::Input), (0x6c6162656c, Keyword::Label), (0x6c61726765, Keyword::Large), (0x6c65617374, Keyword::Least), (0x6c65617665, Keyword::Leave), (0x6c6576656c, Keyword::Level), (0x6c696d6974, Keyword::Limit), (0x6c696e6573, Keyword::Lines), (0x6c6f63616c, Keyword::Local), (0x6c6f673130, Keyword::Log10), (0x6c6f776572, Keyword::Lower), (0x6d61746368, Keyword::Match), (0x6d65726765, Keyword::Merge), (0x6d6f6e7468, Keyword::Month), (0x6d756d7073, Keyword::Mumps), (0x6e616d6573, Keyword::Names), (0x6e63686172, Keyword::Nchar), (0x6e636c6f62, Keyword::Nclob), (0x6e74696c65, Keyword::Ntile), (0x6e756c6c73, Keyword::Nulls), (0x6f72646572, Keyword::Order), (0x6f75746572, Keyword::Outer), (0x6f776e6564, Keyword::Owned), (0x6f776e6572, Keyword::Owner), (0x7069766f74, Keyword::Pivot), (0x706c616e73, Keyword::Plans), (0x706f776572, Keyword::Power), (0x7072696f72, Keyword::Prior), (0x7072756e65, Keyword::Prune), (0x7075726765, Keyword::Purge), (0x71756f7465, Keyword::Quote), (0x72616e6765, Keyword::Range), (0x7265616473, Keyword::Reads), (0x7265736574, Keyword::Reset), (0x7269676874, Keyword::Right), (0x726c696b65, Keyword::Rlike), (0x7363616c65, Keyword::Scale), (0x73636f7065, Keyword::Scope), (0x7365746f66, Keyword::Setof), (0x7368617265, Keyword::Share), (0x7370616365, Keyword::Space), (0x73706c6974, Keyword::Split), (0x7374617274, Keyword::Start), (0x7374617465, Keyword::State), (0x737464696e, Keyword::Stdin), (0x7374726970, Keyword::Strip), (0x7374796c65, Keyword::Style), (0x7379736964, Keyword::Sysid), (0x7461626c65, Keyword::Table), (0x7472656174, Keyword::Treat), (0x7479706573, Keyword::Types), (0x756e646572, Keyword::Under), (0x756e696f6e, Keyword::Union), (0x756e74696c, Keyword::Until), (0x7570706572, Keyword::Upper), (0x7573616765, Keyword::Usage), (0x7573696e67, Keyword::Using), (0x7574663136, Keyword::Utf16), (0x7574663332, Keyword::Utf32), (0x76616c6964, Keyword::Valid), (0x76616c7565, Keyword::Value), (0x7669657773, Keyword::Views), (0x7768657265, Keyword::Where), (0x7768696c65, Keyword::While), (0x7772697465, Keyword::Write), (0x786d6c7069, Keyword::Xmlpi), ];
const KEYWORDS_LEN_6: &[(u64, Keyword)] = &[
(0x616273656e74, Keyword::Absent), (0x616363657373, Keyword::Access), (0x616374696f6e, Keyword::Action), (0x616c77617973, Keyword::Always), (0x61746f6d6963, Keyword::Atomic), (0x617474616368, Keyword::Attach), (0x6265666f7265, Keyword::Before), (0x626967696e74, Keyword::Bigint), (0x62696e617279, Keyword::Binary), (0x63616c6c6564, Keyword::Called), (0x6368616e6765, Keyword::Change), (0x636f6c756d6e, Keyword::Column), (0x636f6d6d6974, Keyword::Commit), (0x637265617465, Keyword::Create), (0x637572736f72, Keyword::Cursor), (0x646566696e65, Keyword::Define), (0x646567726565, Keyword::Degree), (0x64656c657465, Keyword::Delete), (0x646574616368, Keyword::Detach), (0x646f6d61696e, Keyword::Domain), (0x646f75626c65, Keyword::Double), (0x656c73656966, Keyword::Elseif), (0x656e61626c65, Keyword::Enable), (0x657175616c73, Keyword::Equals), (0x657363617065, Keyword::Escape), (0x657863657074, Keyword::Except), (0x657869737473, Keyword::Exists), (0x657874656e64, Keyword::Extend), (0x66616d696c79, Keyword::Family), (0x66696c746572, Keyword::Filter), (0x66696e697368, Keyword::Finish), (0x666c6f617434, Keyword::Float4), (0x666c6f617438, Keyword::Float8), (0x666f726d6174, Keyword::Format), (0x667265657a65, Keyword::Freeze), (0x667573696f6e, Keyword::Fusion), (0x676c6f62616c, Keyword::Global), (0x67726f757073, Keyword::Groups), (0x686176696e67, Keyword::Having), (0x686561646572, Keyword::Header), (0x69676e6f7265, Keyword::Ignore), (0x696d706f7274, Keyword::Import), (0x696e64656e74, Keyword::Indent), (0x696e66696c65, Keyword::Infile), (0x696e6c696e65, Keyword::Inline), (0x696e73657274, Keyword::Insert), (0x69736e756c6c, Keyword::Isnull), (0x6c656e677468, Keyword::Length), (0x6c696e656172, Keyword::Linear), (0x6c697374656e, Keyword::Listen), (0x6c6f636b6564, Keyword::Locked), (0x6c6f67676564, Keyword::Logged), (0x6d656d626572, Keyword::Member), (0x6d6574686f64, Keyword::Method), (0x6d696e757465, Keyword::Minute), (0x6d6f64756c65, Keyword::Module), (0x6e6573746564, Keyword::Nested), (0x6e6f74696679, Keyword::Notify), (0x6e6f77616974, Keyword::Nowait), (0x6e756c6c6966, Keyword::Nullif), (0x6e756d626572, Keyword::Number), (0x6f626a656374, Keyword::Object), (0x6f6374657473, Keyword::Octets), (0x6f6666736574, Keyword::Offset), (0x6f7074696f6e, Keyword::Option), (0x6f7468657273, Keyword::Others), (0x6f7574707574, Keyword::Output), (0x706172736572, Keyword::Parser), (0x70617363616c, Keyword::Pascal), (0x706572696f64, Keyword::Period), (0x706f6c696379, Keyword::Policy), (0x7075626c6963, Keyword::Public), (0x71756f746573, Keyword::Quotes), (0x726567657870, Keyword::Regexp), (0x72656e616d65, Keyword::Rename), (0x72657061636b, Keyword::Repack), (0x726570656174, Keyword::Repeat), (0x726573756c74, Keyword::Result), (0x72657475726e, Keyword::Return), (0x7265766f6b65, Keyword::Revoke), (0x726f6c6c7570, Keyword::Rollup), (0x7363616c6172, Keyword::Scalar), (0x736368656d61, Keyword::Schema), (0x7363726f6c6c, Keyword::Scroll), (0x736561726368, Keyword::Search), (0x7365636f6e64, Keyword::Second), (0x73656c656374, Keyword::Select), (0x736572766572, Keyword::Server), (0x7369676e616c, Keyword::Signal), (0x73696d706c65, Keyword::Simple), (0x736f75726365, Keyword::Source), (0x737461626c65, Keyword::Stable), (0x737461746963, Keyword::Static), (0x7374646f7574, Keyword::Stdout), (0x73746f726564, Keyword::Stored), (0x737472696374, Keyword::Strict), (0x737472696e67, Keyword::String), (0x737562736574, Keyword::Subset), (0x73797374656d, Keyword::System), (0x7461626c6573, Keyword::Tables), (0x746172676574, Keyword::Target), (0x756e69717565, Keyword::Unique), (0x756e6c6f636b, Keyword::Unlock), (0x756e6e657374, Keyword::Unnest), (0x757064617465, Keyword::Update), (0x76616375756d, Keyword::Vacuum), (0x76616c756573, Keyword::Values), (0x766572746578, Keyword::Vertex), (0x77696e646f77, Keyword::Window), (0x77697468696e, Keyword::Within), ];
const KEYWORDS_LEN_7: &[(u64, Keyword)] = &[
(0x616e616c797365, Keyword::Analyse), (0x616e616c797a65, Keyword::Analyze), (0x6265747765656e, Keyword::Between), (0x626f6f6c65616e, Keyword::Boolean), (0x62726561647468, Keyword::Breadth), (0x63617363616465, Keyword::Cascade), (0x636174616c6f67, Keyword::Catalog), (0x6365696c696e67, Keyword::Ceiling), (0x636c7573746572, Keyword::Cluster), (0x636f6c6c617465, Keyword::Collate), (0x636f6c6c656374, Keyword::Collect), (0x636f6c756d6e73, Keyword::Columns), (0x636f6d6d656e74, Keyword::Comment), (0x636f6e6e656374, Keyword::Connect), (0x636f6e74656e74, Keyword::Content), (0x636f6e76657274, Keyword::Convert), (0x63757272656e74, Keyword::Current), (0x646563696d616c, Keyword::Decimal), (0x6465636c617265, Keyword::Declare), (0x64656661756c74, Keyword::Default), (0x646566696e6564, Keyword::Defined), (0x646566696e6572, Keyword::Definer), (0x64656c61796564, Keyword::Delayed), (0x646570656e6473, Keyword::Depends), (0x64657269766564, Keyword::Derived), (0x64697361626c65, Keyword::Disable), (0x64697363617264, Keyword::Discard), (0x64796e616d6963, Keyword::Dynamic), (0x656c656d656e74, Keyword::Element), (0x65736361706564, Keyword::Escaped), (0x6578636c756465, Keyword::Exclude), (0x65786563757465, Keyword::Execute), (0x6578706c61696e, Keyword::Explain), (0x65787472616374, Keyword::Extract), (0x666f726569676e, Keyword::Foreign), (0x666f727472616e, Keyword::Fortran), (0x666f7277617264, Keyword::Forward), (0x66756c66696c6c, Keyword::Fulfill), (0x67656e6572616c, Keyword::General), (0x6772616e746564, Keyword::Granted), (0x68616e646c6572, Keyword::Handler), (0x696e636c756465, Keyword::Include), (0x696e6465786564, Keyword::Indexed), (0x696e6465786573, Keyword::Indexes), (0x696e6865726974, Keyword::Inherit), (0x696e697469616c, Keyword::Initial), (0x696e7374656164, Keyword::Instead), (0x696e7465676572, Keyword::Integer), (0x696e766f6b6572, Keyword::Invoker), (0x69746572617465, Keyword::Iterate), (0x6c61746572616c, Keyword::Lateral), (0x6c656164696e67, Keyword::Leading), (0x6c697374616767, Keyword::Listagg), (0x6c6f6361746f72, Keyword::Locator), (0x6d617070696e67, Keyword::Mapping), (0x6d617463686564, Keyword::Matched), (0x6d617463686573, Keyword::Matches), (0x6e61747572616c, Keyword::Natural), (0x6e657374696e67, Keyword::Nesting), (0x6e6f7468696e67, Keyword::Nothing), (0x6e6f746e756c6c, Keyword::Notnull), (0x6e756d65726963, Keyword::Numeric), (0x6f626a65637473, Keyword::Objects), (0x6f7074696f6e73, Keyword::Options), (0x6f757466696c65, Keyword::Outfile), (0x6f7665726c6179, Keyword::Overlay), (0x7061727469616c, Keyword::Partial), (0x70617373696e67, Keyword::Passing), (0x7061747465726e, Keyword::Pattern), (0x70657263656e74, Keyword::Percent), (0x7065726d757465, Keyword::Permute), (0x706c6163696e67, Keyword::Placing), (0x706f7274696f6e, Keyword::Portion), (0x70726570617265, Keyword::Prepare), (0x7072696d617279, Keyword::Primary), (0x70726976617465, Keyword::Private), (0x70726f6772616d, Keyword::Program), (0x7175616c696679, Keyword::Qualify), (0x72656672657368, Keyword::Refresh), (0x726567725f7232, Keyword::RegrR2), (0x7265696e646578, Keyword::Reindex), (0x72656c65617365, Keyword::Release), (0x7265706c616365, Keyword::Replace), (0x7265706c696361, Keyword::Replica), (0x72657175697265, Keyword::Require), (0x72657370656374, Keyword::Respect), (0x72657374617274, Keyword::Restart), (0x72657475726e73, Keyword::Returns), (0x726f7574696e65, Keyword::Routine), (0x72756e6e696e67, Keyword::Running), (0x736368656d6173, Keyword::Schemas), (0x73656374696f6e, Keyword::Section), (0x73657373696f6e, Keyword::Session), (0x73696d696c6172, Keyword::Similar), (0x7370617469616c, Keyword::Spatial), (0x73746f72616765, Keyword::Storage), (0x737570706f7274, Keyword::Support), (0x7468726f756768, Keyword::Through), (0x74696e79696e74, Keyword::Tinyint), (0x74726967676572, Keyword::Trigger), (0x74727573746564, Keyword::Trusted), (0x75657363617065, Keyword::Uescape), (0x756e6b6e6f776e, Keyword::Unknown), (0x756e6e616d6564, Keyword::Unnamed), (0x756e7069766f74, Keyword::Unpivot), (0x7661725f706f70, Keyword::VarPop), (0x76617263686172, Keyword::Varchar), (0x76617279696e67, Keyword::Varying), (0x766572626f7365, Keyword::Verbose), (0x76657273696f6e, Keyword::Version), (0x7669727475616c, Keyword::Virtual), (0x776974686f7574, Keyword::Without), (0x77726170706572, Keyword::Wrapper), (0x786d6c726f6f74, Keyword::Xmlroot), ];
const KEYWORDS_LEN_8: &[(u64, Keyword)] = &[
(0x6162736f6c757465, Keyword::Absolute), (0x616c6c6f63617465, Keyword::Allocate), (0x6261636b77617264, Keyword::Backward), (0x6361736361646564, Keyword::Cascaded), (0x636861696e696e67, Keyword::Chaining), (0x636f616c65736365, Keyword::Coalesce), (0x636f6d6d656e7473, Keyword::Comments), (0x636f6e666c696374, Keyword::Conflict), (0x636f6e7461696e73, Keyword::Contains), (0x636f6e74696e7565, Keyword::Continue), (0x6461746162617365, Keyword::Database), (0x6461795f686f7572, Keyword::DayHour), (0x646563666c6f6174, Keyword::Decfloat), (0x64656661756c7473, Keyword::Defaults), (0x6465666572726564, Keyword::Deferred), (0x6465736372696265, Keyword::Describe), (0x6469737061746368, Keyword::Dispatch), (0x64697374696e6374, Keyword::Distinct), (0x646f63756d656e74, Keyword::Document), (0x656e636c6f736564, Keyword::Enclosed), (0x656e636f64696e67, Keyword::Encoding), (0x656e666f72636564, Keyword::Enforced), (0x65787465726e616c, Keyword::External), (0x66696e616c697a65, Keyword::Finalize), (0x66756c6c74657874, Keyword::Fulltext), (0x66756e6374696f6e, Keyword::Function), (0x6772656174657374, Keyword::Greatest), (0x67726f7570696e67, Keyword::Grouping), (0x6964656e74697479, Keyword::Identity), (0x696d706c69636974, Keyword::Implicit), (0x696e686572697473, Keyword::Inherits), (0x696e7374616e6365, Keyword::Instance), (0x696e74657276616c, Keyword::Interval), (0x6b65795f74797065, Keyword::KeyType), (0x6c616e6775616765, Keyword::Language), (0x6c6f636174696f6e, Keyword::Location), (0x6c6f6e67626c6f62, Keyword::Longblob), (0x6c6f6e6774657874, Keyword::Longtext), (0x6d617876616c7565, Keyword::Maxvalue), (0x6d65617375726573, Keyword::Measures), (0x6d696e76616c7565, Keyword::Minvalue), (0x6d6f646966696573, Keyword::Modifies), (0x6d756c7469736574, Keyword::Multiset), (0x6e6174696f6e616c, Keyword::National), (0x6e756c6c61626c65, Keyword::Nullable), (0x6f70656e6a736f6e, Keyword::Openjson), (0x6f70657261746f72, Keyword::Operator), (0x6f7074696d697a65, Keyword::Optimize), (0x6f72646572696e67, Keyword::Ordering), (0x6f766572666c6f77, Keyword::Overflow), (0x6f7665726c617073, Keyword::Overlaps), (0x706172616c6c656c, Keyword::Parallel), (0x70617373776f7264, Keyword::Password), (0x706f736974696f6e, Keyword::Position), (0x7072656365646573, Keyword::Precedes), (0x7072657061726564, Keyword::Prepared), (0x7072657365727665, Keyword::Preserve), (0x70726f7065727479, Keyword::Property), (0x726561737369676e, Keyword::Reassign), (0x726567725f737878, Keyword::RegrSxx), (0x726567725f737879, Keyword::RegrSxy), (0x726567725f737979, Keyword::RegrSyy), (0x72656c6174697665, Keyword::Relative), (0x72657369676e616c, Keyword::Resignal), (0x7265737472696374, Keyword::Restrict), (0x726f6c6c6261636b, Keyword::Rollback), (0x726f7574696e6573, Keyword::Routines), (0x7365637572697479, Keyword::Security), (0x73657175656e6365, Keyword::Sequence), (0x736d616c6c696e74, Keyword::Smallint), (0x736e617073686f74, Keyword::Snapshot), (0x7370656369666963, Keyword::Specific), (0x73716c7374617465, Keyword::Sqlstate), (0x7374617274696e67, Keyword::Starting), (0x7375636365656473, Keyword::Succeeds), (0x74656d706c617465, Keyword::Template), (0x74696e79626c6f62, Keyword::Tinyblob), (0x74696e7974657874, Keyword::Tinytext), (0x747261696c696e67, Keyword::Trailing), (0x7472756e63617465, Keyword::Truncate), (0x756e6c697374656e, Keyword::Unlisten), (0x756e6c6f67676564, Keyword::Unlogged), (0x756e7369676e6564, Keyword::Unsigned), (0x7574635f64617465, Keyword::UtcDate), (0x7574635f74696d65, Keyword::UtcTime), (0x76616c6964617465, Keyword::Validate), (0x76616c75655f6f66, Keyword::ValueOf), (0x7661725f73616d70, Keyword::VarSamp), (0x7661726961646963, Keyword::Variadic), (0x766f6c6174696c65, Keyword::Volatile), (0x7768656e65766572, Keyword::Whenever), (0x786d6c7061727365, Keyword::Xmlparse), (0x786d6c7461626c65, Keyword::Xmltable), (0x7a65726f66696c6c, Keyword::Zerofill), ];
const KEYWORDS_LEN_9: &[(u128, Keyword)] = &[
(0x616767726567617465, Keyword::Aggregate), (0x61727261795f616767, Keyword::ArrayAgg), (0x617373657274696f6e, Keyword::Assertion), (0x617474726962757465, Keyword::Attribute), (0x6265726e6f756c6c69, Keyword::Bernoulli), (0x636861726163746572, Keyword::Character), (0x636f6c6c6174696f6e, Keyword::Collation), (0x636f6d6d6974746564, Keyword::Committed), (0x636f6e646974696f6e, Keyword::Condition), (0x636f6e7461696e6564, Keyword::Contained), (0x636f7661725f706f70, Keyword::CovarPop), (0x63756d655f64697374, Keyword::CumeDist), (0x646174616261736573, Keyword::Databases), (0x64656c696d69746572, Keyword::Delimiter), (0x656e63727970746564, Keyword::Encrypted), (0x656e645f6672616d65, Keyword::EndFrame), (0x6578636c7564696e67, Keyword::Excluding), (0x6578636c7573697665, Keyword::Exclusive), (0x657874656e73696f6e, Keyword::Extension), (0x666f6c6c6f77696e67, Keyword::Following), (0x6672616d655f726f77, Keyword::FrameRow), (0x66756e6374696f6e73, Keyword::Functions), (0x67656e657261746564, Keyword::Generated), (0x686965726172636879, Keyword::Hierarchy), (0x696d6d656469617465, Keyword::Immediate), (0x696d6d757461626c65, Keyword::Immutable), (0x696e636c7564696e67, Keyword::Including), (0x696e6372656d656e74, Keyword::Increment), (0x696e64696361746f72, Keyword::Indicator), (0x696e697469616c6c79, Keyword::Initially), (0x696e74657273656374, Keyword::Intersect), (0x69736f6c6174696f6e, Keyword::Isolation), (0x6c65616b70726f6f66, Keyword::Leakproof), (0x6c6f63616c74696d65, Keyword::Localtime), (0x6d656469756d696e74, Keyword::Mediumint), (0x6d6964646c65696e74, Keyword::Middleint), (0x6e6f726d616c697a65, Keyword::Normalize), (0x6e74685f76616c7565, Keyword::NthValue), (0x706172616d65746572, Keyword::Parameter), (0x706172746974696f6e, Keyword::Partition), (0x707265636564696e67, Keyword::Preceding), (0x707265636973696f6e, Keyword::Precision), (0x70726f636564757265, Keyword::Procedure), (0x726563757273697665, Keyword::Recursive), (0x726567725f61766778, Keyword::RegrAvgx), (0x726567725f61766779, Keyword::RegrAvgy), (0x72657475726e696e67, Keyword::Returning), (0x726f775f636f756e74, Keyword::RowCount), (0x73617665706f696e74, Keyword::Savepoint), (0x73656d616e74696373, Keyword::Semantics), (0x73656e736974697665, Keyword::Sensitive), (0x736570617261746f72, Keyword::Separator), (0x73657175656e636573, Keyword::Sequences), (0x73746174656d656e74, Keyword::Statement), (0x737472756374757265, Keyword::Structure), (0x737562737472696e67, Keyword::Substring), (0x73796d6d6574726963, Keyword::Symmetric), (0x74656d706f72617279, Keyword::Temporary), (0x74696d657374616d70, Keyword::Timestamp), (0x7472616e73666f726d, Keyword::Transform), (0x7472616e736c617465, Keyword::Translate), (0x756e626f756e646564, Keyword::Unbounded), (0x756e6d617463686564, Keyword::Unmatched), (0x76616c696461746f72, Keyword::Validator), (0x76617262696e617279, Keyword::Varbinary), (0x786d6c636f6e636174, Keyword::Xmlconcat), (0x786d6c657869737473, Keyword::Xmlexists), (0x786d6c666f72657374, Keyword::Xmlforest), ];
const KEYWORDS_LEN_10: &[(u128, Keyword)] = &[
(0x61636365737369626c65, Keyword::Accessible), (0x6173656e736974697665, Keyword::Asensitive), (0x61737369676e6d656e74, Keyword::Assignment), (0x6173796d6d6574726963, Keyword::Asymmetric), (0x61747472696275746573, Keyword::Attributes), (0x63686172616374657273, Keyword::Characters), (0x636865636b706f696e74, Keyword::Checkpoint), (0x636c6173736966696572, Keyword::Classifier), (0x636f6e6e656374696f6e, Keyword::Connection), (0x636f6e73747261696e74, Keyword::Constraint), (0x636f6e76657273696f6e, Keyword::Conversion), (0x636f7661725f73616d70, Keyword::CovarSamp), (0x6461795f6d696e757465, Keyword::DayMinute), (0x6461795f7365636f6e64, Keyword::DaySecond), (0x6465616c6c6f63617465, Keyword::Deallocate), (0x64656665727261626c65, Keyword::Deferrable), (0x64656c696d6974657273, Keyword::Delimiters), (0x64656e73655f72616e6b, Keyword::DenseRank), (0x64657363726970746f72, Keyword::Descriptor), (0x64696374696f6e617279, Keyword::Dictionary), (0x646973636f6e6e656374, Keyword::Disconnect), (0x65787072657373696f6e, Keyword::Expression), (0x6a736f6e5f6172726179, Keyword::JsonArray), (0x6a736f6e5f7175657279, Keyword::JsonQuery), (0x6a736f6e5f7461626c65, Keyword::JsonTable), (0x6a736f6e5f76616c7565, Keyword::JsonValue), (0x6b65795f6d656d626572, Keyword::KeyMember), (0x6c6173745f76616c7565, Keyword::LastValue), (0x6c696b655f7265676578, Keyword::LikeRegex), (0x6d656469756d626c6f62, Keyword::Mediumblob), (0x6d656469756d74657874, Keyword::Mediumtext), (0x6e6f726d616c697a6564, Keyword::Normalized), (0x6f6363757272656e6365, Keyword::Occurrence), (0x6f7074696f6e616c6c79, Keyword::Optionally), (0x6f7264696e616c697479, Keyword::Ordinality), (0x6f766572726964696e67, Keyword::Overriding), (0x706172746974696f6e73, Keyword::Partitions), (0x706f736974696f6e616c, Keyword::Positional), (0x70726976696c65676573, Keyword::Privileges), (0x70726f6365647572616c, Keyword::Procedural), (0x70726f63656475726573, Keyword::Procedures), (0x70726f70657274696573, Keyword::Properties), (0x726561645f7772697465, Keyword::ReadWrite), (0x7265666572656e636573, Keyword::References), (0x726567725f636f756e74, Keyword::RegrCount), (0x726567725f736c6f7065, Keyword::RegrSlope), (0x72657065617461626c65, Keyword::Repeatable), (0x726f775f6e756d626572, Keyword::RowNumber), (0x73636f70655f6e616d65, Keyword::ScopeName), (0x73716c7761726e696e67, Keyword::Sqlwarning), (0x7374616e64616c6f6e65, Keyword::Standalone), (0x73746174697374696373, Keyword::Statistics), (0x7374646465765f706f70, Keyword::StddevPop), (0x7461626c655f6e616d65, Keyword::TableName), (0x7461626c657370616365, Keyword::Tablespace), (0x7465726d696e61746564, Keyword::Terminated), (0x7472616e73666f726d73, Keyword::Transforms), (0x7472696d5f6172726179, Keyword::TrimArray), (0x76657273696f6e696e67, Keyword::Versioning), (0x77686974657370616365, Keyword::Whitespace), (0x786d6c656c656d656e74, Keyword::Xmlelement), (0x796561725f6d6f6e7468, Keyword::YearMonth), ];
const KEYWORDS_LEN_11: &[(u128, Keyword)] = &[
(0x626567696e5f6672616d65, Keyword::BeginFrame), (0x63617264696e616c697479, Keyword::Cardinality), (0x636861725f6c656e677468, Keyword::CharLength), (0x636f6c756d6e5f6e616d65, Keyword::ColumnName), (0x636f6d7072657373696f6e, Keyword::Compression), (0x636f6e646974696f6e616c, Keyword::Conditional), (0x636f6e73747261696e7473, Keyword::Constraints), (0x636f6e7374727563746f72, Keyword::Constructor), (0x63757272656e745f726f77, Keyword::CurrentRow), (0x637572736f725f6e616d65, Keyword::CursorName), (0x64657374696e6174696f6e, Keyword::Destination), (0x646961676e6f7374696373, Keyword::Diagnostics), (0x64697374696e6374726f77, Keyword::Distinctrow), (0x66697273745f76616c7565, Keyword::FirstValue), (0x67726170685f7461626c65, Keyword::GraphTable), (0x686f75725f6d696e757465, Keyword::HourMinute), (0x686f75725f7365636f6e64, Keyword::HourSecond), (0x696d6d6564696174656c79, Keyword::Immediately), (0x696e73656e736974697665, Keyword::Insensitive), (0x6a736f6e5f657869737473, Keyword::JsonExists), (0x6a736f6e5f6f626a656374, Keyword::JsonObject), (0x6a736f6e5f7363616c6172, Keyword::JsonScalar), (0x7075626c69636174696f6e, Keyword::Publication), (0x7265666572656e63696e67, Keyword::Referencing), (0x736368656d615f6e616d65, Keyword::SchemaName), (0x7365727665725f6e616d65, Keyword::ServerName), (0x7374646465765f73616d70, Keyword::StddevSamp), (0x7375626d756c7469736574, Keyword::Submultiset), (0x73797374656d5f74696d65, Keyword::SystemTime), (0x73797374656d5f75736572, Keyword::SystemUser), (0x7461626c6573616d706c65, Keyword::Tablesample), (0x7472616e73616374696f6e, Keyword::Transaction), (0x7472616e736c6174696f6e, Keyword::Translation), (0x756e636f6d6d6974746564, Keyword::Uncommitted), (0x756e656e63727970746564, Keyword::Unencrypted), ];
const KEYWORDS_LEN_12: &[(u128, Keyword)] = &[
(0x636174616c6f675f6e616d65, Keyword::CatalogName), (0x636c6173735f6f726967696e, Keyword::ClassOrigin), (0x636f6e63757272656e746c79, Keyword::Concurrently), (0x63757272656e745f64617465, Keyword::CurrentDate), (0x63757272656e745f70617468, Keyword::CurrentPath), (0x63757272656e745f726f6c65, Keyword::CurrentRole), (0x63757272656e745f74696d65, Keyword::CurrentTime), (0x63757272656e745f75736572, Keyword::CurrentUser), (0x696e7374616e746961626c65, Keyword::Instantiable), (0x696e74657273656374696f6e, Keyword::Intersection), (0x6c6f775f7072696f72697479, Keyword::LowPriority), (0x6d617463685f6e756d626572, Keyword::MatchNumber), (0x6d6174657269616c697a6564, Keyword::Materialized), (0x6d657267655f616374696f6e, Keyword::MergeAction), (0x6d6573736167655f74657874, Keyword::MessageText), (0x6f637465745f6c656e677468, Keyword::OctetLength), (0x70657263656e745f72616e6b, Keyword::PercentRank), (0x72656c6174696f6e73686970, Keyword::Relationship), (0x726f7574696e655f6e616d65, Keyword::RoutineName), (0x73636f70655f736368656d61, Keyword::ScopeSchema), (0x73657269616c697a61626c65, Keyword::Serializable), (0x73657373696f6e5f75736572, Keyword::SessionUser), (0x737065636966696374797065, Keyword::Specifictype), (0x73716c657863657074696f6e, Keyword::Sqlexception), (0x737562736372697074696f6e, Keyword::Subscription), (0x747269676765725f6e616d65, Keyword::TriggerName), (0x766172636861726163746572, Keyword::Varcharacter), (0x77696474685f6275636b6574, Keyword::WidthBucket), (0x786d6c73657269616c697a65, Keyword::Xmlserialize), ];
const KEYWORDS_LEN_13: &[(u128, Keyword)] = &[
(0x617574686f72697a6174696f6e, Keyword::Authorization), (0x636f6e66696775726174696f6e, Keyword::Configuration), (0x636f72726573706f6e64696e67, Keyword::Corresponding), (0x64657465726d696e6973746963, Keyword::Deterministic), (0x656e645f706172746974696f6e, Keyword::EndPartition), (0x686967685f7072696f72697479, Keyword::HighPriority), (0x6a736f6e5f6172726179616767, Keyword::JsonArrayagg), (0x6d696e7574655f7365636f6e64, Keyword::MinuteSecond), (0x6e756c6c5f6f72646572696e67, Keyword::NullOrdering), (0x73636f70655f636174616c6f67, Keyword::ScopeCatalog), (0x73706563696669635f6e616d65, Keyword::SpecificName), (0x73747261696768745f6a6f696e, Keyword::StraightJoin), (0x74696d657a6f6e655f686f7572, Keyword::TimezoneHour), (0x756e636f6e646974696f6e616c, Keyword::Unconditional), (0x7574635f74696d657374616d70, Keyword::UtcTimestamp), (0x786d6c61747472696275746573, Keyword::Xmlattributes), (0x786d6c6e616d65737061636573, Keyword::Xmlnamespaces), ];
const KEYWORDS_LEN_14: &[(u128, Keyword)] = &[
(0x636f6c6c6174696f6e5f6e616d65, Keyword::CollationName), (0x63757272656e745f736368656d61, Keyword::CurrentSchema), (0x696d706c656d656e746174696f6e, Keyword::Implementation), (0x696f5f61667465725f6774696473, Keyword::IoAfterGtids), (0x6a736f6e5f6f626a656374616767, Keyword::JsonObjectagg), (0x6a736f6e5f73657269616c697a65, Keyword::JsonSerialize), (0x6c6f63616c74696d657374616d70, Keyword::Localtimestamp), (0x6d6573736167655f6c656e677468, Keyword::MessageLength), (0x706172616d657465725f6d6f6465, Keyword::ParameterMode), (0x706172616d657465725f6e616d65, Keyword::ParameterName), (0x706f736974696f6e5f7265676578, Keyword::PositionRegex), (0x726567725f696e74657263657074, Keyword::RegrIntercept), (0x726f7574696e655f736368656d61, Keyword::RoutineSchema), (0x736f72745f646972656374696f6e, Keyword::SortDirection), (0x73716c5f6269675f726573756c74, Keyword::SqlBigResult), (0x747269676765725f736368656d61, Keyword::TriggerSchema), ];
const KEYWORDS_LEN_15: &[(u128, Keyword)] = &[
(0x626567696e5f706172746974696f6e, Keyword::BeginPartition), (0x636861726163746572697374696373, Keyword::Characteristics), (0x636f6e6e656374696f6e5f6e616d65, Keyword::ConnectionName), (0x636f6e73747261696e745f6e616d65, Keyword::ConstraintName), (0x63757272656e745f636174616c6f67, Keyword::CurrentCatalog), (0x6461795f6d6963726f7365636f6e64, Keyword::DayMicrosecond), (0x696f5f6265666f72655f6774696473, Keyword::IoBeforeGtids), (0x6d617463685f7265636f676e697a65, Keyword::MatchRecognize), (0x70657263656e74696c655f636f6e74, Keyword::PercentileCont), (0x70657263656e74696c655f64697363, Keyword::PercentileDisc), (0x72657475726e65645f6c656e677468, Keyword::ReturnedLength), (0x726f7574696e655f636174616c6f67, Keyword::RoutineCatalog), (0x737562636c6173735f6f726967696e, Keyword::SubclassOrigin), (0x737562737472696e675f7265676578, Keyword::SubstringRegex), (0x74696d657a6f6e655f6d696e757465, Keyword::TimezoneMinute), (0x746f705f6c6576656c5f636f756e74, Keyword::TopLevelCount), (0x7472616e736c6174655f7265676578, Keyword::TranslateRegex), (0x747269676765725f636174616c6f67, Keyword::TriggerCatalog), ];
const KEYWORDS_LEN_16: &[(u128, Keyword)] = &[
(0x6368617261637465725f6c656e677468, Keyword::CharacterLength), (0x636f6c6c6174696f6e5f736368656d61, Keyword::CollationSchema), (0x636f6d6d616e645f66756e6374696f6e, Keyword::CommandFunction), (0x636f6e646974696f6e5f6e756d626572, Keyword::ConditionNumber), (0x64796e616d69635f66756e6374696f6e, Keyword::DynamicFunction), (0x686f75725f6d6963726f7365636f6e64, Keyword::HourMicrosecond), (0x73716c5f736d616c6c5f726573756c74, Keyword::SqlSmallResult), ];
const KEYWORDS_LEN_17: &[(&[u8], Keyword)] = &[
(b"collation_catalog", Keyword::CollationCatalog),
(b"constraint_schema", Keyword::ConstraintSchema),
(b"current_timestamp", Keyword::CurrentTimestamp),
(b"occurrences_regex", Keyword::OccurrencesRegex),
(b"returned_sqlstate", Keyword::ReturnedSqlstate),
];
const KEYWORDS_LEN_18: &[(&[u8], Keyword)] = &[
(b"character_set_name", Keyword::CharacterSetName),
(b"constraint_catalog", Keyword::ConstraintCatalog),
(b"minute_microsecond", Keyword::MinuteMicrosecond),
(b"no_write_to_binlog", Keyword::NoWriteToBinlog),
(b"second_microsecond", Keyword::SecondMicrosecond),
(b"transaction_active", Keyword::TransactionActive),
];
const KEYWORDS_LEN_19: &[(&[u8], Keyword)] = &[(b"sql_calc_found_rows", Keyword::SqlCalcFoundRows)];
const KEYWORDS_LEN_20: &[(&[u8], Keyword)] = &[
(b"character_set_schema", Keyword::CharacterSetSchema),
(b"json_table_primitive", Keyword::JsonTablePrimitive),
(b"message_octet_length", Keyword::MessageOctetLength),
(b"returned_cardinality", Keyword::ReturnedCardinality),
];
const KEYWORDS_LEN_21: &[(&[u8], Keyword)] = &[
(b"array_max_cardinality", Keyword::ArrayMaxCardinality),
(b"character_set_catalog", Keyword::CharacterSetCatalog),
(b"command_function_code", Keyword::CommandFunctionCode),
(b"dynamic_function_code", Keyword::DynamicFunctionCode),
(b"returned_octet_length", Keyword::ReturnedOctetLength),
];
const KEYWORDS_LEN_22: &[(&[u8], Keyword)] = &[
(b"datetime_interval_code", Keyword::DatetimeIntervalCode),
(b"transactions_committed", Keyword::TransactionsCommitted),
(b"user_defined_type_code", Keyword::UserDefinedTypeCode),
(b"user_defined_type_name", Keyword::UserDefinedTypeName),
];
const KEYWORDS_LEN_23: &[(&[u8], Keyword)] =
&[(b"parameter_specific_name", Keyword::ParameterSpecificName)];
const KEYWORDS_LEN_24: &[(&[u8], Keyword)] = &[
(b"transactions_rolled_back", Keyword::TransactionsRolledBack),
(b"user_defined_type_schema", Keyword::UserDefinedTypeSchema),
];
const KEYWORDS_LEN_25: &[(&[u8], Keyword)] = &[
(
b"parameter_specific_schema",
Keyword::ParameterSpecificSchema,
),
(
b"user_defined_type_catalog",
Keyword::UserDefinedTypeCatalog,
),
];
const KEYWORDS_LEN_26: &[(&[u8], Keyword)] = &[
(
b"parameter_ordinal_position",
Keyword::ParameterOrdinalPosition,
),
(
b"parameter_specific_catalog",
Keyword::ParameterSpecificCatalog,
),
];
const KEYWORDS_LEN_27: &[(&[u8], Keyword)] = &[(
b"datetime_interval_precision",
Keyword::DatetimeIntervalPrecision,
)];
const KEYWORDS_LEN_31: &[(&[u8], Keyword)] = &[(
b"current_default_transform_group",
Keyword::CurrentDefaultTransformGroup,
)];
const KEYWORDS_LEN_32: &[(&[u8], Keyword)] = &[(
b"current_transform_group_for_type",
Keyword::CurrentTransformGroupForType,
)];
pub const POSTGRES_COL_NAME_KEYWORDS: super::KeywordSet = super::KeywordSet::from_keywords(&[
Keyword::Between,
Keyword::Bigint,
Keyword::Bit,
Keyword::Boolean,
Keyword::Char,
Keyword::Character,
Keyword::Coalesce,
Keyword::Dec,
Keyword::Decimal,
Keyword::Exists,
Keyword::Extract,
Keyword::Float,
Keyword::GraphTable,
Keyword::Greatest,
Keyword::Grouping,
Keyword::Inout,
Keyword::Int,
Keyword::Integer,
Keyword::Interval,
Keyword::Json,
Keyword::JsonArray,
Keyword::JsonArrayagg,
Keyword::JsonExists,
Keyword::JsonObject,
Keyword::JsonObjectagg,
Keyword::JsonQuery,
Keyword::JsonScalar,
Keyword::JsonSerialize,
Keyword::JsonTable,
Keyword::JsonValue,
Keyword::Least,
Keyword::MergeAction,
Keyword::National,
Keyword::Nchar,
Keyword::None,
Keyword::Normalize,
Keyword::Nullif,
Keyword::Numeric,
Keyword::Out,
Keyword::Overlay,
Keyword::Position,
Keyword::Precision,
Keyword::Real,
Keyword::Row,
Keyword::Setof,
Keyword::Smallint,
Keyword::Substring,
Keyword::Time,
Keyword::Timestamp,
Keyword::Treat,
Keyword::Trim,
Keyword::Values,
Keyword::Varchar,
Keyword::Xmlattributes,
Keyword::Xmlconcat,
Keyword::Xmlelement,
Keyword::Xmlexists,
Keyword::Xmlforest,
Keyword::Xmlnamespaces,
Keyword::Xmlparse,
Keyword::Xmlpi,
Keyword::Xmlroot,
Keyword::Xmlserialize,
Keyword::Xmltable,
]);
pub const POSTGRES_TYPE_FUNC_NAME_KEYWORDS: super::KeywordSet =
super::KeywordSet::from_keywords(&[
Keyword::Authorization,
Keyword::Binary,
Keyword::Collation,
Keyword::Concurrently,
Keyword::Cross,
Keyword::CurrentSchema,
Keyword::Freeze,
Keyword::Full,
Keyword::Ilike,
Keyword::Inner,
Keyword::Is,
Keyword::Isnull,
Keyword::Join,
Keyword::Left,
Keyword::Like,
Keyword::Natural,
Keyword::Notnull,
Keyword::Outer,
Keyword::Overlaps,
Keyword::Right,
Keyword::Similar,
Keyword::Tablesample,
Keyword::Verbose,
]);
pub const POSTGRES_RESERVED_KEYWORDS: super::KeywordSet = super::KeywordSet::from_keywords(&[
Keyword::All,
Keyword::Analyse,
Keyword::Analyze,
Keyword::And,
Keyword::Any,
Keyword::Array,
Keyword::As,
Keyword::Asc,
Keyword::Asymmetric,
Keyword::Both,
Keyword::Case,
Keyword::Cast,
Keyword::Check,
Keyword::Collate,
Keyword::Column,
Keyword::Constraint,
Keyword::Create,
Keyword::CurrentCatalog,
Keyword::CurrentDate,
Keyword::CurrentRole,
Keyword::CurrentTime,
Keyword::CurrentTimestamp,
Keyword::CurrentUser,
Keyword::Default,
Keyword::Deferrable,
Keyword::Desc,
Keyword::Distinct,
Keyword::Do,
Keyword::Else,
Keyword::End,
Keyword::Except,
Keyword::False,
Keyword::Fetch,
Keyword::For,
Keyword::Foreign,
Keyword::From,
Keyword::Grant,
Keyword::Group,
Keyword::Having,
Keyword::In,
Keyword::Initially,
Keyword::Intersect,
Keyword::Into,
Keyword::Lateral,
Keyword::Leading,
Keyword::Limit,
Keyword::Localtime,
Keyword::Localtimestamp,
Keyword::Not,
Keyword::Null,
Keyword::Offset,
Keyword::On,
Keyword::Only,
Keyword::Or,
Keyword::Order,
Keyword::Placing,
Keyword::Primary,
Keyword::References,
Keyword::Returning,
Keyword::Select,
Keyword::SessionUser,
Keyword::Some,
Keyword::Symmetric,
Keyword::SystemUser,
Keyword::Table,
Keyword::Then,
Keyword::To,
Keyword::Trailing,
Keyword::True,
Keyword::Union,
Keyword::Unique,
Keyword::User,
Keyword::Using,
Keyword::Variadic,
Keyword::When,
Keyword::Where,
Keyword::Window,
Keyword::With,
]);
pub const POSTGRES_AS_LABEL_KEYWORDS: super::KeywordSet = super::KeywordSet::from_keywords(&[
Keyword::Array,
Keyword::As,
Keyword::Char,
Keyword::Character,
Keyword::Create,
Keyword::Day,
Keyword::Except,
Keyword::Fetch,
Keyword::Filter,
Keyword::For,
Keyword::From,
Keyword::Grant,
Keyword::Group,
Keyword::Having,
Keyword::Hour,
Keyword::Intersect,
Keyword::Into,
Keyword::Limit,
Keyword::Minute,
Keyword::Month,
Keyword::Offset,
Keyword::On,
Keyword::Order,
Keyword::Over,
Keyword::Overlaps,
Keyword::Precision,
Keyword::Returning,
Keyword::Second,
Keyword::To,
Keyword::Union,
Keyword::Varying,
Keyword::Where,
Keyword::Window,
Keyword::With,
Keyword::Within,
Keyword::Without,
Keyword::Year,
]);
pub const MYSQL_RESERVED_KEYWORDS: super::KeywordSet = super::KeywordSet::from_keywords(&[
Keyword::Accessible,
Keyword::Add,
Keyword::All,
Keyword::Alter,
Keyword::Analyze,
Keyword::And,
Keyword::As,
Keyword::Asc,
Keyword::Asensitive,
Keyword::Before,
Keyword::Between,
Keyword::Bigint,
Keyword::Binary,
Keyword::Blob,
Keyword::Both,
Keyword::By,
Keyword::Call,
Keyword::Cascade,
Keyword::Case,
Keyword::Change,
Keyword::Character,
Keyword::Check,
Keyword::Collate,
Keyword::Column,
Keyword::Condition,
Keyword::Constraint,
Keyword::Continue,
Keyword::Create,
Keyword::Cross,
Keyword::Cube,
Keyword::CumeDist,
Keyword::CurrentDate,
Keyword::CurrentTime,
Keyword::CurrentTimestamp,
Keyword::CurrentUser,
Keyword::Cursor,
Keyword::Database,
Keyword::Databases,
Keyword::DayHour,
Keyword::DayMicrosecond,
Keyword::DayMinute,
Keyword::DaySecond,
Keyword::Dec,
Keyword::Decimal,
Keyword::Declare,
Keyword::Default,
Keyword::Delayed,
Keyword::Delete,
Keyword::DenseRank,
Keyword::Desc,
Keyword::Describe,
Keyword::Deterministic,
Keyword::Distinct,
Keyword::Distinctrow,
Keyword::Div,
Keyword::Double,
Keyword::Drop,
Keyword::Dual,
Keyword::Each,
Keyword::Else,
Keyword::Elseif,
Keyword::Empty,
Keyword::Enclosed,
Keyword::Escaped,
Keyword::Except,
Keyword::Exists,
Keyword::Exit,
Keyword::Explain,
Keyword::False,
Keyword::Fetch,
Keyword::FirstValue,
Keyword::Float,
Keyword::Float4,
Keyword::Float8,
Keyword::For,
Keyword::Force,
Keyword::Foreign,
Keyword::From,
Keyword::Fulltext,
Keyword::Function,
Keyword::Generated,
Keyword::Get,
Keyword::Grant,
Keyword::Group,
Keyword::Groups,
Keyword::Having,
Keyword::HighPriority,
Keyword::HourMicrosecond,
Keyword::HourMinute,
Keyword::HourSecond,
Keyword::Ignore,
Keyword::In,
Keyword::Index,
Keyword::Infile,
Keyword::Inner,
Keyword::Inout,
Keyword::Insensitive,
Keyword::Int,
Keyword::Int1,
Keyword::Int2,
Keyword::Int3,
Keyword::Int4,
Keyword::Int8,
Keyword::Integer,
Keyword::Intersect,
Keyword::Into,
Keyword::IoAfterGtids,
Keyword::IoBeforeGtids,
Keyword::Is,
Keyword::Iterate,
Keyword::Join,
Keyword::JsonTable,
Keyword::Key,
Keyword::Keys,
Keyword::Kill,
Keyword::Lag,
Keyword::LastValue,
Keyword::Lateral,
Keyword::Lead,
Keyword::Leading,
Keyword::Leave,
Keyword::Like,
Keyword::Limit,
Keyword::Linear,
Keyword::Lines,
Keyword::Load,
Keyword::Localtime,
Keyword::Localtimestamp,
Keyword::Lock,
Keyword::Long,
Keyword::Longblob,
Keyword::Longtext,
Keyword::Loop,
Keyword::LowPriority,
Keyword::Match,
Keyword::Maxvalue,
Keyword::Mediumblob,
Keyword::Mediumint,
Keyword::Mediumtext,
Keyword::Middleint,
Keyword::MinuteMicrosecond,
Keyword::MinuteSecond,
Keyword::Modifies,
Keyword::Natural,
Keyword::NoWriteToBinlog,
Keyword::Not,
Keyword::NthValue,
Keyword::Ntile,
Keyword::Null,
Keyword::Numeric,
Keyword::Of,
Keyword::On,
Keyword::Optimize,
Keyword::Option,
Keyword::Optionally,
Keyword::Or,
Keyword::Order,
Keyword::Out,
Keyword::Outer,
Keyword::Outfile,
Keyword::Over,
Keyword::Parallel,
Keyword::Partition,
Keyword::PercentRank,
Keyword::Precision,
Keyword::Primary,
Keyword::Procedure,
Keyword::Purge,
Keyword::Qualify,
Keyword::Range,
Keyword::Rank,
Keyword::Read,
Keyword::ReadWrite,
Keyword::Reads,
Keyword::Real,
Keyword::Recursive,
Keyword::References,
Keyword::Regexp,
Keyword::Release,
Keyword::Rename,
Keyword::Repeat,
Keyword::Require,
Keyword::Resignal,
Keyword::Restrict,
Keyword::Return,
Keyword::Revoke,
Keyword::Rlike,
Keyword::Row,
Keyword::RowNumber,
Keyword::Rows,
Keyword::Schema,
Keyword::Schemas,
Keyword::SecondMicrosecond,
Keyword::Select,
Keyword::Sensitive,
Keyword::Separator,
Keyword::Set,
Keyword::Show,
Keyword::Signal,
Keyword::Smallint,
Keyword::Spatial,
Keyword::Specific,
Keyword::Sql,
Keyword::SqlBigResult,
Keyword::SqlCalcFoundRows,
Keyword::SqlSmallResult,
Keyword::Sqlexception,
Keyword::Sqlstate,
Keyword::Sqlwarning,
Keyword::Ssl,
Keyword::Starting,
Keyword::Stored,
Keyword::StraightJoin,
Keyword::System,
Keyword::Table,
Keyword::Tablesample,
Keyword::Terminated,
Keyword::Then,
Keyword::Tinyblob,
Keyword::Tinyint,
Keyword::Tinytext,
Keyword::To,
Keyword::Trailing,
Keyword::Trigger,
Keyword::True,
Keyword::Undo,
Keyword::Union,
Keyword::Unique,
Keyword::Unlock,
Keyword::Unsigned,
Keyword::Update,
Keyword::Usage,
Keyword::Use,
Keyword::Using,
Keyword::UtcDate,
Keyword::UtcTime,
Keyword::UtcTimestamp,
Keyword::Varbinary,
Keyword::Varchar,
Keyword::Varcharacter,
Keyword::Varying,
Keyword::Virtual,
Keyword::When,
Keyword::Where,
Keyword::While,
Keyword::Window,
Keyword::With,
Keyword::Write,
Keyword::Xor,
Keyword::YearMonth,
Keyword::Zerofill,
]);
pub const MYSQL_TYPE_FUNC_NAME_KEYWORDS: super::KeywordSet = super::KeywordSet::from_keywords(&[
Keyword::Char,
Keyword::Convert,
Keyword::Grouping,
Keyword::If,
Keyword::Insert,
Keyword::Interval,
Keyword::Left,
Keyword::Mod,
Keyword::Replace,
Keyword::Right,
Keyword::Values,
]);
pub const MYSQL_FUNCTION_ONLY_KEYWORDS: super::KeywordSet =
super::KeywordSet::from_keywords(&[Keyword::Array]);