[ https://issues.apache.org/jira/browse/FLINK-7137?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timo Walther resolved FLINK-7137. --------------------------------- Resolution: Fixed Fix Version/s: 1.3.2 1.4.0 Fixed in 1.4.0: 2d1e08a02d84f8d7cb2734e09741eae72bf63b7d, 7aa115658b23c19fbcc8e3d1d83113608ebd7ce7, c0bad3b80d6fe67e43bc1a5d3bebbd98479e3d76 Fixed in 1.3.2: be8ca8a384604a2fb2bd74886f452e4a61ce9cfb, 8c87c44692bc27fb8018adf587715a9488947799 > Flink table API defaults top level fields as nullable and all nested fields > within CompositeType as non-nullable > ---------------------------------------------------------------------------------------------------------------- > > Key: FLINK-7137 > URL: https://issues.apache.org/jira/browse/FLINK-7137 > Project: Flink > Issue Type: Bug > Components: Table API & SQL > Affects Versions: 1.3.1 > Reporter: Rong Rong > Assignee: Rong Rong > Fix For: 1.4.0, 1.3.2 > > > 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. -- This message was sent by Atlassian JIRA (v6.4.14#64029)