server/statement library

Parsed SQL statement AST.

Classes

AlterTableAddColumnStmt
AlterTableDropColumnStmt
AlterTableRenameColumnStmt
AlterTableRenameStmt
AnalyzeStmt
AttachDatabaseStmt
BeginStmt
CommitStmt
CreateIndexStmt
CreateTableStmt
CreateTriggerStmt
CreateViewStmt
CreateVirtualTableStmt
DeleteStmt
DescribeStmt
DetachDatabaseStmt
DropIndexStmt
DropTableStmt
DropTriggerStmt
DropViewStmt
ExplainStmt
IndexHint
Optional INDEXED BY name / NOT INDEXED hint attached to a table reference. SQLite-compatible; when notIndexed the planner must skip index lookups; when indexName is set the planner must use exactly that index or raise an error.
InsertStmt
JoinClause
OnConflictClause
ON CONFLICT (cols) DO {NOTHING | UPDATE SET ... [WHERE ...]} clause attached to an INSERT to form an UPSERT.
OrderByItem
PragmaStmt
ReindexStmt
ReleaseSavepointStmt
RollbackStmt
RollbackToSavepointStmt
SavepointStmt
SelectItem
SelectStmt
SetSessionStmt
MySQL SET ... — connection-state assignment. The wire layer needs these to succeed for clients like the mysql CLI; the engine does not actually apply them. Holds the raw source for diagnostics.
ShowColumnsStmt
SHOW COLUMNS FROM <table> — MySQL alias for DESCRIBE.
ShowCreateTableStmt
SHOW CREATE TABLE <table> — emits a best-effort reconstruction.
ShowDatabasesStmt
SHOW DATABASES / SHOW SCHEMAS — returns one row per known database.
ShowStatusStmt
SHOW [SESSION|GLOBAL] STATUS [LIKE 'pat'].
ShowTablesStmt
ShowVariablesStmt
SHOW [SESSION|GLOBAL] VARIABLES [LIKE 'pat'].
Statement
SubqueryExistsExpr
SubqueryInExpr
SubquerySelectExpr
TruncateTableStmt
UpdateStmt
UseDatabaseStmt
MySQL USE <db> — accepted and acknowledged (we don't model multiple databases at the SQL surface).
VacuumStmt

Enums

InsertMode
Conflict-resolution mode for INSERT.