Skip to main content

Class: XQueryVariableMapper

Defined in: lang-xquery/src/visitors/variable-mapper.ts:10

Extends VariableMapper to assign numeric execution slots for the XQuery focus context columns (., pos, len) produced by TreeJoin, and to translate the size column of ProjectionSize.

Extends​

Implements​

Constructors​

Constructor​

new XQueryVariableMapper(vmap): XQueryVariableMapper

Defined in: core/dist/visitors/variable-mapper.d.ts:35

Parameters​

ParameterTypeDescription
vmapRecord<string, PlanVisitor<void, VariableMapperCtx>>Per-language visitor map used for recursive descent.

Returns​

XQueryVariableMapper

Inherited from​

VariableMapper.constructor

Properties​

vmap​

protected vmap: Record<string, PlanVisitor<void, VariableMapperCtx>>

Defined in: core/dist/visitors/variable-mapper.d.ts:34

Per-language visitor map used for recursive descent.

Inherited from​

VariableMapper.vmap

Methods​

mapVariables()​

mapVariables(plan): VariableMapperCtx

Defined in: core/dist/visitors/variable-mapper.d.ts:43

Traverses plan and returns a fully populated VariableMapperCtx in which every named identifier has been replaced with a numeric index. The resulting context is passed to Executor.execute to drive array-based scope lookups.

Parameters​

ParameterType
planPlanOperator

Returns​

VariableMapperCtx

Inherited from​

VariableMapper.mapVariables


removeFromCurrScope()​

protected removeFromCurrScope(attr, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:58

Removes an identifier from the current scope. For example, a projection may drop an attribute, and it should no longer be visible in the current scope. Instead, a previously shadowed variable may now be visible.

Parameters​

ParameterType
attrASTIdentifier
ctxVariableMapperCtx

Returns​

void

Inherited from​

VariableMapper.removeFromCurrScope


setTranslations()​

protected setTranslations(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:67

Snapshots the current scope stack into ctx.translations for operator, recording both the operator's own scope (top of stack) and the merged external view.

Parameters​

ParameterType
operatorPlanOperator
ctxVariableMapperCtx

Returns​

void

Inherited from​

VariableMapper.setTranslations


translate()​

protected translate(attr, ctx, depth?): ASTIdentifier

Defined in: core/dist/visitors/variable-mapper.d.ts:52

Translates an identifier into a numerical index. Sometimes it may be necessary to specify depth as 1 and shadow existing translations. Other times, it may be necessary to first add new scope and THEN set depth to 1 (and force a new translation). For example, when a projection writes new content into an existing variable, this might conflict with, e.g., projection concats upstream that depend on that variable

Parameters​

ParameterType
attrASTIdentifier
ctxVariableMapperCtx
depth?number

Returns​

ASTIdentifier

Inherited from​

VariableMapper.translate


translateArray()​

protected translateArray(array, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:60

Translates each ASTIdentifier in array in place; recurses into operators.

Parameters​

ParameterType
arrayOpOrId[]
ctxVariableMapperCtx

Returns​

void

Inherited from​

VariableMapper.translateArray


union()​

protected union(a, ...bs): VariableMap

Defined in: core/dist/visitors/variable-mapper.d.ts:62

Returns a new VariableMap containing all entries from a and every map in bs, with later maps winning on collision.

Parameters​

ParameterType
aVariableMap
...bsVariableMap[]

Returns​

VariableMap

Inherited from​

VariableMapper.union


visitAggregate()​

visitAggregate(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:84

Parameters​

ParameterType
operatorAggregateCall
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitAggregate

Inherited from​

VariableMapper.visitAggregate


visitBidirectionalRecursion()​

visitBidirectionalRecursion(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:98

Parameters​

ParameterType
operatorBidirectionalRecursion
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitBidirectionalRecursion

Inherited from​

VariableMapper.visitBidirectionalRecursion


visitCalculation()​

visitCalculation(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:75

Parameters​

ParameterType
operatorCalculation
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitCalculation

Inherited from​

VariableMapper.visitCalculation


visitCartesianProduct()​

visitCartesianProduct(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:77

Parameters​

ParameterType
operatorCartesianProduct
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitCartesianProduct

Inherited from​

VariableMapper.visitCartesianProduct


visitConditional()​

visitConditional(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:76

Parameters​

ParameterType
operatorConditional
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitConditional

Inherited from​

VariableMapper.visitConditional


visitDifference()​

visitDifference(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:90

Parameters​

ParameterType
operatorDifference
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitDifference

Inherited from​

VariableMapper.visitDifference


visitDistinct()​

visitDistinct(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:91

Parameters​

ParameterType
operatorDistinct
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitDistinct

Inherited from​

VariableMapper.visitDistinct


visitFnCall()​

visitFnCall(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:73

Parameters​

ParameterType
operatorFnCall
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitFnCall

Inherited from​

VariableMapper.visitFnCall


visitGroupBy()​

visitGroupBy(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:85

Parameters​

ParameterType
operatorGroupBy
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitGroupBy

Inherited from​

VariableMapper.visitGroupBy


visitIndexedRecursion()​

visitIndexedRecursion(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:97

Parameters​

ParameterType
operatorIndexedRecursion
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitIndexedRecursion

Inherited from​

VariableMapper.visitIndexedRecursion


visitIndexScan()​

visitIndexScan(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:96

Parameters​

ParameterType
operatorIndexScan
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitIndexScan

Inherited from​

VariableMapper.visitIndexScan


visitIntersection()​

visitIntersection(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:89

Parameters​

ParameterType
operatorIntersection
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitIntersection

Inherited from​

VariableMapper.visitIntersection


visitItemFnSource()​

visitItemFnSource(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:93

Parameters​

ParameterType
operatorItemFnSource
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitItemFnSource

Inherited from​

VariableMapper.visitItemFnSource


visitItemSource()​

visitItemSource(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:72

Parameters​

ParameterType
operatorItemSource
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitItemSource

Inherited from​

VariableMapper.visitItemSource


visitJoin()​

visitJoin(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:78

Parameters​

ParameterType
operatorJoin
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitJoin

Inherited from​

VariableMapper.visitJoin


visitLimit()​

visitLimit(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:86

Parameters​

ParameterType
operatorLimit
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitLimit

Inherited from​

VariableMapper.visitLimit


visitLiteral()​

visitLiteral(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:74

Parameters​

ParameterType
operatorLiteral
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitLiteral

Inherited from​

VariableMapper.visitLiteral


visitMapFromItem()​

visitMapFromItem(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:81

Parameters​

ParameterType
operatorMapFromItem
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitMapFromItem

Inherited from​

VariableMapper.visitMapFromItem


visitMapToItem()​

visitMapToItem(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:80

Parameters​

ParameterType
operatorMapToItem
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitMapToItem

Inherited from​

VariableMapper.visitMapToItem


visitNullSource()​

visitNullSource(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:92

Parameters​

ParameterType
operatorNullSource
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitNullSource

Inherited from​

VariableMapper.visitNullSource


visitOrderBy()​

visitOrderBy(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:83

Parameters​

ParameterType
operatorOrderBy
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitOrderBy

Inherited from​

VariableMapper.visitOrderBy


visitProjection()​

visitProjection(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:69

Parameters​

ParameterType
operatorProjection
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitProjection

Inherited from​

VariableMapper.visitProjection


visitProjectionConcat()​

visitProjectionConcat(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:79

Parameters​

ParameterType
operatorProjectionConcat
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitProjectionConcat

Inherited from​

VariableMapper.visitProjectionConcat


visitProjectionIndex()​

visitProjectionIndex(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:82

Parameters​

ParameterType
operatorProjectionIndex
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitProjectionIndex

Inherited from​

VariableMapper.visitProjectionIndex


visitProjectionSize()​

visitProjectionSize(operator, ctx): void

Defined in: lang-xquery/src/visitors/variable-mapper.ts:23

Parameters​

ParameterType
operatorProjectionSize
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitProjectionSize


visitQuantifier()​

visitQuantifier(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:95

Parameters​

ParameterType
operatorQuantifier
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitQuantifier

Inherited from​

VariableMapper.visitQuantifier


visitRecursion()​

visitRecursion(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:68

Parameters​

ParameterType
operatorRecursion
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitRecursion

Inherited from​

VariableMapper.visitRecursion


visitSelection()​

visitSelection(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:70

Parameters​

ParameterType
operatorSelection
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitSelection

Inherited from​

VariableMapper.visitSelection


visitSetOp()​

protected visitSetOp(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:87

Parameters​

ParameterType
operatorSetOperator
ctxVariableMapperCtx

Returns​

void

Inherited from​

VariableMapper.visitSetOp


visitTreeJoin()​

visitTreeJoin(operator, ctx): void

Defined in: lang-xquery/src/visitors/variable-mapper.ts:14

Parameters​

ParameterType
operatorTreeJoin
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitTreeJoin


visitTupleFnSource()​

visitTupleFnSource(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:94

Parameters​

ParameterType
operatorTupleFnSource
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitTupleFnSource

Inherited from​

VariableMapper.visitTupleFnSource


visitTupleSource()​

visitTupleSource(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:71

Parameters​

ParameterType
operatorTupleSource
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitTupleSource

Inherited from​

VariableMapper.visitTupleSource


visitUnion()​

visitUnion(operator, ctx): void

Defined in: core/dist/visitors/variable-mapper.d.ts:88

Parameters​

ParameterType
operatorUnion
ctxVariableMapperCtx

Returns​

void

Implementation of​

XQueryPlanVisitor.visitUnion

Inherited from​

VariableMapper.visitUnion