Timo Walther created FLINK-16679:
------------------------------------
Summary: Investigate more efficient outer join plans
Key: FLINK-16679
URL:
https://issues.apache.org/jira/browse/FLINK-16679 Project: Flink
Issue Type: Improvement
Components: Table SQL / Planner
Reporter: Timo Walther
FLINK-16344 avoids errors due to incompatible types during planning by preserving the nullability attributes of nested types. It added an additional check for {{rt.getStructKind == StructKind.PEEK_FIELDS_NO_EXPAND}} to only cover nested rows. Not top-level rows. But it seems that a couple of execution plans would look nicer if the nullability property is preserved for top-level rows as well. However, a lot of join tests fail we should investigate this issue if we would like to have more efficient execution plans.
The comment in {{RelDataTypeFactoryImpl#createTypeWithNullability}} says:
{code}
According to the SQL standard, nullability for struct types can be defined only for columns, which translates to top level structs. Nested struct attributes are always nullable, so in principle we could always set the nested attributes to be nullable.
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)