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

   ## Which issue does this PR close?
   
   - Closes #3375.
   
   ## What changes are included in this PR?
   
   `GlueSchemaBuilder` returned `FeatureUnsupported` for `timestamptz`, 
`timestamptz_ns` and `unknown`, so creating, registering or committing to a 
Glue table with one of those columns failed, even though Glue column types are 
display-only for Iceberg tables. As suggested in 
https://github.com/apache/iceberg-rust/pull/2933#discussion_r4201735423, the 
conversion no longer fails for any type:
   
   - `timestamptz` -> `timestamp`, as iceberg-java's `IcebergToGlueConverter` 
does (its `TIMESTAMP` case covers both).
   - `timestamptz_ns` -> `timestamp_ns`, the spelling this crate already uses 
for `timestamp_ns`.
   - `unknown` -> `unknown`, the type's display string, which is also what 
Java's default case produces.
   
   The existing spellings for every other type are unchanged. The timestamptz 
mapping is the same one proposed in #2956, which was closed as stale.
   
   ## Are these changes tested?
   
   Yes. `test_schema_with_simple_fields` now includes a `timestamptz` column, 
and `test_schema_with_v3_primitive_types` covers `timestamptz_ns` and `unknown` 
in a v3 table. Both fail on `main` (`1be091a`) with `FeatureUnsupported`. 
`cargo test -p iceberg-catalog-glue --lib` and `cargo clippy -p 
iceberg-catalog-glue --all-targets -- -D warnings` pass.
   
   ## AI Disclosure
   
   I used an AI assistant to find the failing arms, compare them with 
iceberg-java, and draft the tests; I reviewed the change and ran the tests 
myself. Worth a reviewer's look: the nanosecond spelling, since Java writes 
`timestamp_nano` for both nanosecond types while this crate already wrote 
`timestamp_ns`, and I kept the crate's spelling rather than change existing 
tables' Glue columns. Mapping `timestamptz` to `timestamp` drops the time zone 
from the display type, matching Java. I did not run this against a real Glue 
catalog.
   


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