[ 
https://issues.apache.org/jira/browse/CALCITE-628?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Julian Hyde resolved CALCITE-628.
---------------------------------
       Resolution: Fixed
    Fix Version/s:     (was: next)
                   1.2.0-incubating

Fixed as part of the fix for CALCITE-606.

> Calcite hit Assertion Error when calling Frameworks.planner or 
> RelOptRule.convert(), if the target trait is composite  
> -----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CALCITE-628
>                 URL: https://issues.apache.org/jira/browse/CALCITE-628
>             Project: Calcite
>          Issue Type: Bug
>            Reporter: Jinfeng Ni
>            Assignee: Julian Hyde
>             Fix For: 1.2.0-incubating
>
>
> CALCITE-88 introduces the concept of RelCompositeTrait. As such, Calcite 
> seems to require that each new RelSubSet should only have simple trait, in 
> stead of composite traits. If that condition is not meet, an assertion will 
> be thrown.
> However, when we use Frameworks.planner to call transform(),  or use 
> RelOptRule to call convert() method, there is no guarantee that the target 
> traits are simple.  If the target traits happened to be composite, then 
> Calcite will hit Assertion at RelSubset.java:108.
> There seems to be two options to fix this Assertion and ensure RelSubset only 
> have simple traitsets :
> 1) Follow the way Prepare.optimize(), and call simplify() for the target 
> traitset, in both PlannerImpl.transform() or RelOptRule.convert().
> 2) Each callers of transform(), or convert() method should make sure the 
> target traits are simple.
> The patch I'm going to submit uses the 1st option, using the same logic in 
> Prepare.optimize().
>  



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to