You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Julian Hyde (JIRA)" <ji...@apache.org> on 2015/04/01 02:46:53 UTC

[jira] [Updated] (CALCITE-628) Calcite hit Assertion Error when calling Frameworks.planner or RelOptRule.convert(), if the target trait is composite

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

Julian Hyde updated CALCITE-628:
--------------------------------
    Fix Version/s: next

> 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: next
>
>
> 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)