Expand description
Abstract syntax tree of the supported SQL dialect.
parse produces these types. They describe the statement
exactly as written: names are not checked against a schema and literals are
not converted to column types yet. The grammar they model is documented in
the SQL reference of the wasm-dbms book.
Structs§
- Aggregate
- An aggregate function call such as
COUNT(*)orSUM(price). - Assignment
- One
column = valueentry of anUPDATE ... SETlist. - Column
Ref - A column name, optionally qualified:
columnortable.column. - Delete
- A
DELETE FROM table WHERE condition [CASCADE | RESTRICT]statement. - Insert
- An
INSERT INTO table (columns) VALUES (values)statement. - Join
Clause - A
JOIN table ON left = rightclause. - Order
Item - One
ORDER BYentry:operand [ASC | DESC]. - Select
- A
SELECTstatement. - Select
Item - One entry of an explicit select list:
operand [AS alias]. - Table
Ref - A table in
FROMorJOIN:name [[AS] alias]. - Update
- An
UPDATE table SET assignments WHERE conditionstatement.
Enums§
- Aggregate
Kind - The supported aggregate functions.
- Compare
Op - A comparison operator.
- Condition
- A boolean condition of a
WHEREorHAVINGclause. - Join
Kind - The supported join types.
- Literal
- A literal value, before conversion to a column type.
- Operand
- Something that yields a value per row or per group.
- Projection
- The select list of a
Select. - RowCount
- The argument of
LIMITorOFFSET. - Statement
- A parsed SQL statement.
- Value
Expr - A value written in the statement: a literal or a
?placeholder.