Class: XQueryCalculationBuilder
Defined in: lang-xquery/src/visitors/calculation-builder.ts:12
Extends CalculationBuilder to lower XQuery-specific operators (TreeJoin, ProjectionSize) into sequence-accepting flat subquery arguments, matching the pattern used for all sub-plan operators in the XQuery execution model.
Extends
Implements
Constructors
Constructor
new XQueryCalculationBuilder(
vmap,db):XQueryCalculationBuilder
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
XQueryCalculationBuilder
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
XQueryPlanVisitor.visitAggregate
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
XQueryPlanVisitor.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
XQueryPlanVisitor.visitCalculation
Inherited from
CalculationBuilder.visitCalculation
visitCartesianProduct()
visitCartesianProduct(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:30
Parameters
| Parameter | Type |
|---|---|
operator | CartesianProduct |
Returns
Implementation of
XQueryPlanVisitor.visitCartesianProduct
Overrides
CalculationBuilder.visitCartesianProduct
visitConditional()
visitConditional(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:116
Parameters
| Parameter | Type |
|---|---|
operator | Conditional |
Returns
Implementation of
XQueryPlanVisitor.visitConditional
Inherited from
CalculationBuilder.visitConditional
visitDifference()
visitDifference(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:39
Parameters
| Parameter | Type |
|---|---|
operator | Difference |
Returns
Implementation of
XQueryPlanVisitor.visitDifference
Overrides
CalculationBuilder.visitDifference
visitDistinct()
visitDistinct(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:46
Parameters
| Parameter | Type |
|---|---|
operator | Distinct |
Returns
Implementation of
XQueryPlanVisitor.visitDistinct
Overrides
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: lang-xquery/src/visitors/calculation-builder.ts:53
Parameters
| Parameter | Type |
|---|---|
operator | GroupBy |
Returns
Implementation of
XQueryPlanVisitor.visitGroupBy
Overrides
CalculationBuilder.visitGroupBy
visitIndexedRecursion()
visitIndexedRecursion(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:67
Parameters
| Parameter | Type |
|---|---|
operator | IndexedRecursion |
Returns
Implementation of
XQueryPlanVisitor.visitIndexedRecursion
Overrides
CalculationBuilder.visitIndexedRecursion
visitIndexScan()
visitIndexScan(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:60
Parameters
| Parameter | Type |
|---|---|
operator | IndexScan |
Returns
Implementation of
XQueryPlanVisitor.visitIndexScan
Overrides
CalculationBuilder.visitIndexScan
visitIntersection()
visitIntersection(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:76
Parameters
| Parameter | Type |
|---|---|
operator | Intersection |
Returns
Implementation of
XQueryPlanVisitor.visitIntersection
Overrides
CalculationBuilder.visitIntersection
visitItemFnSource()
visitItemFnSource(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:83
Parameters
| Parameter | Type |
|---|---|
operator | ItemFnSource |
Returns
Implementation of
XQueryPlanVisitor.visitItemFnSource
Overrides
CalculationBuilder.visitItemFnSource
visitItemSource()
visitItemSource(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:90
Parameters
| Parameter | Type |
|---|---|
operator | ItemSource |
Returns
Implementation of
XQueryPlanVisitor.visitItemSource
Overrides
CalculationBuilder.visitItemSource
visitJoin()
visitJoin(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:111
Parameters
| Parameter | Type |
|---|---|
operator | Join |
Returns
Implementation of
Overrides
visitLimit()
visitLimit(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:118
Parameters
| Parameter | Type |
|---|---|
operator | Limit |
Returns
Implementation of
Overrides
visitLiteral()
visitLiteral(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:112
Parameters
| Parameter | Type |
|---|---|
operator | Literal<unknown> |
Returns
Implementation of
XQueryPlanVisitor.visitLiteral
Inherited from
CalculationBuilder.visitLiteral
visitMapFromItem()
visitMapFromItem(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:97
Parameters
| Parameter | Type |
|---|---|
operator | MapFromItem |
Returns
Implementation of
XQueryPlanVisitor.visitMapFromItem
Overrides
CalculationBuilder.visitMapFromItem
visitMapToItem()
visitMapToItem(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:104
Parameters
| Parameter | Type |
|---|---|
operator | MapToItem |
Returns
Implementation of
XQueryPlanVisitor.visitMapToItem
Overrides
CalculationBuilder.visitMapToItem
visitNullSource()
visitNullSource(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:139
Parameters
| Parameter | Type |
|---|---|
operator | NullSource |
Returns
Implementation of
XQueryPlanVisitor.visitNullSource
Inherited from
CalculationBuilder.visitNullSource
visitOrderBy()
visitOrderBy(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:125
Parameters
| Parameter | Type |
|---|---|
operator | OrderBy |
Returns
Implementation of
XQueryPlanVisitor.visitOrderBy
Overrides
CalculationBuilder.visitOrderBy
visitProjection()
visitProjection(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:132
Parameters
| Parameter | Type |
|---|---|
operator | Projection |
Returns
Implementation of
XQueryPlanVisitor.visitProjection
Overrides
CalculationBuilder.visitProjection
visitProjectionConcat()
visitProjectionConcat(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:139
Parameters
| Parameter | Type |
|---|---|
operator | ProjectionConcat |
Returns
Implementation of
XQueryPlanVisitor.visitProjectionConcat
Overrides
CalculationBuilder.visitProjectionConcat
visitProjectionIndex()
visitProjectionIndex(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:148
Parameters
| Parameter | Type |
|---|---|
operator | ProjectionIndex |
Returns
Implementation of
XQueryPlanVisitor.visitProjectionIndex
Overrides
CalculationBuilder.visitProjectionIndex
visitProjectionSize()
visitProjectionSize(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:23
Parameters
| Parameter | Type |
|---|---|
operator | ProjectionSize |
Returns
Implementation of
XQueryPlanVisitor.visitProjectionSize
visitQuantifier()
visitQuantifier(
operator):CalculationParams
Defined in: core/dist/visitors/calculation-builder.d.ts:143
Parameters
| Parameter | Type |
|---|---|
operator | Quantifier |
Returns
Implementation of
XQueryPlanVisitor.visitQuantifier
Inherited from
CalculationBuilder.visitQuantifier
visitRecursion()
visitRecursion(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:157
Parameters
| Parameter | Type |
|---|---|
operator | Recursion |
Returns
Implementation of
XQueryPlanVisitor.visitRecursion
Overrides
CalculationBuilder.visitRecursion
visitSelection()
visitSelection(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:164
Parameters
| Parameter | Type |
|---|---|
operator | Selection |
Returns
Implementation of
XQueryPlanVisitor.visitSelection
Overrides
CalculationBuilder.visitSelection
visitTreeJoin()
visitTreeJoin(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:16
Parameters
| Parameter | Type |
|---|---|
operator | TreeJoin |
Returns
Implementation of
XQueryPlanVisitor.visitTreeJoin
visitTupleFnSource()
visitTupleFnSource(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:171
Parameters
| Parameter | Type |
|---|---|
operator | TupleFnSource |
Returns
Implementation of
XQueryPlanVisitor.visitTupleFnSource
Overrides
CalculationBuilder.visitTupleFnSource
visitTupleSource()
visitTupleSource(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:178
Parameters
| Parameter | Type |
|---|---|
operator | TupleSource |
Returns
Implementation of
XQueryPlanVisitor.visitTupleSource
Overrides
CalculationBuilder.visitTupleSource
visitUnion()
visitUnion(
operator):CalculationParams
Defined in: lang-xquery/src/visitors/calculation-builder.ts:185
Parameters
| Parameter | Type |
|---|---|
operator | Union |