Haisheng Yuan created CALCITE-3492:
--------------------------------------

             Summary: Exception thrown when terms has 1 RexNode in 
RexUtil.simplifyOrs()
                 Key: CALCITE-3492
                 URL: https://issues.apache.org/jira/browse/CALCITE-3492
             Project: Calcite
          Issue Type: Improvement
          Components: core
            Reporter: Haisheng Yuan


This is a regression caused by the refactoring in 1.20.0.

When {{terms}} has only 1 element, it will throw an exception. We discovered 
the issue when trying to upgrade Calcite.
{code:java}
   public static RexNode simplifyOrs(RexBuilder rexBuilder,
       List<RexNode> terms) {
     return new RexSimplify(rexBuilder, RelOptPredicateList.EMPTY, EXECUTOR)
        .simplifyUnknownAs(rexBuilder.makeCall(SqlStdOperatorTable.OR, terms),
             RexUnknownAs.UNKNOWN);
   }
{code}
We can't assume the {{terms}} always has more than 1 element. Although this 
method is deprecated, I think we need to correct the regression. Maybe we don't 
need a test case, given it is a deprecated method.




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

Reply via email to