Skip to main content

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​

Constructors​

Constructor​

new ASTDeterministicStringifier(): ASTDeterministicStringifier

Defined in: lang-sql/src/visitors/ast-stringifier.ts:50

Returns​

ASTDeterministicStringifier

Properties​

uniqueId​

protected uniqueId: 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()​

protected addQuotes(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​

ParameterType
strstring
quot""" | "'"

Returns​

string


processNode()​

protected processNode(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​

ParameterType
xASTNode

Returns​

string


visitAggregate()​

visitAggregate(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:216

Parameters​

ParameterType
nodeASTAggregate

Returns​

string

Implementation of​

SQLVisitor.visitAggregate


visitArray()​

visitArray(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:73

Parameters​

ParameterType
nodeASTArray

Returns​

string

Implementation of​

SQLVisitor.visitArray


visitCase()​

visitCase(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:204

Parameters​

ParameterType
nodeASTCase

Returns​

string

Implementation of​

SQLVisitor.visitCase


visitCast()​

visitCast(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:83

Parameters​

ParameterType
nodeASTCast

Returns​

string

Implementation of​

SQLVisitor.visitCast


visitExists()​

visitExists(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:91

Parameters​

ParameterType
nodeASTExists

Returns​

string

Implementation of​

SQLVisitor.visitExists


visitExpressionAlias()​

visitExpressionAlias(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:125

Parameters​

ParameterType
nodeASTExpressionAlias

Returns​

string

Implementation of​

SQLVisitor.visitExpressionAlias


visitFrameBoundary()​

protected visitFrameBoundary(x, start): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:256

Renders a single window frame boundary.

Parameters​

ParameterTypeDescription
xASTNode-
startbooleantrue 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​

ParameterType
nodeASTFunction

Returns​

string

Implementation of​

SQLVisitor.visitFunction


visitGroupByClause()​

visitGroupByClause(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:176

Parameters​

ParameterType
nodeGroupByClause

Returns​

string

Implementation of​

SQLVisitor.visitGroupByClause


visitIdentifier()​

visitIdentifier(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:106

Parameters​

ParameterType
nodeSQLIdentifier

Returns​

string

Implementation of​

SQLVisitor.visitIdentifier


visitJoinClause()​

visitJoinClause(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:189

Parameters​

ParameterType
nodeJoinClause

Returns​

string

Implementation of​

SQLVisitor.visitJoinClause


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​

ParameterType
nodeLangSwitch

Returns​

string

Implementation of​

SQLVisitor.visitLangSwitch


visitLiteral()​

visitLiteral<U>(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:319

Type Parameters​

Type Parameter
U

Parameters​

ParameterType
nodeASTLiteral<U>

Returns​

string

Implementation of​

SQLVisitor.visitLiteral


visitNumberLiteral()​

visitNumberLiteral(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:70

Parameters​

ParameterType
nodeASTNumberLiteral

Returns​

string

Implementation of​

SQLVisitor.visitNumberLiteral


visitOperator()​

visitOperator(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:322

Parameters​

ParameterType
nodeASTOperator

Returns​

string

Implementation of​

SQLVisitor.visitOperator


visitOrderBy()​

protected visitOrderBy(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​

ParameterType
nodesOrderByItem[]

Returns​

string


visitQuantifier()​

visitQuantifier(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:94

Parameters​

ParameterType
nodeASTQuantifier

Returns​

string

Implementation of​

SQLVisitor.visitQuantifier


visitRow()​

visitRow(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:78

Parameters​

ParameterType
nodeASTRow

Returns​

string

Implementation of​

SQLVisitor.visitRow


visitRowsFrom()​

visitRowsFrom(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:286

Parameters​

ParameterType
nodeRowsFrom

Returns​

string

Implementation of​

SQLVisitor.visitRowsFrom


visitSchemaPart()​

protected visitSchemaPart(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​

ParameterType
nodestring | number | symbol

Returns​

string


visitSelectSet()​

visitSelectSet(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:158

Parameters​

ParameterType
nodeSelectSet

Returns​

string

Implementation of​

SQLVisitor.visitSelectSet


visitSelectSetOp()​

visitSelectSetOp(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:153

Parameters​

ParameterType
nodeSelectSetOp

Returns​

string

Implementation of​

SQLVisitor.visitSelectSetOp


visitSelectStatement()​

visitSelectStatement(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:131

Parameters​

ParameterType
nodeSelectStatement

Returns​

string

Implementation of​

SQLVisitor.visitSelectStatement


visitSQLIdentifier()​

visitSQLIdentifier(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:110

Parameters​

ParameterType
nodeSQLIdentifier

Returns​

string

Implementation of​

SQLVisitor.visitSQLIdentifier


visitStringLiteral()​

visitStringLiteral(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:67

Parameters​

ParameterType
nodeASTStringLiteral

Returns​

string

Implementation of​

SQLVisitor.visitStringLiteral


visitSubscript()​

visitSubscript(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:86

Parameters​

ParameterType
nodeASTSubscript

Returns​

string

Implementation of​

SQLVisitor.visitSubscript


visitTableAlias()​

visitTableAlias(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:118

Parameters​

ParameterType
nodeASTTableAlias

Returns​

string

Implementation of​

SQLVisitor.visitTableAlias


visitTableFn()​

visitTableFn(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:281

Parameters​

ParameterType
nodeTableFn

Returns​

string

Implementation of​

SQLVisitor.visitTableFn


visitTuple()​

visitTuple(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:330

Parameters​

ParameterType
nodeASTTuple

Returns​

string

Implementation of​

SQLVisitor.visitTuple


visitValues()​

visitValues(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:211

Parameters​

ParameterType
nodeValuesClause

Returns​

string

Implementation of​

SQLVisitor.visitValues


visitWindowFn()​

visitWindowFn(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:271

Parameters​

ParameterType
nodeASTWindowFn

Returns​

string

Implementation of​

SQLVisitor.visitWindowFn


visitWindowSpec()​

visitWindowSpec(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:230

Parameters​

ParameterType
nodeWindowSpec

Returns​

string

Implementation of​

SQLVisitor.visitWindowSpec


visitWithQuery()​

visitWithQuery(node): string

Defined in: lang-sql/src/visitors/ast-stringifier.ts:291

Parameters​

ParameterType
nodeWithQuery

Returns​

string

Implementation of​

SQLVisitor.visitWithQuery