Expand description
SQL Abstract Syntax Tree (AST) types
Modules
Structs
- Represents an Array Expression, either
ARRAY[..], or[..] - An
ARRAY_AGGinvocationARRAY_AGG( [ DISTINCT ] <expr> [ORDER BY <expr>] [LIMIT <n>] )OrARRAY_AGG( [ DISTINCT ] <expr> ) [ WITHIN GROUP ( ORDER BY <expr> ) ]ORDER BY position is defined differently for BigQuery, Postgres and Snowflake. - SQL assignment
foo = expras used in SQLUpdate - Information about character length, including length and possibly unit.
- SQL column definition
- An optionally-named
ColumnOption:[ CONSTRAINT <name> ] <column-option>. - Postgres specific feature.
- A single CTE (used after
WITH):alias [(col1, col2, ...)] AS ( query )The names in the column list beforeAS, when specified, replace the names of the columns returned by the query. The parser does not validate that the number of columns in the query matches the number of columns in the query. - Function describe in DROP FUNCTION.
- Bigquery
EXCEPTinformation, with at least one column. - A function call
- An identifier, decomposed into its value or character data and the quote style.
- Single aliased identifier
- Represents an INTERVAL expression, roughly in the following format:
INTERVAL '<value>' [ <leading_field> [ (<leading_precision>) ] ] [ TO <last_field> [ (<fractional_seconds_precision>) ] ], e.g.INTERVAL '123:45.67' MINUTE(3) TO SECOND(2). - A hive LATERAL VIEW with potential column aliases
- A
LISTAGGinvocationLISTAGG( [ DISTINCT ] <expr>[, <separator> ] [ON OVERFLOW <on_overflow>] ) ) [ WITHIN GROUP (ORDER BY <within_group1>[, ...] ) ] NAME = <EXPR>arguments for DuckDB macros- A name of a table, view, custom type, etc., possibly multi-part, i.e. db.schema.obj
- Function argument in CREATE OR DROP FUNCTION.
- An
ORDER BYexpression - The most complete variant of a
SELECTquery expression, optionally includingWITH,UNION/ other set operations, andORDER BY. - Syntax
- Bigquery
REPLACEinformation. - A restricted variant of
SELECT(without CTEs/ORDER BY), which may appear either as the only body item of aQuery, or as an operand to a set operation likeUNION. - SQL user defined type attribute definition
- Additional options for wildcards, e.g. Snowflake
EXCLUDE/RENAMEand BigqueryEXCEPT. - Specifies the data processed by a window function, e.g.
RANGE UNBOUNDED PRECEDINGorROWS BETWEEN 5 PRECEDING AND CURRENT ROW. - A window specification (i.e.
OVER (PARTITION BY .. ORDER BY .. etc.))
Enums
- A privilege on a database object (table, sequence, etc.).
- An
ALTER COLUMN(Statement::AlterTable) operation - An
ALTER ROLE(Statement::AlterRole) operation - An
ALTER TABLE(Statement::AlterTable) operation - The mode of an argument in CREATE FUNCTION.
- Binary operators
- Possible units for characters, initially based on 2016 ANSI standard.
ColumnOptions are modifiers that follow a column definition in aCREATE TABLEstatement.- Optional context modifier for statements that can be or
LOCAL, orSESSION. - A
CSVoption inCOPYstatement before PostgreSQL version 9.0. - An option in
COPYstatement before PostgreSQL version 9.0. - An option in
COPYstatement. - SQL data types
- Function describe in DROP FUNCTION.
- Snowflake
EXCLUDEinformation. - An SQL expression of any type.
- Specific direction for FETCH statement
- External table’s available file format
- These attributes inform the query optimizer about the behavior of the function.
GeneratedAss are modifiers that follow a column option in agenerated. ‘ExpStored’ is PostgreSQL specific- Objects on which privileges are granted in a GRANT statement.
- Indexing method used by that index.
- JsonOperator
- Representation whether a definition can can contains the KEY or INDEX keywords with the same meaning.
- The
ON OVERFLOWclause of a LISTAGG invocation - Can use to describe options in create sequence or table column type identity [ MINVALUE minvalue | NO MINVALUE ] [ MAXVALUE maxvalue | NO MAXVALUE ]
- Stores the keyword after
OFFSET <number> - Privileges granted in a GRANT statement or revoked in a REVOKE statement.
<referential_action> = { RESTRICT | CASCADE | SET NULL | NO ACTION | SET DEFAULT }- Snowflake
RENAMEinformation. - RESET config option:
- An option in
ROLEstatement. - Schema possible naming variants (1).
- Fulltext search modifiers (1).
- One item of the comma-separated list following
SELECT - Can use to describe options in create sequence or table column type identity
- SET config value option:
- A node in a tree, representing a “query body” expression, roughly:
SELECT ... [ {UNION|EXCEPT|INTERSECT} SELECT ...] - A quantifier for SetOperator.
- Sqlite specific syntax
- A top-level statement (SELECT, INSERT, CREATE, etc.)
- A table-level constraint, specified in a
CREATE TABLEor anALTER TABLE ADD <constraint>statement. - A table name or a parenthesized subquery with an optional alias
- Timestamp and Time data types information about TimeZone formatting.
- Unary operators
- SQL user defined type definition
- Primitive SQL values such as number and string
Traits
- A type that can be visited by a
VisitorMut. SeeVisitorMutfor recursively visiting parsed SQL statements. - A visitor that can be used to walk an AST tree.
- A visitor that can be used to mutate an AST tree.
Functions
- Invokes the provided closure on all expressions (e.g.
1 + 2) present inv - Invokes the provided closure iteratively with a mutable reference to all expressions present in
v. - Invokes the provided closure on all relations (e.g. table names) present in
v - Invokes the provided closure with a mutable reference to all relations (e.g. table names) present in
v. - Invokes the provided closure iteratively with a mutable reference to all statements present in
v(e.g.SELECT,CREATE TABLE, etc). - Invokes the provided closure on all statements (e.g.
SELECT,CREATE TABLE, etc) present inv