Expand description
This module defines
-
a list of constants for every keyword that can appear in crate::tokenizer::Word::keyword:
pub const KEYWORD = “KEYWORD”
-
an
ALL_KEYWORDS
array with every keyword in it This is not a list of reserved keywords: some of these can be parsed as identifiers if the parser decides so. This means that new keywords can be added here without affecting the parse result.As a matter of fact, most of these keywords are not used at all and could be removed.
-
a
RESERVED_FOR_TABLE_ALIAS
array with keywords reserved in a “table alias” context.
Macros§
- define_
keywords 🔒 - Expands to a list of
kw_def!()
invocations for each keyword and defines an ALL_KEYWORDS array of the defined constants. - kw_def 🔒
- Defines a string constant for a single keyword:
kw_def!(SELECT);
expands topub const SELECT = "SELECT";
Enums§
Constants§
- ABORT
- ABS
- ACTION
- ADAPTIVE
- ADD
- AGGREGATE
- ALL
- ALLOCATE
- ALL_
KEYWORDS - ALL_
KEYWORDS_ INDEX - ALTER
- ANALYSE
- ANALYZE
- AND
- ANY
- APPEND
- ARE
- ARRAY
- ARRAY_
AGG - ARRAY_
MAX_ CARDINALITY - AS
- ASC
- ASENSITIVE
- ASOF
- ASYMMETRIC
- AT
- ATOMIC
- AUTHORIZATION
- AUTO
- AVG
- BASE64
- BEGIN
- BEGIN_
FRAME - BEGIN_
PARTITION - BETWEEN
- BIGINT
- BINARY
- BIT_
LENGTH - BLOB
- BOOL
- BOOLEAN
- BOTH
- BY
- BYTEA
- CACHE
- CALL
- CALLED
- CANCEL
- CARDINALITY
- CASCADE
- CASCADED
- CASE
- CAST
- CEIL
- CEILING
- CHAIN
- CHAR
- CHARACTER
- CHARACTERISTICS
- CHARACTER_
LENGTH - CHAR_
LENGTH - CHECK
- CLOB
- CLOSE
- CLUSTER
- COALESCE
- COLLATE
- COLLATION
- COLLECT
- COLUMN
- COLUMNS
- COMMENT
- COMMIT
- COMMITTED
- CONCURRENTLY
- CONDITION
- CONFLICT
- CONFLUENT
- CONNECT
- CONNECTION
- CONNECTIONS
- CONNECTOR
- CONSTRAINT
- CONTAINS
- CONVERT
- COPY
- CORR
- CORRESPONDING
- COUNT
- COVAR_
POP - COVAR_
SAMP - CREATE
- CREATEDB
- CREATEUSER
- CROSS
- CUBE
- CUME_
DIST - CURRENT
- CURRENT_
CATALOG - CURRENT_
DATE - CURRENT_
DEFAULT_ TRANSFORM_ GROUP - CURRENT_
PATH - CURRENT_
ROLE - CURRENT_
ROW - CURRENT_
SCHEMA - CURRENT_
TIME - CURRENT_
TIMESTAMP - CURRENT_
TRANSFORM_ GROUP_ FOR_ TYPE - CURRENT_
USER - CURSOR
- CURSORS
- CYCLE
- DATA
- DATABASE
- DATABASES
- DATE
- DAY
- DEALLOCATE
- DEC
- DECIMAL
- DECLARE
- DEFAULT
- DEFERRABLE
- DEFERRED
- DELETE
- DELIMITED
- DENSE_
RANK - DEREF
- DESC
- DESCRIBE
- DETERMINISTIC
- DIRECTORY
- DISCARD
- DISCONNECT
- DISTINCT
- DISTRIBUTED
- DISTSQL
- DO
- DOT
- DOUBLE
- DROP
- DURATION_
SECS - DYNAMIC
- EACH
- ELEMENT
- ELSE
- EMIT
- ENCODE
- ENCRYPTED
- END
- END_
EXEC - END_
FRAME - END_
PARTITION - ENGINE
- EQUALS
- ERROR
- ESCAPE
- EVENT
- EVERY
- EXCEPT
- EXCLUDE
- EXEC
- EXECUTE
- EXISTS
- EXP
- EXPLAIN
- EXTERNAL
- EXTRACT
- FALSE
- FETCH
- FILE
- FILTER
- FIRST
- FIRST_
VALUE - FLOAT
- FLOOR
- FLUSH
- FOLLOWING
- FOR
- FOREIGN
- FORMAT
- FRAME_
ROW - FREE
- FREEZE
- FROM
- FULL
- FUNCTION
- FUNCTIONS
- FUSION
- GAP
- GET
- GLOBAL
- GRANT
- GRANTED
- GROUP
- GROUPING
- GROUPS
- HAVING
- HEADER
- HOLD
- HOUR
- IDENTITY
- IF
- IGNORE
- ILIKE
- IMMEDIATELY
- IMMUTABLE
- IN
- INCLUDE
- INDEX
- INDEXES
- INDICATOR
- INITIALLY
- INNER
- INOUT
- INSENSITIVE
- INSERT
- INT
- INTEGER
- INTERNAL
- INTERSECT
- INTERSECTION
- INTERVAL
- INTO
- IS
- ISNULL
- ISOLATION
- JOB
- JOBS
- JOIN
- JSON
- KEY
- KEYS
- KILL
- LANGUAGE
- LARGE
- LAST
- LATERAL
- LEADING
- LEFT
- LEVEL
- LIKE
- LIMIT
- LINK
- LN
- LOCAL
- LOCALTIME
- LOCALTIMESTAMP
- LOCATION
- LOGICAL
- LOGIN
- LOWER
- MAP
- MATCH
- MATERIALIZED
- MAX
- MEMBER
- MERGE
- MESSAGE
- METHOD
- MIN
- MINUTE
- MOD
- MODIFIES
- MODULE
- MONTH
- MULTISET
- NATIONAL
- NATIVE
- NATURAL
- NCHAR
- NCLOB
- NEW
- NEXT
- NO
- NOCREATEDB
- NOCREATEUSER
- NOLOGIN
- NONE
- NORMALIZE
- NOSCAN
- NOSUPERUSER
- NOT
- NOTHING
- NOTNULL
- NTH_
VALUE - NTILE
- NULL
- NULLIF
- NULLS
- NUMERIC
- OAUTH
- OBJECT
- OCCURRENCES_
REGEX - OCTET_
LENGTH - OF
- OFFSET
- OLD
- ON
- ONLY
- OPEN
- OPERATOR
- OPTION
- OR
- ORDER
- ORDINALITY
- OTHERS
- OUT
- OUTER
- OUTPUTFORMAT
- OVER
- OVERLAPS
- OVERLAY
- OVERWRITE
- OWNER
- PARALLELISM
- PARAMETER
- PARQUET
- PARTITION
- PARTITIONED
- PARTITIONS
- PASSWORD
- PERCENT
- PERCENTILE_
CONT - PERCENTILE_
DISC - PERCENT_
RANK - PERIOD
- PHYSICAL
- PLACING
- PORTION
- POSITION
- POSITION_
REGEX - POWER
- PRECEDES
- PRECEDING
- PRECISION
- PREPARE
- PRIMARY
- PRIVILEGES
- PROCEDURE
- PROCESSLIST
- PURGE
- RANGE
- RANK
- RCFILE
- READ
- READS
- REAL
- RECOVER
- RECURSIVE
- REF
- REFERENCES
- REFERENCING
- REFRESH
- REGISTRY
- REGR_
AVGX - REGR_
AVGY - REGR_
COUNT - REGR_
INTERCEPT - REGR_R2
- REGR_
SLOPE - REGR_
SXX - REGR_
SXY - REGR_
SYY - RELEASE
- RENAME
- REPAIR
- REPEATABLE
- REPLACE
- RESERVED_
FOR_ COLUMN_ ALIAS - Can’t be used as a column alias, so that
SELECT <expr> alias
can be parsed unambiguously without looking ahead. - RESERVED_
FOR_ COLUMN_ OR_ TABLE_ NAME - Can’t be used as a column or table name in PostgreSQL.
- RESERVED_
FOR_ TABLE_ ALIAS - These keywords can’t be used as a table alias, so that
FROM table_name alias
can be parsed unambiguously without looking ahead. - RESET
- RESOURCE_
GROUP - RESTRICT
- RESULT
- RETURN
- RETURNING
- RETURNS
- REVOKE
- RIGHT
- ROLLBACK
- ROLLUP
- ROW
- ROWID
- ROWS
- ROW_
NUMBER - RUNTIME
- SAVEPOINT
- SCALAR
- SCHEMA
- SCHEMAS
- SCOPE
- SCROLL
- SEARCH
- SECOND
- SECRET
- SECRETS
- SELECT
- SENSITIVE
- SEQUENCE
- SEQUENCEFILE
- SEQUENCES
- SERDE
- SERIALIZABLE
- SESSION
- SESSION_
USER - SET
- SETS
- SHOW
- SIMILAR
- SINCE
- SINK
- SINKS
- SMALLINT
- SNAPSHOT
- SOME
- SORT
- SOURCE
- SOURCES
- SPECIFIC
- SPECIFICTYPE
- SQL
- SQLEXCEPTION
- SQLSTATE
- SQLWARNING
- SQRT
- STABLE
- START
- STATIC
- STATISTICS
- STDDEV_
POP - STDDEV_
SAMP - STDIN
- STORED
- STRING
- STRUCT
- SUBMULTISET
- SUBSCRIPTION
- SUBSCRIPTIONS
- SUBSTRING
- SUBSTRING_
REGEX - SUCCEEDS
- SUM
- SUPERUSER
- SWAP
- SYMMETRIC
- SYNC
- SYSTEM
- SYSTEM_
TIME - SYSTEM_
USER - SYSTEM_
VERSION - TABLE
- TABLES
- TABLESAMPLE
- TBLPROPERTIES
- TEMP
- TEMPORARY
- TEXT
- TEXTFILE
- THEN
- TIES
- TIME
- TIMESTAMP
- TIMEZONE_
HOUR - TIMEZONE_
MINUTE - TINYINT
- TO
- TOP
- TRACE
- TRAILING
- TRANSACTION
- TRANSLATE
- TRANSLATE_
REGEX - TRANSLATION
- TREAT
- TRIGGER
- TRIM
- TRIM_
ARRAY - TRUE
- TRUNCATE
- TRY_
CAST - TYPE
- UESCAPE
- UNBOUNDED
- UNCOMMITTED
- UNION
- UNIQUE
- UNKNOWN
- UNNEST
- UPDATE
- UPPER
- USAGE
- USE
- USER
- USING
- UUID
- VALIDATE
- VALUE
- VALUES
- VALUE_
OF - VARBINARY
- VARCHAR
- VARIADIC
- VARYING
- VAR_POP
- VAR_
SAMP - VERBOSE
- VERSION
- VERSIONING
- VIEW
- VIEWS
- VIRTUAL
- VOLATILE
- WAIT
- WATERMARK
- WHEN
- WHENEVER
- WHERE
- WIDTH_
BUCKET - WINDOW
- WITH
- WITHIN
- WITHOUT
- WORK
- WRITE
- XML
- XOR
- YAML
- YEAR
- ZONE