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