///|
pub(all) enum Keyword {
  Select
  From
  Where
  As
  Group
  Order
  By
  Asc
  Desc
  Nulls
  First
  Last
  Year
  Month
  Day
  Hour
  Minute
  Second
  Date
  Interval
  To
  Like
  Not
  ILike
  Exists
  Between
  And
  Or
  Extract
  Filter
  Case
  When
  Matched
  Target
  Then
  Else
  Having
  End
  In
  Join
  Left
  Right
  Full
  Outer
  Inner
  Cross
  On
  Using
  Limit
  Offset
  Create
  Table
  Integer
  Int
  Smallint
  Bigint
  Real
  Double
  Precision
  Char
  Character
  Collate
  Authorization
  Varchar
  Varing
  Text
  Time
  Boolean
  Float
  Timestamp
  Blob
  Null
  Default
  Unique
  View
  Drop
  Distinct
  All
  Substring
  For
  Primary
  Key
  Foreign
  References
  Check
  Union
  Intersect
  Except
  Top
  Insert
  Into
  Values
  Merge
  If
  Delete
  Update
  Set
  Replace
  Rollback
  Abort
  Fail
  Ignore
  Truncate
  Alter
  Column
  Show
  Tables
  Columns
  Status
  Databases
  Database
  Div
  Lock
  Unlock
  Listen
  Notify
  Schemas
  Schema
  Variables
  Processlist
  Grants
  Functions
  Function
  Extended
  Global
  Session
  Procedure
  Returns
  Language
  Deterministic
  Event
  Trigger
  Duplicate
  Array
  With
  Begin
  Start
  Transaction
  Commit
  Savepoint
  Release
  Work
  Grant
  Revoke
  Privileges
  Usage
  Execute
  Connect
  Temporary
  Temp
  Option
  Restrict
  Cascade
  Index
  // Index types and options
  Btree
  Hash
  Gin
  Gist
  Spgist
  Brin
  Concurrently
  // Window function keywords
  Over
  Window
  Partition
  Rows
  Range
  Preceding
  Following
  Current
  Unbounded
  Row
  // Function/procedure parameter modes
  Out
  InOut
} derive(Eq, Show)