You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Stamatis Zampetakis (JIRA)" <ji...@apache.org> on 2019/03/06 16:53:00 UTC
[jira] [Created] (CALCITE-2899) Deprecate
RelTraitPropagationVisitor and remove its usages
Stamatis Zampetakis created CALCITE-2899:
--------------------------------------------
Summary: Deprecate RelTraitPropagationVisitor and remove its usages
Key: CALCITE-2899
URL: https://issues.apache.org/jira/browse/CALCITE-2899
Project: Calcite
Issue Type: Improvement
Components: core
Affects Versions: 1.18.0
Reporter: Stamatis Zampetakis
Assignee: Stamatis Zampetakis
Fix For: 1.19.0
RelTraitPropagationVisitor is currently used only for debugging purposes doing nothing more than throwing an assertion error if certain conditions does not hold. By a quick search in the Jira, I couldn't find any issues showing that the visitor really detected some problem.
According to the thread ["RelTraitPropagationVisitor and useless code policy"|http://mail-archives.apache.org/mod_mbox/calcite-dev/201810.mbox/%3CCAFQnWdaJFvKshBVnV0fLyTVksoFHWsGagVhMfQG06MjhPM==Fw@mail.gmail.com%3E] in the dev list the class is more or less useless and unlikely to be used in the future.
Moreover, the visitor traverses complete RelNode subtrees introduced after rule matches (and their traits) affecting also the performance of the planner.
Finally, the contract and the behavior of the class are not consistent.
For the above reasons, I propose to deprecate the class and remove its usages.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)