Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
1.3.1
-
None
Description
Right now FlinkTypeFactory does conversion between Flink TypeInformation to Calcite RelDataType by assuming the following:
All top level fields will be set to nullable and all nested fields within CompositeRelDataType and GenericRelDataType will be set to Calcite default (which is non-nullable).
This triggers Calcite SQL optimization engine drop all `IS NOT NULL` clause on nested fields, and would not be able to optimize when top level fields were actually non-nullable.
Attachments
Issue Links
- links to