static boolean partitionMatchesConstraint(
      Set<IcebergColumnHandle> identityPartitionColumns,
      Supplier<Map<ColumnHandle, NullableValue>> partitionValues,
      Constraint constraint) {
    // We use Constraint just to pass functional predicate here from DistributedExecutionPlanner
    verify(constraint.getSummary().isAll());

    if (constraint.predicate().isEmpty()
        || intersection(constraint.getPredicateColumns().orElseThrow(), identityPartitionColumns)
            .isEmpty()) {
      return true;
    }
    return constraint.predicate().get().test(partitionValues.get());
  }
Iceberg original IcebergSplitSource has some problems for mixed-format table, such as iceberg
version, table type.
amoro-format-mixed/amoro-mixed-trino/src/main/java/org/apache/amoro/trino/unkeyed/IcebergSplitSource.java