liurenjie1024 commented on PR #1821: URL: https://github.com/apache/iceberg-rust/pull/1821#issuecomment-3514618454
Thanks @mbutrovich for explaination. I think the call stack you pointed out: [GenericReader](https://github.com/apache/iceberg/blob/1e851933273bac7d299e6ffd3999f917e11ef569/data/src/main/java/org/apache/iceberg/data/GenericReader.java#L119) -- [BaseValueReader](https://github.com/apache/iceberg/blob/f9a41688e3ad67d30962b0d093698622b69cb0d9/parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java#L70) ---- [replaceMetadata](https://github.com/apache/iceberg/blob/f9a41688e3ad67d30962b0d093698622b69cb0d9/parquet/src/main/java/org/apache/iceberg/data/parquet/BaseParquetReaders.java#L277) helped to explain your second point: > You're right that the spec says to check these rules when a field is "not present." However, Java checks partition constants before Parquet field IDs (BaseParquetReaders.java:299), and this is intentional. In add_files, partition columns can exist in both Parquet and partition metadata. But I still can't find out proof for your first point in java: > You're right that we normally trust field IDs, but we do need the name check when name_mapping is present. -- 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
