Vladimir Sitnikov created CALCITE-2589:
------------------------------------------
Summary: VolcanoPlanner#fireRules and VolcanoRuleCall#matchRecurse
should ignore known-to-be-unimportant relations
Key: CALCITE-2589
URL: https://issues.apache.org/jira/browse/CALCITE-2589
Project: Calcite
Issue Type: Improvement
Components: core
Affects Versions: 1.17.0
Reporter: Vladimir Sitnikov
Assignee: Julian Hyde
{{call.getPlanner().setImportance}} is used to avoid use of
known-to-be-inefficient relation, however the check of importance is performed
very late.
The check is performed in org.apache.calcite.plan.volcano.RuleQueue#skipMatch
when ruleCalls have already been created.
I suggest to move the check into VolcanoPlanner#fireRules and
VolcanoRuleCall#matchRecurse
It would reduce amount of "possible" rule executions.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)