Skip to main content

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

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

Returns

XQueryCalculationBuilder

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

XQueryPlanVisitor.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

XQueryPlanVisitor.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

XQueryPlanVisitor.visitCalculation

Inherited from

CalculationBuilder.visitCalculation


visitCartesianProduct()

visitCartesianProduct(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:30

Parameters

ParameterType
operatorCartesianProduct

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitCartesianProduct

Overrides

CalculationBuilder.visitCartesianProduct


visitConditional()

visitConditional(operator): CalculationParams

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

Parameters

ParameterType
operatorConditional

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitConditional

Inherited from

CalculationBuilder.visitConditional


visitDifference()

visitDifference(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:39

Parameters

ParameterType
operatorDifference

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitDifference

Overrides

CalculationBuilder.visitDifference


visitDistinct()

visitDistinct(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:46

Parameters

ParameterType
operatorDistinct

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitDistinct

Overrides

CalculationBuilder.visitDistinct


visitFnCall()

visitFnCall(operator): CalculationParams

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

Parameters

ParameterType
operatorFnCall

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitFnCall

Inherited from

CalculationBuilder.visitFnCall


visitGroupBy()

visitGroupBy(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:53

Parameters

ParameterType
operatorGroupBy

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitGroupBy

Overrides

CalculationBuilder.visitGroupBy


visitIndexedRecursion()

visitIndexedRecursion(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:67

Parameters

ParameterType
operatorIndexedRecursion

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitIndexedRecursion

Overrides

CalculationBuilder.visitIndexedRecursion


visitIndexScan()

visitIndexScan(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:60

Parameters

ParameterType
operatorIndexScan

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitIndexScan

Overrides

CalculationBuilder.visitIndexScan


visitIntersection()

visitIntersection(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:76

Parameters

ParameterType
operatorIntersection

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitIntersection

Overrides

CalculationBuilder.visitIntersection


visitItemFnSource()

visitItemFnSource(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:83

Parameters

ParameterType
operatorItemFnSource

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitItemFnSource

Overrides

CalculationBuilder.visitItemFnSource


visitItemSource()

visitItemSource(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:90

Parameters

ParameterType
operatorItemSource

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitItemSource

Overrides

CalculationBuilder.visitItemSource


visitJoin()

visitJoin(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:111

Parameters

ParameterType
operatorJoin

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitJoin

Overrides

CalculationBuilder.visitJoin


visitLimit()

visitLimit(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:118

Parameters

ParameterType
operatorLimit

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitLimit

Overrides

CalculationBuilder.visitLimit


visitLiteral()

visitLiteral(operator): CalculationParams

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

Parameters

ParameterType
operatorLiteral<unknown>

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitLiteral

Inherited from

CalculationBuilder.visitLiteral


visitMapFromItem()

visitMapFromItem(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:97

Parameters

ParameterType
operatorMapFromItem

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitMapFromItem

Overrides

CalculationBuilder.visitMapFromItem


visitMapToItem()

visitMapToItem(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:104

Parameters

ParameterType
operatorMapToItem

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitMapToItem

Overrides

CalculationBuilder.visitMapToItem


visitNullSource()

visitNullSource(operator): CalculationParams

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

Parameters

ParameterType
operatorNullSource

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitNullSource

Inherited from

CalculationBuilder.visitNullSource


visitOrderBy()

visitOrderBy(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:125

Parameters

ParameterType
operatorOrderBy

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitOrderBy

Overrides

CalculationBuilder.visitOrderBy


visitProjection()

visitProjection(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:132

Parameters

ParameterType
operatorProjection

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitProjection

Overrides

CalculationBuilder.visitProjection


visitProjectionConcat()

visitProjectionConcat(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:139

Parameters

ParameterType
operatorProjectionConcat

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitProjectionConcat

Overrides

CalculationBuilder.visitProjectionConcat


visitProjectionIndex()

visitProjectionIndex(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:148

Parameters

ParameterType
operatorProjectionIndex

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitProjectionIndex

Overrides

CalculationBuilder.visitProjectionIndex


visitProjectionSize()

visitProjectionSize(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:23

Parameters

ParameterType
operatorProjectionSize

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitProjectionSize


visitQuantifier()

visitQuantifier(operator): CalculationParams

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

Parameters

ParameterType
operatorQuantifier

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitQuantifier

Inherited from

CalculationBuilder.visitQuantifier


visitRecursion()

visitRecursion(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:157

Parameters

ParameterType
operatorRecursion

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitRecursion

Overrides

CalculationBuilder.visitRecursion


visitSelection()

visitSelection(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:164

Parameters

ParameterType
operatorSelection

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitSelection

Overrides

CalculationBuilder.visitSelection


visitTreeJoin()

visitTreeJoin(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:16

Parameters

ParameterType
operatorTreeJoin

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitTreeJoin


visitTupleFnSource()

visitTupleFnSource(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:171

Parameters

ParameterType
operatorTupleFnSource

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitTupleFnSource

Overrides

CalculationBuilder.visitTupleFnSource


visitTupleSource()

visitTupleSource(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:178

Parameters

ParameterType
operatorTupleSource

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitTupleSource

Overrides

CalculationBuilder.visitTupleSource


visitUnion()

visitUnion(operator): CalculationParams

Defined in: lang-xquery/src/visitors/calculation-builder.ts:185

Parameters

ParameterType
operatorUnion

Returns

CalculationParams

Implementation of

XQueryPlanVisitor.visitUnion

Overrides

CalculationBuilder.visitUnion