JFinis commented on code in PR #196:
URL: https://github.com/apache/parquet-format/pull/196#discussion_r1146095493
##########
README.md:
##########
@@ -163,18 +163,25 @@ following rules:
[Thrift definition](src/main/thrift/parquet.thrift) in the
`ColumnOrder` union. They are summarized here but the Thrift definition
is considered authoritative:
- * NaNs should not be written to min or max statistics fields.
- * If the computed max value is zero (whether negative or positive),
- `+0.0` should be written into the max statistics field.
- * If the computed min value is zero (whether negative or positive),
- `-0.0` should be written into the min statistics field.
-
- For backwards compatibility when reading files:
- * If the min is a NaN, it should be ignored.
- * If the max is a NaN, it should be ignored.
- * If the min is +0, the row group may contain -0 values as well.
- * If the max is -0, the row group may contain +0 values as well.
- * When looking for NaN values, min and max should be ignored.
+ * The following compatibility rules should be applied when reading
statistics:
+ * If the nan_count field is set to > 0 and both min and max are
Review Comment:
TBH: I would actually love to have a `num_values` list in the column index.
We have the same in the statistics, Iceberg does the same, and not needing
min=max=NaN for only-NaN checking would actually be much more elegant IMHO.
I just didn't want to suggest adding another list to each column index for
the added space cost. However, given that these indexes are negligibly small in
comparison to the data, I think actually no one would mind that extra space. If
the consensus is that this is preferrable, I'm happy to adapt the commit to
that.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]