Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
1.17.0
Description
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 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.
Attachments
Issue Links
- is duplicated by
-
CALCITE-3609 Wrong query results in Hive due to wrong struct nullability
- Closed
-
CALCITE-2646 Support nullable struct type
- Closed
- is related to
-
CALCITE-4085 Improve nullability support for fields of structured type
- Closed
- links to