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