Mihai Budiu created CALCITE-6976:
------------------------------------

             Summary: Assertion failure while typechecking SUBSTR(TIMESTAMP, 
...)
                 Key: CALCITE-6976
                 URL: https://issues.apache.org/jira/browse/CALCITE-6976
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.39.0
            Reporter: Mihai Budiu


The following SqlOperatorTest will cause an assertion failure:
{code:java}
    final SqlOperatorFixture f = fixture()
        .withLibrary(SqlLibrary.BIG_QUERY);
    f.checkScalar("SUBSTR(TIMESTAMP '2020-01-01 10:00:00', 10)", "", "VARCHAR 
NOT NULL");
{code}

Here is the stack trace:

{code:java}
java.lang.AssertionError: Was not expecting value 'TIMESTAMP' for enumeration 
'org.apache.calcite.sql.type.SqlTypeName' in this context

        at org.apache.calcite.util.Util.unexpected(Util.java:1937)
        at 
org.apache.calcite.sql.type.SqlTypeTransforms$1.toVar(SqlTypeTransforms.java:207)
        at 
org.apache.calcite.sql.type.SqlTypeTransforms$1.transformType(SqlTypeTransforms.java:174)
        at 
org.apache.calcite.sql.type.SqlTypeTransformCascade.inferReturnType(SqlTypeTransformCascade.java:66)
        at 
org.apache.calcite.sql.SqlOperator.inferReturnType(SqlOperator.java:562)
        at 
org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:531)
        at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:350)
        at org.apache.calcite.sql.SqlFunction.deriveType(SqlFunction.java:232)
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:7092)
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:7079)
        at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:175)
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:2028)
        at 
org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:2015)
        at org.apache.calcite.sql.SqlNode.validateExpr(SqlNode.java:277)
        at org.apache.calcite.sql.SqlOperator.validateCall(SqlOperator.java:503)

{code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to