Skip to main content

Class: Join

Defined in: packages/core/src/plan/operators/tuple/join.ts:80

A join with explicit predicates; extends CartesianProduct by filtering rows with conditions and supporting outer-join semantics via leftOuter/rightOuter.

Extends

Constructors

Constructor

new Join(lang, left, right, conditions): Join

Defined in: packages/core/src/plan/operators/tuple/join.ts:86

Parameters

ParameterTypeDescription
langLowercase<string>-
leftPlanTupleOperator-
rightPlanTupleOperator-
conditionsCalculation[]Join predicates; all must hold for a pair of rows to be included.

Returns

Join

Overrides

CartesianProduct.constructor

Properties

conditions

conditions: Calculation[]

Defined in: packages/core/src/plan/operators/tuple/join.ts:91

Join predicates; all must hold for a pair of rows to be included.


lang

lang: Lowercase<string>

Defined in: packages/core/src/plan/visitor.ts:42

PlanOperator.lang

Inherited from

CartesianProduct.lang


left

left: PlanTupleOperator

Defined in: packages/core/src/plan/operators/tuple/join.ts:21

Left input tuple stream.

Inherited from

CartesianProduct.left


leftOuter

leftOuter: boolean = false

Defined in: packages/core/src/plan/operators/tuple/join.ts:82

When true, unmatched rows from left are emitted with null-filled right columns.


parent?

optional parent?: PlanOperator

Defined in: packages/core/src/plan/visitor.ts:44

PlanOperator.parent

Inherited from

CartesianProduct.parent


right: PlanTupleOperator

Defined in: packages/core/src/plan/operators/tuple/join.ts:23

Right input tuple stream.

Inherited from

CartesianProduct.right


rightOuter

rightOuter: boolean = false

Defined in: packages/core/src/plan/operators/tuple/join.ts:84

When true, unmatched rows from right are emitted with null-filled left columns.


schema

schema: ASTIdentifier[]

Defined in: packages/core/src/plan/visitor.ts:38

Ordered list of attribute identifiers produced by this operator.

Inherited from

CartesianProduct.schema


schemaSet

schemaSet: IdSet

Defined in: packages/core/src/plan/visitor.ts:40

Trie-backed set of the same paths as schema; used for O(k) membership tests.

Inherited from

CartesianProduct.schemaSet


validateSingleValue

validateSingleValue: boolean = false

Defined in: packages/core/src/plan/operators/tuple/join.ts:16

if true, the right is not allowed to return multiple values per one left value

Inherited from

CartesianProduct.validateSingleValue

Methods

accept()

accept<Ret, Arg>(visitors, arg?): Ret

Defined in: packages/core/src/plan/operators/tuple/join.ts:98

PlanOperator.accept

Type Parameters

Type Parameter
Ret
Arg

Parameters

ParameterType
visitorsRecord<string, PlanVisitor<Ret, Arg>>
arg?Arg

Returns

Ret

Overrides

CartesianProduct.accept


addToSchema()

addToSchema(item): void

Defined in: packages/core/src/plan/visitor.ts:57

will preserve object references

Parameters

ParameterType
itemIdSet | ASTIdentifier | ASTIdentifier[]

Returns

void

Inherited from

CartesianProduct.addToSchema


clearSchema()

clearSchema(): void

Defined in: packages/core/src/plan/visitor.ts:102

will preserve object references

Returns

void

Inherited from

CartesianProduct.clearSchema


clone()

clone(): Join

Defined in: packages/core/src/plan/operators/tuple/join.ts:126

PlanOperator.clone

Returns

Join

Overrides

CartesianProduct.clone


getChildren()

getChildren(): PlanOperator[]

Defined in: packages/core/src/plan/operators/tuple/join.ts:122

PlanOperator.getChildren

Returns

PlanOperator[]

Overrides

CartesianProduct.getChildren


getDependencies()

getDependencies(): IdSet

Defined in: packages/core/src/plan/visitor.ts:113

PlanOperator.getDependencies

Returns

IdSet

Inherited from

CartesianProduct.getDependencies


removeFromSchema()

removeFromSchema(item): boolean

Defined in: packages/core/src/plan/visitor.ts:80

will preserve object references

Parameters

ParameterType
itemIdSet | ASTIdentifier | ASTIdentifier[]

Returns

boolean

Inherited from

CartesianProduct.removeFromSchema


replaceChild()

replaceChild(current, replacement): void

Defined in: packages/core/src/plan/operators/tuple/join.ts:105

PlanOperator.replaceChild

Parameters

ParameterType
currentPlanOperator
replacementPlanOperator

Returns

void

Overrides

CartesianProduct.replaceChild