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

jin xing updated CALCITE-3357:
------------------------------
    Description: 
In current code of *RelSet#addAbstractConverters*, null checking of 
*curRelTrait* happens after clause of assert *curRelTrait.getTraitDef() == 
traitDef*;

It makes more sense to adjust the order;

In my understanding, this issue was not found previously for two reasons:
 # AbstractConverter is not enabled by default 
([https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableConvention.java#L65])
 # It rarely happens that two algebra expression operators have identical 
semantics but different *RelTraitDef*

I found this issue when working on 
https://issues.apache.org/jira/browse/CALCITE-2970

  was:
In current code of *RelSet#addAbstractConverters*, null checking of 
*curRelTrait* happens after clause of assert *curRelTrait.getTraitDef() == 
traitDef*;

It makes more sense to adjust the order;

In my understanding, this issue was not found previously for two reasons:
 # AbstractConverter is not enabled by default 
([https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableConvention.java#L65])
 # It rarely happens that two algebra expression operators have identical 
semantics but different *RelTraitDef*****

I found this issue when working on 
https://issues.apache.org/jira/browse/CALCITE-2970


> Trivial null checking in RelSet#addAbstractConverters
> -----------------------------------------------------
>
>                 Key: CALCITE-3357
>                 URL: https://issues.apache.org/jira/browse/CALCITE-3357
>             Project: Calcite
>          Issue Type: Bug
>          Components: core
>            Reporter: jin xing
>            Priority: Minor
>
> In current code of *RelSet#addAbstractConverters*, null checking of 
> *curRelTrait* happens after clause of assert *curRelTrait.getTraitDef() == 
> traitDef*;
> It makes more sense to adjust the order;
> In my understanding, this issue was not found previously for two reasons:
>  # AbstractConverter is not enabled by default 
> ([https://github.com/apache/calcite/blob/master/core/src/main/java/org/apache/calcite/adapter/enumerable/EnumerableConvention.java#L65])
>  # It rarely happens that two algebra expression operators have identical 
> semantics but different *RelTraitDef*
> I found this issue when working on 
> https://issues.apache.org/jira/browse/CALCITE-2970



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to