Skip to content

[FEATURE] Prune old RelNode in push down rules #4931

@qianheng-aws

Description

@qianheng-aws

Is your feature request related to a problem?
Calcite's planner supports RelNode pruning, which reduces unnecessary exploration of candidate plans within a RelSet. This optimization should be applied when a new plan is definitively cheaper than existing alternatives and offers no additional value for discovering the optimal execution plan.

What solution would you like?
A clear and concise description of what you want to happen.

What alternatives have you considered?
A clear and concise description of any alternative solutions or features you've considered.

Do you have any additional context?
Calcite has interface SubstitutionRule, where there is API autoPruneOld determines whether the planner should automatically prune old node when there is at least 1 equivalent rel generated by the rule. The default behavior is returning false and substitution rules will be executed first in the rule on-match queue.

Metadata

Metadata

Assignees

Labels

PPLPiped processing languagecalcitecalcite migration releatedenhancementNew feature or requestpushdownpushdown related issues

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions