manuzhang opened a new pull request, #1050: URL: https://github.com/apache/iceberg-cpp/pull/1050
Parquet projection currently accepts incompatible geometry/geography parameters, such as `geometry(EPSG:3857)` read as `geometry(OGC:CRS84)`. WKB carries neither the CRS nor the geography edge algorithm, so this silently changes the meaning of the values. Validate CRS case-insensitively and require matching geography edge algorithms. Resolve omitted Parquet CRS to `OGC:CRS84` and include the column path in mismatch errors. Add coverage for defaults, all five algorithms, independent parameter mismatches, and nested struct/list/map projection with an unselected sibling. Follow-up to #880, as discussed in https://github.com/apache/iceberg-cpp/pull/880#discussion_r3794109230. Aligns with the validation in apache/iceberg#17578. Validation: current core CMake build passed; all 34 tests in `parquet_schema_test.cc` passed when compiled and linked directly against installed Arrow/Parquet 24.0.0 and GTest 1.17.0 with `-Wall -Wextra -Werror`. Both new regression tests fail against the unchanged projection implementation. `clang-format --dry-run --Werror` and `git diff --check` passed. The full bundle build and bundled Arrow 25 integration suite have not been run. -- 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]
