ump45nose opened a new pull request, #18685:
URL: https://github.com/apache/iceberg/pull/18685

   ## What changes?
   
   `GeometryType` / `GeographyType` equality treated CRS identifiers as equal 
only with a case-insensitive string match. After #17578, Parquet files written 
through arrow-rs / Arrow C++ (and therefore iceberg-rust) carry the WGS84 
lon/lat default as `OGC:CRS84`, while Iceberg tables are often declared as 
`EPSG:4326`. Validation then rejected those files even though both names refer 
to the same lon/lat WGS84 reference.
   
   This change adds `Types.crsEquivalent` / `crsHashKey` so the `OGC:CRS84` ↔ 
`EPSG:4326` pair is interchangeable for equals and hashCode (still 
case-insensitive). Other schemes such as `srid:4326` stay distinct. `crs()` / 
`toString()` still return the original identifier.
   
   Closes #18680.
   
   ## Test plan
   
   - `./gradlew :iceberg-api:test --tests org.apache.iceberg.types.TestTypes`
   - `./gradlew :iceberg-api:checkstyleMain :iceberg-api:checkstyleTest 
spotlessCheck`
   
   ---
   **AI Disclosure**
   - Model: Grok Bot
   - Platform/Tool: Cursor
   - Human Oversight: [unknown - human to fill in]
   - Prompt Summary: Fix apache/iceberg#18680 by treating EPSG:4326 and 
OGC:CRS84 as equivalent CRS identifiers in GeometryType/GeographyType equals 
and hashCode, with unit tests; leave srid:4326 distinct.
   


-- 
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]

Reply via email to