[
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)