Skip to main content

Class: TransitiveDependencies

Defined in: packages/core/src/visitors/transitive-deps.ts:18

Calculate the transitive dependencies for a plan operator tree. The dependencies are identifiers that are used within the tree, but are defined in external scopes.

Extended by​

Implements​

Constructors​

Constructor​

new TransitiveDependencies(vmap): TransitiveDependencies

Defined in: packages/core/src/visitors/transitive-deps.ts:19

Parameters​

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

Returns​

TransitiveDependencies

Properties​

vmap​

protected vmap: Record<string, PlanVisitor<IdSet>>

Defined in: packages/core/src/visitors/transitive-deps.ts:21

Per-language visitor map used for recursive descent.

Methods​

clearCache()​

clearCache(): void

Defined in: packages/core/src/visitors/transitive-deps.ts:319

Replaces the computation cache with a new empty WeakMap, invalidating all entries.

Returns​

void


getCache()​

protected getCache(): WeakMap<PlanOperator, IdSet>

Defined in: packages/core/src/visitors/transitive-deps.ts:42

Returns the module-level WeakMap used as the computation cache.

Returns​

WeakMap<PlanOperator, IdSet>


invalidateCacheDownstream()​

invalidateCacheDownstream(operator): void

Defined in: packages/core/src/visitors/transitive-deps.ts:326

Removes operator and all of its ancestors from the cache, walking up via PlanOperator.parent until the root is reached.

Parameters​

ParameterType
operatorPlanOperator

Returns​

void


invalidateCacheElement()​

invalidateCacheElement(operator): void

Defined in: packages/core/src/visitors/transitive-deps.ts:343

Removes only operator's own cache entry without touching its ancestors or children.

Parameters​

ParameterType
operatorPlanOperator

Returns​

void


invalidateCacheUpstream()​

invalidateCacheUpstream(operator): void

Defined in: packages/core/src/visitors/transitive-deps.ts:336

Removes operator and the entire subtree rooted at it from the cache, recursing into all children.

Parameters​

ParameterType
operatorPlanOperator

Returns​

void


onlyExternal()​

protected onlyExternal(deps, op): Trie<string | number | symbol, any>

Defined in: packages/core/src/visitors/transitive-deps.ts:30

Returns a clone of deps with all identifiers produced by op's own schema removed, leaving only those that must be satisfied from an outer scope.

Parameters​

ParameterType
depsIdSet
opPlanTupleOperator

Returns​

Trie<string | number | symbol, any>


processNode()​

protected processNode(node): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:38

Dispatches node through the per-language vmap and returns its transitive dependencies.

Parameters​

ParameterType
nodePlanOperator

Returns​

IdSet


visitAggregate()​

visitAggregate(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:244

Parameters​

ParameterType
operatorAggregateCall

Returns​

IdSet

Implementation of​

PlanVisitor.visitAggregate


visitBidirectionalRecursion()​

visitBidirectionalRecursion(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:300

Parameters​

ParameterType
operatorBidirectionalRecursion

Returns​

IdSet

Implementation of​

PlanVisitor.visitBidirectionalRecursion


visitCalculation()​

visitCalculation(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:102

Parameters​

ParameterType
operatorCalculation

Returns​

IdSet

Implementation of​

PlanVisitor.visitCalculation


visitCartesianProduct()​

visitCartesianProduct(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:122

Parameters​

ParameterType
operatorCartesianProduct

Returns​

IdSet

Implementation of​

PlanVisitor.visitCartesianProduct


visitConditional()​

visitConditional(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:113

Parameters​

ParameterType
operatorConditional

Returns​

IdSet

Implementation of​

PlanVisitor.visitConditional


visitDifference()​

visitDifference(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:222

Parameters​

ParameterType
operatorDifference

Returns​

IdSet

Implementation of​

PlanVisitor.visitDifference


visitDistinct()​

visitDistinct(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:225

Parameters​

ParameterType
operatorDistinct

Returns​

IdSet

Implementation of​

PlanVisitor.visitDistinct


visitFnCall()​

visitFnCall(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:88

Parameters​

ParameterType
operatorFnCall

Returns​

IdSet

Implementation of​

PlanVisitor.visitFnCall


visitGroupBy()​

visitGroupBy(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:189

Parameters​

ParameterType
operatorGroupBy

Returns​

IdSet

Implementation of​

PlanVisitor.visitGroupBy


visitIndexedRecursion()​

visitIndexedRecursion(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:287

Parameters​

ParameterType
operatorIndexedRecursion

Returns​

IdSet

Implementation of​

PlanVisitor.visitIndexedRecursion


visitIndexScan()​

visitIndexScan(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:278

Parameters​

ParameterType
operatorIndexScan

Returns​

IdSet

Implementation of​

PlanVisitor.visitIndexScan


visitIntersection()​

visitIntersection(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:219

Parameters​

ParameterType
operatorIntersection

Returns​

IdSet

Implementation of​

PlanVisitor.visitIntersection


visitItemFnSource()​

visitItemFnSource(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:254

Parameters​

ParameterType
operatorItemFnSource

Returns​

IdSet

Implementation of​

PlanVisitor.visitItemFnSource


visitItemSource()​

visitItemSource(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:85

Parameters​

ParameterType
operatorItemSource

Returns​

IdSet

Implementation of​

PlanVisitor.visitItemSource


visitJoin()​

visitJoin(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:131

Parameters​

ParameterType
operatorJoin

Returns​

IdSet

Implementation of​

PlanVisitor.visitJoin


visitLimit()​

visitLimit(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:203

Parameters​

ParameterType
operatorLimit

Returns​

IdSet

Implementation of​

PlanVisitor.visitLimit


visitLiteral()​

visitLiteral(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:99

Parameters​

ParameterType
operatorLiteral

Returns​

IdSet

Implementation of​

PlanVisitor.visitLiteral


visitMapFromItem()​

visitMapFromItem(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:161

Parameters​

ParameterType
operatorMapFromItem

Returns​

IdSet

Implementation of​

PlanVisitor.visitMapFromItem


visitMapToItem()​

visitMapToItem(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:155

Parameters​

ParameterType
operatorMapToItem

Returns​

IdSet

Implementation of​

PlanVisitor.visitMapToItem


visitNullSource()​

visitNullSource(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:241

Parameters​

ParameterType
operatorNullSource

Returns​

IdSet

Implementation of​

PlanVisitor.visitNullSource


visitOrderBy()​

visitOrderBy(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:173

Parameters​

ParameterType
operatorOrderBy

Returns​

IdSet

Implementation of​

PlanVisitor.visitOrderBy


visitProjection()​

visitProjection(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:59

Parameters​

ParameterType
operatorProjection

Returns​

IdSet

Implementation of​

PlanVisitor.visitProjection


visitProjectionConcat()​

visitProjectionConcat(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:145

Parameters​

ParameterType
operatorProjectionConcat

Returns​

IdSet

Implementation of​

PlanVisitor.visitProjectionConcat


visitProjectionIndex()​

visitProjectionIndex(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:167

Parameters​

ParameterType
operatorProjectionIndex

Returns​

IdSet

Implementation of​

PlanVisitor.visitProjectionIndex


visitQuantifier()​

visitQuantifier(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:272

Parameters​

ParameterType
operatorQuantifier

Returns​

IdSet

Implementation of​

PlanVisitor.visitQuantifier


visitRecursion()​

visitRecursion(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:46

Parameters​

ParameterType
operatorRecursion

Returns​

IdSet

Implementation of​

PlanVisitor.visitRecursion


visitSelection()​

visitSelection(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:72

Parameters​

ParameterType
operatorSelection

Returns​

IdSet

Implementation of​

PlanVisitor.visitSelection


visitSetOp()​

protected visitSetOp(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:207

Parameters​

ParameterType
operatorSetOperator

Returns​

IdSet


visitTupleFnSource()​

visitTupleFnSource(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:263

Parameters​

ParameterType
operatorTupleFnSource

Returns​

IdSet

Implementation of​

PlanVisitor.visitTupleFnSource


visitTupleSource()​

visitTupleSource(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:82

Parameters​

ParameterType
operatorTupleSource

Returns​

IdSet

Implementation of​

PlanVisitor.visitTupleSource


visitUnion()​

visitUnion(operator): IdSet

Defined in: packages/core/src/visitors/transitive-deps.ts:216

Parameters​

ParameterType
operatorUnion

Returns​

IdSet

Implementation of​

PlanVisitor.visitUnion