Skip to main content

Abstract Class: SetOperator

Defined in: packages/core/src/plan/operators/tuple/set.ts:10

Abstract base for binary set operations (union, intersection, difference) on two operator streams.

Both left and right must be of the same kind (both tuple or both non-tuple); the schema is taken from left.

Throws

if one side is a tuple operator and the other is not.

Extends

Extended by

Constructors

Constructor

new SetOperator(lang, left, right): SetOperator

Defined in: packages/core/src/plan/operators/tuple/set.ts:11

Parameters

ParameterTypeDescription
langLowercase<string>-
leftPlanOperatorLeft input stream.
rightPlanOperatorRight input stream.

Returns

SetOperator

Overrides

PlanTupleOperator.constructor

Properties

lang

lang: Lowercase<string>

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

PlanOperator.lang

Inherited from

PlanTupleOperator.lang


left

left: PlanOperator

Defined in: packages/core/src/plan/operators/tuple/set.ts:14

Left input stream.


parent?

optional parent?: PlanOperator

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

PlanOperator.parent

Inherited from

PlanTupleOperator.parent


right: PlanOperator

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

Right input stream.


schema

schema: ASTIdentifier[]

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

Ordered list of attribute identifiers produced by this operator.

Inherited from

PlanTupleOperator.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

PlanTupleOperator.schemaSet

Methods

accept()

abstract accept<T>(visitors): T

Defined in: packages/core/src/plan/operators/tuple/set.ts:37

PlanOperator.accept

Type Parameters

Type Parameter
T

Parameters

ParameterType
visitorsRecord<string, PlanVisitor<T>>

Returns

T

Overrides

PlanTupleOperator.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

PlanTupleOperator.addToSchema


clearSchema()

clearSchema(): void

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

will preserve object references

Returns

void

Inherited from

PlanTupleOperator.clearSchema


clone()

abstract clone(): PlanTupleOperator

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

PlanOperator.clone

Returns

PlanTupleOperator

Inherited from

PlanTupleOperator.clone


getChildren()

getChildren(): PlanOperator[]

Defined in: packages/core/src/plan/operators/tuple/set.ts:48

PlanOperator.getChildren

Returns

PlanOperator[]

Overrides

PlanTupleOperator.getChildren


getDependencies()

getDependencies(): IdSet

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

PlanOperator.getDependencies

Returns

IdSet

Inherited from

PlanTupleOperator.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

PlanTupleOperator.removeFromSchema


replaceChild()

replaceChild(current, replacement): void

Defined in: packages/core/src/plan/operators/tuple/set.ts:39

PlanOperator.replaceChild

Parameters

ParameterType
currentPlanOperator
replacementPlanOperator

Returns

void

Overrides

PlanTupleOperator.replaceChild