[jira] [Created] (FLINK-17222) Improve FieldsDataType

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[jira] [Created] (FLINK-17222) Improve FieldsDataType

Shang Yuanchun (Jira)
Dawid Wysakowicz created FLINK-17222:
----------------------------------------

             Summary: Improve FieldsDataType
                 Key: FLINK-17222
                 URL: https://issues.apache.org/jira/browse/FLINK-17222
             Project: Flink
          Issue Type: Sub-task
          Components: Table SQL / API
            Reporter: Dawid Wysakowicz


The problem with {{FieldsDataType}} is that the method {{getFieldDataTypes}} does not keep the order of the fields stored in the logical type. Therefore at couple of locations we have to first iterate over the names in logical type and then get the DataTypes.

{code}
                final RowType rowType = (RowType) fieldsDataType.getLogicalType();
                final String[] fieldNames = rowType.getFields()
                        .stream()
                        .map(RowType.RowField::getName)
                        .toArray(String[]::new);

                final TypeInformation<?>[] fieldTypes = Stream.of(fieldNames)
                        .map(name -> fieldsDataType.getFieldDataTypes().get(name))
                        .map(LegacyTypeInfoDataTypeConverter::toLegacyTypeInfo)
                        .toArray(TypeInformation[]::new);
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)