Uploaded image for project: 'Flink'
  1. Flink
  2. FLINK-16679

Investigate more efficient outer join plans

    XMLWordPrintableJSON

Details

    Description

      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:

      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.
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            twalthr Timo Walther
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated: