Skip to main content

Class: TreeJoin

Defined in: lang-xquery/src/plan/tree-join.ts:14

Similar to ProjectionConcat, also provides xquery focus context. The Calculation output in step will be spread into multiple output tuples if it is an array. Removes duplicates of Node values.

Extends

Constructors

Constructor

new TreeJoin(lang, step, source, removeDuplicates?): TreeJoin

Defined in: lang-xquery/src/plan/tree-join.ts:15

Parameters

ParameterTypeDefault valueDescription
langLowercase<string>undefined-
stepCalculationundefinedThe Calculation that produces the XPath step result for each context tuple.
sourcePlanTupleOperatorundefinedThe upstream tuple stream providing the XQuery focus context.
removeDuplicatesbooleantrueWhen true (default), duplicate DOM nodes in the step result are removed.

Returns

TreeJoin

Overrides

PlanTupleOperator.constructor

Properties

lang

lang: Lowercase<string>

Defined in: core/dist/plan/visitor.d.ts:36

PlanOperator.lang

Inherited from

PlanTupleOperator.lang


parent?

optional parent?: PlanOperator

Defined in: core/dist/plan/visitor.d.ts:38

PlanOperator.parent

Inherited from

PlanTupleOperator.parent


removeDuplicates

removeDuplicates: boolean = true

Defined in: lang-xquery/src/plan/tree-join.ts:22

When true (default), duplicate DOM nodes in the step result are removed.


schema

schema: ASTIdentifier[]

Defined in: core/dist/plan/visitor.d.ts:32

Ordered list of attribute identifiers produced by this operator.

Inherited from

PlanTupleOperator.schema


schemaSet

schemaSet: IdSet

Defined in: core/dist/plan/visitor.d.ts:34

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

Inherited from

PlanTupleOperator.schemaSet


source

source: PlanTupleOperator

Defined in: lang-xquery/src/plan/tree-join.ts:20

The upstream tuple stream providing the XQuery focus context.


step

step: Calculation

Defined in: lang-xquery/src/plan/tree-join.ts:18

The Calculation that produces the XPath step result for each context tuple.

Methods

accept()

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

Defined in: lang-xquery/src/plan/tree-join.ts:36

Dispatches to visitors[this.lang].visitTreeJoin.

Type Parameters

Type Parameter
Ret
Arg

Parameters

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

Returns

Ret

Overrides

PlanTupleOperator.accept


addToSchema()

addToSchema(item): void

Defined in: core/dist/plan/visitor.d.ts:46

will preserve object references

Parameters

ParameterType
itemASTIdentifier | IdSet | ASTIdentifier[]

Returns

void

Inherited from

PlanTupleOperator.addToSchema


clearSchema()

clearSchema(): void

Defined in: core/dist/plan/visitor.d.ts:50

will preserve object references

Returns

void

Inherited from

PlanTupleOperator.clearSchema


clone()

clone(): TreeJoin

Defined in: lang-xquery/src/plan/tree-join.ts:59

Returns a deep copy with cloned step and source.

Returns

TreeJoin

Overrides

PlanTupleOperator.clone


getChildren()

getChildren(): PlanOperator[]

Defined in: lang-xquery/src/plan/tree-join.ts:55

Returns [this.source, this.step].

Returns

PlanOperator[]

Overrides

PlanTupleOperator.getChildren


getDependencies()

getDependencies(): IdSet

Defined in: core/dist/plan/visitor.d.ts:54

PlanOperator.getDependencies

Returns

IdSet

Inherited from

PlanTupleOperator.getDependencies


removeFromSchema()

removeFromSchema(item): boolean

Defined in: core/dist/plan/visitor.d.ts:48

will preserve object references

Parameters

ParameterType
itemASTIdentifier | IdSet | ASTIdentifier[]

Returns

boolean

Inherited from

PlanTupleOperator.removeFromSchema


replaceChild()

replaceChild(current, replacement): void

Defined in: lang-xquery/src/plan/tree-join.ts:43

Swaps source or step and recomputes the output schema including XQuery context columns.

Parameters

ParameterType
currentPlanOperator
replacementPlanOperator

Returns

void

Overrides

PlanTupleOperator.replaceChild