@Override
  public ColumnHandle getMergeRowIdColumnHandle(
      ConnectorSession session, ConnectorTableHandle tableHandle) {
    StructType type =
        StructType.of(
            ImmutableList.<NestedField>builder()
                .add(MetadataColumns.FILE_PATH)
                .add(MetadataColumns.ROW_POSITION)
                .add(
                    NestedField.required(
                        TRINO_MERGE_FILE_RECORD_COUNT, "file_record_count", LongType.get()))
                .add(
                    NestedField.required(
                        TRINO_MERGE_PARTITION_SPEC_ID, "partition_spec_id", IntegerType.get()))
                .add(
                    NestedField.required(
                        TRINO_MERGE_PARTITION_DATA, "partition_data", StringType.get()))
                .build());

    NestedField field = NestedField.required(TRINO_MERGE_ROW_ID, TRINO_ROW_ID_NAME, type);
    return getColumnHandle(field, typeManager);
  }
Iceberg original metadata has some problems for mixed-format table, such as iceberg version,
table type. So copy from IcebergMetadata and made some change
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergMetadata.java