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==f...@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)

Reply via email to