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)

Reply via email to