Skip to main content

Class: AttributeRenamer

Defined in: packages/core/src/visitors/attribute-renamer.ts:20

Renames attributes in the plan.

Extended by​

Implements​

Constructors​

Constructor​

new AttributeRenamer(vmap, db): AttributeRenamer

Defined in: packages/core/src/visitors/attribute-renamer.ts:26

Parameters​

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

Returns​

AttributeRenamer

Properties​

db​

protected db: DortDBAsFriend

Defined in: packages/core/src/visitors/attribute-renamer.ts:30

Database instance providing access to the language manager.


tdepsVmap​

protected tdepsVmap: Record<string, TransitiveDependencies>

Defined in: packages/core/src/visitors/attribute-renamer.ts:22

Per-language TransitiveDependencies visitor map, used to invalidate the cache after renaming.


varMappers​

protected varMappers: Record<string, VariableMapper>

Defined in: packages/core/src/visitors/attribute-renamer.ts:24

Per-language VariableMapper map, used for variable mapping.


vmap​

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

Defined in: packages/core/src/visitors/attribute-renamer.ts:28

Per-language visitor map used for recursive descent.

Methods​

prepareTranslations()​

protected prepareTranslations(ctx, renames): Translations

Defined in: packages/core/src/visitors/attribute-renamer.ts:76

Prepares variable map for renaming by reversing the translation map from the variable-mapper context.

Parameters​

ParameterType
ctxVariableMapperCtx
renamesRenameMap

Returns​

Translations


prepareVarMapCtx()​

protected prepareVarMapCtx(renames): VariableMapperCtx

Defined in: packages/core/src/visitors/attribute-renamer.ts:54

First, the whole plan is mapped to numeric indexes. This method prepares the context for that mapping.

Parameters​

ParameterType
renamesRenameMap

Returns​

VariableMapperCtx


processArray()​

protected processArray(array, translations, containingOp, updateFn?): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:116

Iterates array in place, replacing each ASTIdentifier element with its renamed version.

Parameters​

ParameterTypeDescription
arrayOpOrId[]-
translationsTranslations-
containingOpPlanOperator-
updateFn?(newId, i) => voidOptional callback used instead of direct array assignment when the renamed identifier lives in a wrapper object (e.g. a projection pair).

Returns​

void


processItem()​

protected processItem<Key, Obj>(obj, key, translations, containingOp): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:142

Renames a single property obj[key] in place when it is an ASTIdentifier; otherwise recurses into the operator.

Type Parameters​

Type Parameter
Key extends string
Obj extends Record<Key, OpOrId>

Parameters​

ParameterType
objObj
keyKey
translationsTranslations
containingOpPlanOperator

Returns​

void


rename()​

rename(plan, renames): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:40

Applies translations to plan in place and invalidates the transitive-dependency cache for the entire subtree rooted at plan.

Parameters​

ParameterType
planPlanOperator
renamesRenameMap

Returns​

void


renameIdentifier()​

protected renameIdentifier(id, varmap): ASTIdentifier

Defined in: packages/core/src/visitors/attribute-renamer.ts:99

Rename a single identifier, keeping references to aggregates

Parameters​

ParameterType
idASTIdentifier
varmapVariableMap

Returns​

ASTIdentifier


visitAggregate()​

visitAggregate(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:337

Parameters​

ParameterType
operatorAggregateCall
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitAggregate


visitBidirectionalRecursion()​

visitBidirectionalRecursion(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:378

Parameters​

ParameterType
operatorBidirectionalRecursion
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitBidirectionalRecursion


visitCalculation()​

visitCalculation(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:207

Parameters​

ParameterType
operatorCalculation
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitCalculation


visitCartesianProduct()​

visitCartesianProduct(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:247

Parameters​

ParameterType
operatorCartesianProduct
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitCartesianProduct


visitConditional()​

visitConditional(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:216

Parameters​

ParameterType
operatorConditional
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitConditional


visitDifference()​

visitDifference(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:324

Parameters​

ParameterType
operatorDifference
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitDifference


visitDistinct()​

visitDistinct(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:327

Parameters​

ParameterType
operatorDistinct
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitDistinct


visitFnCall()​

visitFnCall(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:192

Parameters​

ParameterType
operatorFnCall
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitFnCall


visitGroupBy()​

visitGroupBy(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:292

Parameters​

ParameterType
operatorGroupBy
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitGroupBy


visitIndexedRecursion()​

visitIndexedRecursion(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:370

Parameters​

ParameterType
operatorIndexedRecursion
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitIndexedRecursion


visitIndexScan()​

visitIndexScan(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:362

Parameters​

ParameterType
operatorIndexScan
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitIndexScan


visitIntersection()​

visitIntersection(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:318

Parameters​

ParameterType
operatorIntersection
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitIntersection


visitItemFnSource()​

visitItemFnSource(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:347

Parameters​

ParameterType
operatorItemFnSource
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitItemFnSource


visitItemSource()​

visitItemSource(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:188

Parameters​

ParameterType
operatorItemSource
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitItemSource


visitJoin()​

visitJoin(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:254

Parameters​

ParameterType
operatorJoin
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitJoin


visitLimit()​

visitLimit(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:308

Parameters​

ParameterType
operatorLimit
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitLimit


visitLiteral()​

visitLiteral(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:204

Parameters​

ParameterType
operatorLiteral
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitLiteral


visitMapFromItem()​

visitMapFromItem(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:269

Parameters​

ParameterType
operatorMapFromItem
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitMapFromItem


visitMapToItem()​

visitMapToItem(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:265

Parameters​

ParameterType
operatorMapToItem
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitMapToItem


visitNullSource()​

visitNullSource(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:333

Parameters​

ParameterType
operatorNullSource
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitNullSource


visitOrderBy()​

visitOrderBy(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:283

Parameters​

ParameterType
operatorOrderBy
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitOrderBy


visitProjection()​

visitProjection(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:163

Parameters​

ParameterType
operatorProjection
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitProjection


visitProjectionConcat()​

visitProjectionConcat(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:258

Parameters​

ParameterType
operatorProjectionConcat
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitProjectionConcat


visitProjectionIndex()​

visitProjectionIndex(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:276

Parameters​

ParameterType
operatorProjectionIndex
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitProjectionIndex


visitQuantifier()​

visitQuantifier(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:359

Parameters​

ParameterType
operatorQuantifier
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitQuantifier


visitRecursion()​

visitRecursion(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:158

Parameters​

ParameterType
operatorRecursion
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitRecursion


visitSelection()​

visitSelection(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:180

Parameters​

ParameterType
operatorSelection
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitSelection


visitSetOp()​

visitSetOp(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:311

Parameters​

ParameterType
operatorSetOperator
translationsTranslations

Returns​

void


visitTupleFnSource()​

visitTupleFnSource(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:353

Parameters​

ParameterType
operatorTupleFnSource
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitTupleFnSource


visitTupleSource()​

visitTupleSource(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:184

Parameters​

ParameterType
operatorTupleSource
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitTupleSource


visitUnion()​

visitUnion(operator, translations): void

Defined in: packages/core/src/visitors/attribute-renamer.ts:315

Parameters​

ParameterType
operatorUnion
translationsTranslations

Returns​

void

Implementation of​

PlanVisitor.visitUnion