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
| Parameter | Type | Description |
|---|---|---|
vmap | Record<string, PlanVisitor<CalculationParams>> | Per-language visitor map used for recursive descent. |
db | DortDBAsFriend | Database instance providing access to the language manager. |
Returns
SQLCalculationBuilder
Inherited from
CalculationBuilder.constructor
Properties
db
protecteddb:DortDBAsFriend
Defined in: core/dist/visitors/calculation-builder.d.ts:78
Database instance providing access to the language manager.
Inherited from
vmap
protectedvmap:Record<string,PlanVisitor<CalculationParams>>
Defined in: core/dist/visitors/calculation-builder.d.ts:76
Per-language visitor map used for recursive descent.
Inherited from
Methods
processFnArg()
protectedprocessFnArg(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
| Parameter | Type |
|---|---|
arg | ASTIdentifier | PlanOpAsArg |
Returns
ASTIdentifier | CalculationParams
Inherited from
CalculationBuilder.processFnArg
processItem()
protectedprocessItem(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
| Parameter | Type |
|---|---|
item | OpOrId |
Returns
ASTIdentifier | CalculationParams
Inherited from
CalculationBuilder.processItem
processLiteralConditional()
protectedprocessLiteralConditional(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
| Parameter | Type |
|---|---|
cond | CalculationParams |
whenthens | [ASTIdentifier | CalculationParams, ASTIdentifier | CalculationParams][] |
defaultCase? | ASTIdentifier | CalculationParams |
Returns
Inherited from
CalculationBuilder.processLiteralConditional
processQuantifiedFn()
protectedprocessQuantifiedFn(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
| Parameter | Type |
|---|---|
operator | FnCall |
children | (ASTIdentifier | CalculationParams)[] |
Returns
(...args) => boolean
Inherited from
CalculationBuilder.processQuantifiedFn
processWhenThen()
protectedprocessWhenThen(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
| Parameter | Type |
|---|---|
item | [OpOrId, OpOrId] |
Returns
[ASTIdentifier | CalculationParams, ASTIdentifier | CalculationParams]
Inherited from
CalculationBuilder.processWhenThen
toItem()
protectedtoItem(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
| Parameter | Type |
|---|---|
op | PlanTupleOperator |
Returns
Inherited from
visitAggregate()
visitAggregate(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:140
Parameters
| Parameter | Type |
|---|---|
operator | AggregateCall |
Returns
Implementation of
Inherited from
CalculationBuilder.visitAggregate
visitBidirectionalRecursion()
visitBidirectionalRecursion(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:147
Parameters
| Parameter | Type |
|---|---|
operator | BidirectionalRecursion |
Returns
Implementation of
SQLPlanVisitor.visitBidirectionalRecursion
Inherited from
CalculationBuilder.visitBidirectionalRecursion
visitCalculation()
visitCalculation(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:113
Parameters
| Parameter | Type |
|---|---|
operator | Calculation |
Returns
Implementation of
SQLPlanVisitor.visitCalculation
Inherited from
CalculationBuilder.visitCalculation
visitCartesianProduct()
visitCartesianProduct(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:126
Parameters
| Parameter | Type |
|---|---|
operator | CartesianProduct |
Returns
Implementation of
SQLPlanVisitor.visitCartesianProduct
Inherited from
CalculationBuilder.visitCartesianProduct
visitConditional()
visitConditional(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:116
Parameters
| Parameter | Type |
|---|---|
operator | Conditional |
Returns
Implementation of
SQLPlanVisitor.visitConditional
Inherited from
CalculationBuilder.visitConditional
visitDifference()
visitDifference(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:137
Parameters
| Parameter | Type |
|---|---|
operator | Difference |
Returns
Implementation of
SQLPlanVisitor.visitDifference
Inherited from
CalculationBuilder.visitDifference
visitDistinct()
visitDistinct(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:138
Parameters
| Parameter | Type |
|---|---|
operator | Distinct |
Returns
Implementation of
Inherited from
CalculationBuilder.visitDistinct
visitFnCall()
visitFnCall(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:111
Parameters
| Parameter | Type |
|---|---|
operator | FnCall |
Returns
Implementation of
Inherited from
CalculationBuilder.visitFnCall
visitGroupBy()
visitGroupBy(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:133
Parameters
| Parameter | Type |
|---|---|
operator | GroupBy |
Returns
Implementation of
Inherited from
CalculationBuilder.visitGroupBy
visitIndexedRecursion()
visitIndexedRecursion(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:146
Parameters
| Parameter | Type |
|---|---|
operator | IndexedRecursion |
Returns
Implementation of
SQLPlanVisitor.visitIndexedRecursion
Inherited from
CalculationBuilder.visitIndexedRecursion
visitIndexScan()
visitIndexScan(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:145
Parameters
| Parameter | Type |
|---|---|
operator | IndexScan |
Returns
Implementation of
Inherited from
CalculationBuilder.visitIndexScan
visitIntersection()
visitIntersection(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:136
Parameters
| Parameter | Type |
|---|---|
operator | Intersection |
Returns
Implementation of
SQLPlanVisitor.visitIntersection
Inherited from
CalculationBuilder.visitIntersection
visitItemFnSource()
visitItemFnSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:141
Parameters
| Parameter | Type |
|---|---|
operator | ItemFnSource |
Returns
Implementation of
SQLPlanVisitor.visitItemFnSource
Inherited from
CalculationBuilder.visitItemFnSource
visitItemSource()
visitItemSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:92
Parameters
| Parameter | Type |
|---|---|
operator | ItemSource |
Returns
Implementation of
SQLPlanVisitor.visitItemSource
Inherited from
CalculationBuilder.visitItemSource
visitJoin()
visitJoin(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:127
Parameters
| Parameter | Type |
|---|---|
operator | Join |
Returns
Implementation of
Inherited from
visitLangSwitch()
visitLangSwitch(
operator):CalculationParams
Defined in: lang-sql/src/visitors/calculation-builder.ts:18
Parameters
| Parameter | Type |
|---|---|
operator | LangSwitch |
Returns
Implementation of
SQLPlanVisitor.visitLangSwitch
visitLimit()
visitLimit(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:134
Parameters
| Parameter | Type |
|---|---|
operator | Limit |
Returns
Implementation of
Inherited from
visitLiteral()
visitLiteral(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:112
Parameters
| Parameter | Type |
|---|---|
operator | Literal<unknown> |
Returns
Implementation of
Inherited from
CalculationBuilder.visitLiteral
visitMapFromItem()
visitMapFromItem(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:130
Parameters
| Parameter | Type |
|---|---|
operator | MapFromItem |
Returns
Implementation of
SQLPlanVisitor.visitMapFromItem
Inherited from
CalculationBuilder.visitMapFromItem
visitMapToItem()
visitMapToItem(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:129
Parameters
| Parameter | Type |
|---|---|
operator | MapToItem |
Returns
Implementation of
Inherited from
CalculationBuilder.visitMapToItem
visitNullSource()
visitNullSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:139
Parameters
| Parameter | Type |
|---|---|
operator | NullSource |
Returns
Implementation of
SQLPlanVisitor.visitNullSource
Inherited from
CalculationBuilder.visitNullSource
visitOrderBy()
visitOrderBy(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:132
Parameters
| Parameter | Type |
|---|---|
operator | OrderBy |
Returns
Implementation of
Inherited from
CalculationBuilder.visitOrderBy
visitProjection()
visitProjection(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:89
Parameters
| Parameter | Type |
|---|---|
operator | Projection |
Returns
Implementation of
SQLPlanVisitor.visitProjection
Inherited from
CalculationBuilder.visitProjection
visitProjectionConcat()
visitProjectionConcat(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:128
Parameters
| Parameter | Type |
|---|---|
operator | ProjectionConcat |
Returns
Implementation of
SQLPlanVisitor.visitProjectionConcat
Inherited from
CalculationBuilder.visitProjectionConcat
visitProjectionIndex()
visitProjectionIndex(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:131
Parameters
| Parameter | Type |
|---|---|
operator | ProjectionIndex |
Returns
Implementation of
SQLPlanVisitor.visitProjectionIndex
Inherited from
CalculationBuilder.visitProjectionIndex
visitQuantifier()
visitQuantifier(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:143
Parameters
| Parameter | Type |
|---|---|
operator | Quantifier |
Returns
Implementation of
SQLPlanVisitor.visitQuantifier
Inherited from
CalculationBuilder.visitQuantifier
visitRecursion()
visitRecursion(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:144
Parameters
| Parameter | Type |
|---|---|
operator | Recursion |
Returns
Implementation of
Inherited from
CalculationBuilder.visitRecursion
visitSelection()
visitSelection(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:90
Parameters
| Parameter | Type |
|---|---|
operator | Selection |
Returns
Implementation of
Inherited from
CalculationBuilder.visitSelection
visitTableAlias()
visitTableAlias(
operator,arg?):CalculationParams
Defined in: lang-sql/src/visitors/calculation-builder.ts:32
Parameters
| Parameter | Type |
|---|---|
operator | TableAlias |
arg? | never |
Returns
Implementation of
SQLPlanVisitor.visitTableAlias
visitTupleFnSource()
visitTupleFnSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:142
Parameters
| Parameter | Type |
|---|---|
operator | TupleFnSource |
Returns
Implementation of
SQLPlanVisitor.visitTupleFnSource
Inherited from
CalculationBuilder.visitTupleFnSource
visitTupleSource()
visitTupleSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:91
Parameters
| Parameter | Type |
|---|---|
operator | TupleSource |
Returns
Implementation of
SQLPlanVisitor.visitTupleSource
Inherited from
CalculationBuilder.visitTupleSource
visitUnion()
visitUnion(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:135
Parameters
| Parameter | Type |
|---|---|
operator | Union |
Returns
Implementation of
Inherited from
visitUsing()
visitUsing(
operator):CalculationParams
Defined in: lang-sql/src/visitors/calculation-builder.ts:25
Parameters
| Parameter | Type |
|---|---|
operator | Using |