Class: Optimizer
Defined in: packages/core/src/optimizer/optimizer.ts:17
Optimizer for query plans.
Constructors
Constructor
new Optimizer(
config,db):Optimizer
Defined in: packages/core/src/optimizer/optimizer.ts:23
Parameters
| Parameter | Type | Description |
|---|---|---|
config | OptimizerConfig | - |
db | DortDBAsFriend | Internal database interface passed to rule constructors. |
Returns
Optimizer
Properties
config
protectedconfig:OptimizerConfig
Defined in: packages/core/src/optimizer/optimizer.ts:21
Active optimizer configuration.
db
protecteddb:DortDBAsFriend
Defined in: packages/core/src/optimizer/optimizer.ts:26
Internal database interface passed to rule constructors.
rules
protectedrules:PatternRule<PlanOperator,any>[]
Defined in: packages/core/src/optimizer/optimizer.ts:19
Instantiated rule objects derived from the current config.
Methods
breakReferences()
protectedbreakReferences(operator):void
Defined in: packages/core/src/optimizer/optimizer.ts:96
Ensures parent and child operators do not share the same schema array or schema-set reference.
Parameters
| Parameter | Type |
|---|---|
operator | PlanOperator |
Returns
void
optimize()
optimize(
plan):PlanOperator
Defined in: packages/core/src/optimizer/optimizer.ts:50
Optimize the given query plan.
Parameters
| Parameter | Type | Description |
|---|---|---|
plan | PlanOperator | The query plan to optimize. |
Returns
The optimized query plan.
reconfigure()
reconfigure(
config):void
Defined in: packages/core/src/optimizer/optimizer.ts:35
Reconfigure the optimizer with a new set of rules.
Parameters
| Parameter | Type | Description |
|---|---|---|
config | OptimizerConfig | The new configuration to apply. |
Returns
void
visitOperator()
protectedvisitOperator(operator,rule):void
Defined in: packages/core/src/optimizer/optimizer.ts:66
Visit an operator and apply the given rule. Recursively applies the rule to child operators.
Parameters
| Parameter | Type | Description |
|---|---|---|
operator | PlanOperator | The operator to visit. |
rule | PatternRule | The rule to apply. |
Returns
void