gaborkaszab commented on code in PR #9125: URL: https://github.com/apache/iceberg/pull/9125#discussion_r1401651708
########## format/spec.md: ########## @@ -305,6 +305,10 @@ The source column, selected by id, must be a primitive type and cannot be contai Partition specs capture the transform from table data to partition values. This is used to transform predicates to partition predicates, in addition to transforming data values. Deriving partition predicates from column predicates on the table data is used to separate the logical queries from physical storage: the partitioning can change and the correct partition filters are always derived from column predicates. This simplifies queries because users don’t have to supply both logical predicates and partition predicates. For more information, see Scan Planning below. +Two partition specs are considered compatible with each other if they have the same number of fields +and for each corresponding field, the fields have the same source column ID, transform definition +and partition name. Writers must not create a new parition spec if there already exists a compatible partition Review Comment: nit: extra space before 'Writers' ########## format/spec.md: ########## @@ -305,6 +305,10 @@ The source column, selected by id, must be a primitive type and cannot be contai Partition specs capture the transform from table data to partition values. This is used to transform predicates to partition predicates, in addition to transforming data values. Deriving partition predicates from column predicates on the table data is used to separate the logical queries from physical storage: the partitioning can change and the correct partition filters are always derived from column predicates. This simplifies queries because users don’t have to supply both logical predicates and partition predicates. For more information, see Scan Planning below. +Two partition specs are considered compatible with each other if they have the same number of fields Review Comment: 'considered compatible': is it compatibility or rather equality? (Also at end of L310) ########## format/spec.md: ########## @@ -607,6 +611,8 @@ Notes: 1. An alternative, *strict projection*, creates a partition predicate that will match a file if all of the rows in the file must match the scan predicate. These projections are used to calculate the residual predicates for each file in a scan. 2. For example, if `file_a` has rows with `id` between 1 and 10 and a delete file contains rows with `id` between 1 and 4, a scan for `id = 9` may ignore the delete file because none of the deletes can match a row that will be selected. +3. Floating point partition values are considered equal if there IEEE 754 floating-point “single format” bit layout Review Comment: nit: 'if their IEEE'? ########## format/spec.md: ########## @@ -607,6 +611,8 @@ Notes: 1. An alternative, *strict projection*, creates a partition predicate that will match a file if all of the rows in the file must match the scan predicate. These projections are used to calculate the residual predicates for each file in a scan. 2. For example, if `file_a` has rows with `id` between 1 and 10 and a delete file contains rows with `id` between 1 and 4, a scan for `id = 9` may ignore the delete file because none of the deletes can match a row that will be selected. +3. Floating point partition values are considered equal if there IEEE 754 floating-point “single format” bit layout +are equal (the equivelant of calling `Float.floatToIntBits`` in Java). The avro specification encodes all floating point values in this format. Review Comment: 1: `Float.floatToIntBits`` I haven't checked how it would look like when opening a page but for me it seems that there is a double closing backtick while having a single opening one. 2: nit: There is an extra space before 'The avro' 3: nit: avro -> Avro -- 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: issues-unsubscr...@iceberg.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@iceberg.apache.org For additional commands, e-mail: issues-h...@iceberg.apache.org