Details

    Description

      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.

      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);
      

      Attachments

        Issue Links

          Activity

            People

              twalthr Timo Walther
              dwysakowicz Dawid Wysakowicz
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: