[ 
https://issues.apache.org/jira/browse/CALCITE-1148?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16778759#comment-16778759
 ] 

Haisheng Yuan commented on CALCITE-1148:
----------------------------------------

I think If useAbstractConvertersForConversion return true, AbstractConverters 
will be added aggressively, which causes testJoinManyWay never return, when the 
argument for checkJoinNWay is only 6.

> Trait conversion broken for RelTraits other than Convention
> -----------------------------------------------------------
>
>                 Key: CALCITE-1148
>                 URL: https://issues.apache.org/jira/browse/CALCITE-1148
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: MinJi Kim
>            Assignee: Julian Hyde
>            Priority: Major
>             Fix For: 1.9.0
>
>
> RelTraits (e.g. RelCollationTrait and RelDistributionTrait) fail to convert 
> in calcite core.  Convention is handled specially at the root node (with 
> VolcanoPlanner.ensureRootConverters()), but this assumes that convention 
> conversions are not necessary underneath the root, which may not necessarily 
> be true.  In order for RelTrait conversions to work, there is a need to have 
> converters (via AbstractConverters which use RelTraitDef.convert()).
> In a previous commit (b312031), AbstractConverters were added too 
> aggressively.  For example, even if RelTraitDef.canConvert() returns false, 
> AbstractConverters were superfluously added.  As a result, many plans would 
> take a lot longer to plan (as pointed by 3b55c35).  But removing the 
> AbstractConverters means that RelTrait conversions are not handled properly 
> in calcite.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to