Skip to main content

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

ParameterTypeDescription
configOptimizerConfig-
dbDortDBAsFriendInternal database interface passed to rule constructors.

Returns

Optimizer

Properties

config

protected config: OptimizerConfig

Defined in: packages/core/src/optimizer/optimizer.ts:21

Active optimizer configuration.


db

protected db: DortDBAsFriend

Defined in: packages/core/src/optimizer/optimizer.ts:26

Internal database interface passed to rule constructors.


rules

protected rules: PatternRule<PlanOperator, any>[]

Defined in: packages/core/src/optimizer/optimizer.ts:19

Instantiated rule objects derived from the current config.

Methods

breakReferences()

protected breakReferences(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

ParameterType
operatorPlanOperator

Returns

void


optimize()

optimize(plan): PlanOperator

Defined in: packages/core/src/optimizer/optimizer.ts:50

Optimize the given query plan.

Parameters

ParameterTypeDescription
planPlanOperatorThe query plan to optimize.

Returns

PlanOperator

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

ParameterTypeDescription
configOptimizerConfigThe new configuration to apply.

Returns

void


visitOperator()

protected visitOperator(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

ParameterTypeDescription
operatorPlanOperatorThe operator to visit.
rulePatternRuleThe rule to apply.

Returns

void