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)