Class: ASTDeterministicStringifier
Defined in: lang-sql/src/visitors/ast-stringifier.ts:46
Serializes a SQL AST to a deterministic string suitable for use as a stable subexpression key or plan identifier.
Implements
SQLVisitor<string>
Constructors
Constructor
new ASTDeterministicStringifier():
ASTDeterministicStringifier
Defined in: lang-sql/src/visitors/ast-stringifier.ts:50
Returns
ASTDeterministicStringifier
Properties
uniqueId
protecteduniqueId:number=0
Defined in: lang-sql/src/visitors/ast-stringifier.ts:48
Counter incremented for each LangSwitch node to keep its synthesized key unique within this instance.
Methods
addQuotes()
protectedaddQuotes(str,quot):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:114
Wraps str in quot, doubling any embedded quot characters to produce a valid SQL literal or identifier.
Parameters
| Parameter | Type |
|---|---|
str | string |
quot | """ | "'" |
Returns
string
processNode()
protectedprocessNode(x):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:56
Dispatches x through the visitor; bound to this for use as an array map callback.
Parameters
| Parameter | Type |
|---|---|
x | ASTNode |
Returns
string
visitAggregate()
visitAggregate(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:216
Parameters
| Parameter | Type |
|---|---|
node | ASTAggregate |
Returns
string
Implementation of
visitArray()
visitArray(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:73
Parameters
| Parameter | Type |
|---|---|
node | ASTArray |
Returns
string
Implementation of
visitCase()
visitCase(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:204
Parameters
| Parameter | Type |
|---|---|
node | ASTCase |
Returns
string
Implementation of
visitCast()
visitCast(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:83
Parameters
| Parameter | Type |
|---|---|
node | ASTCast |
Returns
string
Implementation of
visitExists()
visitExists(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:91
Parameters
| Parameter | Type |
|---|---|
node | ASTExists |
Returns
string
Implementation of
visitExpressionAlias()
visitExpressionAlias(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:125
Parameters
| Parameter | Type |
|---|---|
node | ASTExpressionAlias |
Returns
string
Implementation of
SQLVisitor.visitExpressionAlias
visitFrameBoundary()
protectedvisitFrameBoundary(x,start):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:256
Renders a single window frame boundary.
Parameters
| Parameter | Type | Description |
|---|---|---|
x | ASTNode | - |
start | boolean | true for the start boundary (uses PRECEDING), false for the end (uses FOLLOWING). |
Returns
string
visitFunction()
visitFunction(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:327
Parameters
| Parameter | Type |
|---|---|
node | ASTFunction |
Returns
string
Implementation of
visitGroupByClause()
visitGroupByClause(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:176
Parameters
| Parameter | Type |
|---|---|
node | GroupByClause |
Returns
string
Implementation of
visitIdentifier()
visitIdentifier(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:106
Parameters
| Parameter | Type |
|---|---|
node | SQLIdentifier |
Returns
string
Implementation of
visitJoinClause()
visitJoinClause(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:189
Parameters
| Parameter | Type |
|---|---|
node | JoinClause |
Returns
string
Implementation of
visitLangSwitch()
visitLangSwitch(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:64
Returns a synthetic placeholder lang_<lang>_<n> rather than stringifying
the embedded expression, because the nested language's AST is opaque to SQL.
Parameters
| Parameter | Type |
|---|---|
node | LangSwitch |
Returns
string
Implementation of
visitLiteral()
visitLiteral<
U>(node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:319
Type Parameters
| Type Parameter |
|---|
U |
Parameters
| Parameter | Type |
|---|---|
node | ASTLiteral<U> |
Returns
string
Implementation of
visitNumberLiteral()
visitNumberLiteral(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:70
Parameters
| Parameter | Type |
|---|---|
node | ASTNumberLiteral |
Returns
string
Implementation of
visitOperator()
visitOperator(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:322
Parameters
| Parameter | Type |
|---|---|
node | ASTOperator |
Returns
string
Implementation of
visitOrderBy()
protectedvisitOrderBy(nodes):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:142
Serializes an array of ORDER BY items to SQL text, including ASC/DESC and NULLS FIRST/LAST.
Parameters
| Parameter | Type |
|---|---|
nodes | OrderByItem[] |
Returns
string
visitQuantifier()
visitQuantifier(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:94
Parameters
| Parameter | Type |
|---|---|
node | ASTQuantifier |
Returns
string
Implementation of
visitRow()
visitRow(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:78
Parameters
| Parameter | Type |
|---|---|
node | ASTRow |
Returns
string
Implementation of
visitRowsFrom()
visitRowsFrom(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:286
Parameters
| Parameter | Type |
|---|---|
node | RowsFrom |
Returns
string
Implementation of
visitSchemaPart()
protectedvisitSchemaPart(node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:99
Converts a single schema part to SQL text; renders allAttrs as * and wraps string parts in double quotes.
Parameters
| Parameter | Type |
|---|---|
node | string | number | symbol |
Returns
string
visitSelectSet()
visitSelectSet(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:158
Parameters
| Parameter | Type |
|---|---|
node | SelectSet |
Returns
string
Implementation of
visitSelectSetOp()
visitSelectSetOp(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:153
Parameters
| Parameter | Type |
|---|---|
node | SelectSetOp |
Returns
string
Implementation of
visitSelectStatement()
visitSelectStatement(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:131
Parameters
| Parameter | Type |
|---|---|
node | SelectStatement |
Returns
string
Implementation of
SQLVisitor.visitSelectStatement
visitSQLIdentifier()
visitSQLIdentifier(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:110
Parameters
| Parameter | Type |
|---|---|
node | SQLIdentifier |
Returns
string
Implementation of
visitStringLiteral()
visitStringLiteral(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:67
Parameters
| Parameter | Type |
|---|---|
node | ASTStringLiteral |
Returns
string
Implementation of
visitSubscript()
visitSubscript(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:86
Parameters
| Parameter | Type |
|---|---|
node | ASTSubscript |
Returns
string
Implementation of
visitTableAlias()
visitTableAlias(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:118
Parameters
| Parameter | Type |
|---|---|
node | ASTTableAlias |
Returns
string
Implementation of
visitTableFn()
visitTableFn(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:281
Parameters
| Parameter | Type |
|---|---|
node | TableFn |
Returns
string
Implementation of
visitTuple()
visitTuple(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:330
Parameters
| Parameter | Type |
|---|---|
node | ASTTuple |
Returns
string
Implementation of
visitValues()
visitValues(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:211
Parameters
| Parameter | Type |
|---|---|
node | ValuesClause |
Returns
string
Implementation of
visitWindowFn()
visitWindowFn(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:271
Parameters
| Parameter | Type |
|---|---|
node | ASTWindowFn |
Returns
string
Implementation of
visitWindowSpec()
visitWindowSpec(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:230
Parameters
| Parameter | Type |
|---|---|
node | WindowSpec |
Returns
string
Implementation of
visitWithQuery()
visitWithQuery(
node):string
Defined in: lang-sql/src/visitors/ast-stringifier.ts:291
Parameters
| Parameter | Type |
|---|---|
node | WithQuery |
Returns
string