You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "Vladimir Sitnikov (JIRA)" <ji...@apache.org> on 2018/09/23 08:47:00 UTC
[jira] [Created] (CALCITE-2589) VolcanoPlanner#fireRules and
VolcanoRuleCall#matchRecurse should ignore known-to-be-unimportant
relations
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)