You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Stamatis Zampetakis (JIRA)" <ji...@apache.org> on 2018/08/11 12:59:00 UTC

[jira] [Created] (CALCITE-2464) Struct types are always not nullable

Stamatis Zampetakis created CALCITE-2464:
--------------------------------------------

             Summary: Struct types are always not nullable
                 Key: CALCITE-2464
                 URL: https://issues.apache.org/jira/browse/CALCITE-2464
             Project: Calcite
          Issue Type: Bug
          Components: core
    Affects Versions: 1.17.0
            Reporter: Stamatis Zampetakis
            Assignee: Julian Hyde


Struct types are always not nullable. This can lead to bugs in many parts of Calcite (e.g., expression simplification, optimization, code generation) that are considering the nullability of a RelDataType. 

The method [isNullable|https://github.com/apache/calcite/blob/3c6b5ec759caadabb67f09d7a4963cc7d9386d0c/core/src/main/java/org/apache/calcite/rel/type/RelRecordType.java#L55] in the RelRecordType, which is used to represent a structured type, always returns false. The nullability of the RelRecordType should be a parameter in the constructor as it is the case for various other RelDataTypes. 

Additionally, the data type cache should also take into account the nullability of the type in order to return a correct equivalent.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)