[
https://issues.apache.org/jira/browse/CALCITE-3851?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17059157#comment-17059157
]
Haisheng Yuan commented on CALCITE-3851:
----------------------------------------
I would prefer adding {{setPruned(), isPruned()}} API to {{RelNode}} instead of
adding API to planner. {{AbstractRelNode}} can provide the final
implementation. I know we want to make RelNode immutable, but It is more
straightforward than calling planner API, and doesn't change the immutability
of other important fields.
> Replace the node importance map with a set for pruned nodes
> -----------------------------------------------------------
>
> Key: CALCITE-3851
> URL: https://issues.apache.org/jira/browse/CALCITE-3851
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Liya Fan
> Priority: Minor
> Labels: pull-request-available
> Time Spent: 1h 20m
> Remaining Estimate: 0h
>
> Currently, volcano planner stores rel node importances with a map. In fact,
> the value of the map can only be 0.
> So there is no need to store the values, and we replace the map with a set to
> store nodes whose importances are 0.
> This makes the code logic clearer, and avoids instability caused by comparing
> floating point values.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)