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