Mihai Budiu created CALCITE-7210:
------------------------------------

             Summary: BINARY literal values may not match their type
                 Key: CALCITE-7210
                 URL: https://issues.apache.org/jira/browse/CALCITE-7210
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.40.0
            Reporter: Mihai Budiu
            Assignee: Mihai Budiu


The following SqlOperatorTest fails:

{code:java}
    final SqlOperatorFixture f = fixture()
        .setFor(SqlLibraryOperators.LEAST, VmName.EXPAND)
        .withLibrary(SqlLibrary.BIG_QUERY);
    f.checkScalar("least(x'01', x'0202')", "0100", "BINARY(2) NOT NULL");
{code}

The error is:

Expected: is "0100"
     but: was "01"

However, the type of the result BINARY(2) is correct. But "01" is not a legal 
value for this type.
This occurs because BINARY literal values do not always match their declared 
type. I think there are several paths in simplification code which can lead to 
this outcome.




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

Reply via email to