Skip to main content

Class: SQLCalculationBuilder

Defined in: lang-sql/src/visitors/calculation-builder.ts:14

Extends the core CalculationBuilder with SQL-specific plan operators, treating each as a scalar subquery that returns at most one value.

Extends​

Implements​

Constructors​

Constructor​

new SQLCalculationBuilder(vmap, db): SQLCalculationBuilder

Defined in: core/dist/visitors/calculation-builder.d.ts:79

Parameters​

ParameterTypeDescription
vmapRecord<string, PlanVisitor<CalculationParams>>Per-language visitor map used for recursive descent.
dbDortDBAsFriendDatabase instance providing access to the language manager.

Returns​

SQLCalculationBuilder

Inherited from​

CalculationBuilder.constructor

Properties​

db​

protected db: DortDBAsFriend

Defined in: core/dist/visitors/calculation-builder.d.ts:78

Database instance providing access to the language manager.

Inherited from​

CalculationBuilder.db


vmap​

protected vmap: Record<string, PlanVisitor<CalculationParams>>

Defined in: core/dist/visitors/calculation-builder.d.ts:76

Per-language visitor map used for recursive descent.

Inherited from​

CalculationBuilder.vmap

Methods​

processFnArg()​

protected processFnArg(arg): ASTIdentifier | CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:110

Converts a single plan.FnCall argument (which may be a wrapped operator or a bare identifier) to CalculationParams, relaxing the assertMaxOne constraint to ret1 when the argument's acceptSequence flag is set.

Parameters​

ParameterType
argASTIdentifier | PlanOpAsArg

Returns​

ASTIdentifier | CalculationParams

Inherited from​

CalculationBuilder.processFnArg


processItem()​

protected processItem(item): ASTIdentifier | CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:98

Converts an OpOrId to either a raw ASTIdentifier or a CalculationParams by dispatching through vmap, unwrapping identity FnCall(ret1, [x]) wrappers along the way.

Parameters​

ParameterType
itemOpOrId

Returns​

ASTIdentifier | CalculationParams

Inherited from​

CalculationBuilder.processItem


processLiteralConditional()​

protected processLiteralConditional(cond, whenthens, defaultCase?): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:122

Attempts to fold a CASE expression at compile time when cond is a literal. Returns the pre-computed CalculationParams if the matching branch is also a literal, or null when runtime evaluation is still required.

Parameters​

ParameterType
condCalculationParams
whenthens[ASTIdentifier | CalculationParams, ASTIdentifier | CalculationParams][]
defaultCase?ASTIdentifier | CalculationParams

Returns​

CalculationParams

Inherited from​

CalculationBuilder.processLiteralConditional


processQuantifiedFn()​

protected processQuantifiedFn(operator, children): (...args) => boolean

Defined in: core/dist/visitors/calculation-builder.d.ts:104

Builds a runtime implementation for a plan.FnCall that contains ANY / ALL plan.Quantifier arguments, performing the cartesian-product evaluation over quantified argument sequences.

Parameters​

ParameterType
operatorFnCall
children(ASTIdentifier | CalculationParams)[]

Returns​

(...args) => boolean

Inherited from​

CalculationBuilder.processQuantifiedFn


processWhenThen()​

protected processWhenThen(item): [ASTIdentifier | CalculationParams, ASTIdentifier | CalculationParams]

Defined in: core/dist/visitors/calculation-builder.d.ts:115

Converts a CASE [when, then] pair to CalculationParams or raw identifiers.

Parameters​

ParameterType
item[OpOrId, OpOrId]

Returns​

[ASTIdentifier | CalculationParams, ASTIdentifier | CalculationParams]

Inherited from​

CalculationBuilder.processWhenThen


toItem()​

protected toItem(op): MapToItem

Defined in: core/dist/visitors/calculation-builder.d.ts:88

Wraps op in a plan.MapToItem node, reparenting op under the new node and updating op's previous parent to point at the wrapper.

Parameters​

ParameterType
opPlanTupleOperator

Returns​

MapToItem

Inherited from​

CalculationBuilder.toItem


visitAggregate()​

visitAggregate(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:140

Parameters​

ParameterType
operatorAggregateCall

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitAggregate

Inherited from​

CalculationBuilder.visitAggregate


visitBidirectionalRecursion()​

visitBidirectionalRecursion(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:147

Parameters​

ParameterType
operatorBidirectionalRecursion

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitBidirectionalRecursion

Inherited from​

CalculationBuilder.visitBidirectionalRecursion


visitCalculation()​

visitCalculation(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:113

Parameters​

ParameterType
operatorCalculation

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitCalculation

Inherited from​

CalculationBuilder.visitCalculation


visitCartesianProduct()​

visitCartesianProduct(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:126

Parameters​

ParameterType
operatorCartesianProduct

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitCartesianProduct

Inherited from​

CalculationBuilder.visitCartesianProduct


visitConditional()​

visitConditional(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:116

Parameters​

ParameterType
operatorConditional

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitConditional

Inherited from​

CalculationBuilder.visitConditional


visitDifference()​

visitDifference(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:137

Parameters​

ParameterType
operatorDifference

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitDifference

Inherited from​

CalculationBuilder.visitDifference


visitDistinct()​

visitDistinct(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:138

Parameters​

ParameterType
operatorDistinct

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitDistinct

Inherited from​

CalculationBuilder.visitDistinct


visitFnCall()​

visitFnCall(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:111

Parameters​

ParameterType
operatorFnCall

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitFnCall

Inherited from​

CalculationBuilder.visitFnCall


visitGroupBy()​

visitGroupBy(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:133

Parameters​

ParameterType
operatorGroupBy

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitGroupBy

Inherited from​

CalculationBuilder.visitGroupBy


visitIndexedRecursion()​

visitIndexedRecursion(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:146

Parameters​

ParameterType
operatorIndexedRecursion

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitIndexedRecursion

Inherited from​

CalculationBuilder.visitIndexedRecursion


visitIndexScan()​

visitIndexScan(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:145

Parameters​

ParameterType
operatorIndexScan

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitIndexScan

Inherited from​

CalculationBuilder.visitIndexScan


visitIntersection()​

visitIntersection(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:136

Parameters​

ParameterType
operatorIntersection

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitIntersection

Inherited from​

CalculationBuilder.visitIntersection


visitItemFnSource()​

visitItemFnSource(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:141

Parameters​

ParameterType
operatorItemFnSource

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitItemFnSource

Inherited from​

CalculationBuilder.visitItemFnSource


visitItemSource()​

visitItemSource(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:92

Parameters​

ParameterType
operatorItemSource

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitItemSource

Inherited from​

CalculationBuilder.visitItemSource


visitJoin()​

visitJoin(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:127

Parameters​

ParameterType
operatorJoin

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitJoin

Inherited from​

CalculationBuilder.visitJoin


visitLangSwitch()​

visitLangSwitch(operator): CalculationParams

Defined in: lang-sql/src/visitors/calculation-builder.ts:18

Parameters​

ParameterType
operatorLangSwitch

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitLangSwitch


visitLimit()​

visitLimit(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:134

Parameters​

ParameterType
operatorLimit

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitLimit

Inherited from​

CalculationBuilder.visitLimit


visitLiteral()​

visitLiteral(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:112

Parameters​

ParameterType
operatorLiteral<unknown>

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitLiteral

Inherited from​

CalculationBuilder.visitLiteral


visitMapFromItem()​

visitMapFromItem(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:130

Parameters​

ParameterType
operatorMapFromItem

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitMapFromItem

Inherited from​

CalculationBuilder.visitMapFromItem


visitMapToItem()​

visitMapToItem(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:129

Parameters​

ParameterType
operatorMapToItem

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitMapToItem

Inherited from​

CalculationBuilder.visitMapToItem


visitNullSource()​

visitNullSource(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:139

Parameters​

ParameterType
operatorNullSource

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitNullSource

Inherited from​

CalculationBuilder.visitNullSource


visitOrderBy()​

visitOrderBy(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:132

Parameters​

ParameterType
operatorOrderBy

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitOrderBy

Inherited from​

CalculationBuilder.visitOrderBy


visitProjection()​

visitProjection(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:89

Parameters​

ParameterType
operatorProjection

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitProjection

Inherited from​

CalculationBuilder.visitProjection


visitProjectionConcat()​

visitProjectionConcat(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:128

Parameters​

ParameterType
operatorProjectionConcat

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitProjectionConcat

Inherited from​

CalculationBuilder.visitProjectionConcat


visitProjectionIndex()​

visitProjectionIndex(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:131

Parameters​

ParameterType
operatorProjectionIndex

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitProjectionIndex

Inherited from​

CalculationBuilder.visitProjectionIndex


visitQuantifier()​

visitQuantifier(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:143

Parameters​

ParameterType
operatorQuantifier

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitQuantifier

Inherited from​

CalculationBuilder.visitQuantifier


visitRecursion()​

visitRecursion(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:144

Parameters​

ParameterType
operatorRecursion

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitRecursion

Inherited from​

CalculationBuilder.visitRecursion


visitSelection()​

visitSelection(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:90

Parameters​

ParameterType
operatorSelection

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitSelection

Inherited from​

CalculationBuilder.visitSelection


visitTableAlias()​

visitTableAlias(operator, arg?): CalculationParams

Defined in: lang-sql/src/visitors/calculation-builder.ts:32

Parameters​

ParameterType
operatorTableAlias
arg?never

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitTableAlias


visitTupleFnSource()​

visitTupleFnSource(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:142

Parameters​

ParameterType
operatorTupleFnSource

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitTupleFnSource

Inherited from​

CalculationBuilder.visitTupleFnSource


visitTupleSource()​

visitTupleSource(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:91

Parameters​

ParameterType
operatorTupleSource

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitTupleSource

Inherited from​

CalculationBuilder.visitTupleSource


visitUnion()​

visitUnion(operator): CalculationParams

Defined in: core/dist/visitors/calculation-builder.d.ts:135

Parameters​

ParameterType
operatorUnion

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitUnion

Inherited from​

CalculationBuilder.visitUnion


visitUsing()​

visitUsing(operator): CalculationParams

Defined in: lang-sql/src/visitors/calculation-builder.ts:25

Parameters​

ParameterType
operatorUsing

Returns​

CalculationParams

Implementation of​

SQLPlanVisitor.visitUsing