Class: Recursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:17
Repeatedly applies a traversal step to a starting set of rows until condition becomes
false or the hop count reaches max, emitting rows at each depth in [min, max].
Extends
Constructors
Constructor
new Recursion(
lang,min,max,condition,source,distinctKeys?):Recursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:18
Parameters
| Parameter | Type | Default value | Description |
|---|---|---|---|
lang | Lowercase<string> | undefined | - |
min | number | undefined | Minimum number of hops to traverse (inclusive). |
max | number | undefined | Maximum number of hops to traverse (inclusive). |
condition | Calculation | undefined | any referenced attributes of the input tuples will be resolved as [[collected,...], next] |
source | PlanTupleOperator | undefined | Tuple operator providing the start rows. |
distinctKeys | (Calculation | ASTIdentifier)[] | [] | If set, the recursion will only consider distinct combinations of these keys |
Returns
Recursion
Overrides
Properties
condition
condition:
Calculation
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:25
any referenced attributes of the input tuples will be resolved as [[collected,...], next]
distinctKeys
distinctKeys: (
Calculation|ASTIdentifier)[] =[]
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:29
If set, the recursion will only consider distinct combinations of these keys
lang
lang:
Lowercase<string>
Defined in: packages/core/src/plan/visitor.ts:42
PlanOperator.lang
Inherited from
max
max:
number
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:23
Maximum number of hops to traverse (inclusive).
min
min:
number
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:21
Minimum number of hops to traverse (inclusive).
parent?
optionalparent?:PlanOperator
Defined in: packages/core/src/plan/visitor.ts:44
PlanOperator.parent
Inherited from
schema
schema:
ASTIdentifier[]
Defined in: packages/core/src/plan/visitor.ts:38
Ordered list of attribute identifiers produced by this operator.
Inherited from
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
source
source:
PlanTupleOperator
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:27
Tuple operator providing the start rows.
Methods
accept()
accept<
Ret,Arg>(visitors,arg?):Ret
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:43
PlanOperator.accept
Type Parameters
| Type Parameter |
|---|
Ret |
Arg |
Parameters
| Parameter | Type |
|---|---|
visitors | Record<string, PlanVisitor<Ret, Arg>> |
arg? | Arg |
Returns
Ret
Overrides
addToSchema()
addToSchema(
item):void
Defined in: packages/core/src/plan/visitor.ts:57
will preserve object references
Parameters
| Parameter | Type |
|---|---|
item | IdSet | ASTIdentifier | ASTIdentifier[] |
Returns
void
Inherited from
clearSchema()
clearSchema():
void
Defined in: packages/core/src/plan/visitor.ts:102
will preserve object references
Returns
void
Inherited from
clone()
clone():
Recursion
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:69
PlanOperator.clone
Returns
Recursion
Overrides
getChildren()
getChildren():
PlanOperator[]
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:65
PlanOperator.getChildren
Returns
Overrides
getDependencies()
getDependencies():
IdSet
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:81
PlanOperator.getDependencies
Returns
Overrides
PlanTupleOperator.getDependencies
removeFromSchema()
removeFromSchema(
item):boolean
Defined in: packages/core/src/plan/visitor.ts:80
will preserve object references
Parameters
| Parameter | Type |
|---|---|
item | IdSet | ASTIdentifier | ASTIdentifier[] |
Returns
boolean
Inherited from
PlanTupleOperator.removeFromSchema
replaceChild()
replaceChild(
current,replacement):void
Defined in: packages/core/src/plan/operators/tuple/recursion.ts:50
PlanOperator.replaceChild
Parameters
| Parameter | Type |
|---|---|
current | PlanOperator |
replacement | PlanOperator |
Returns
void