fallintoplace opened a new issue, #1115:
URL: https://github.com/apache/iceberg-go/issues/1115
In #1112, timestamp partition extraction was updated to respect Arrow
timestamp units before applying Iceberg partition transforms.
There is a similar-looking edge in `getArrowValueAsIcebergLiteral` for
`*array.Time64`:
```go
case *array.Time64:
return iceberg.NewLiteral(iceberg.Time(arr.Value(row))), nil
```
Iceberg `time` values are stored as microseconds, but Arrow `Time64` can
carry a unit. Today the public Arrow schema conversion path only accepts
`time64[us]` and rejects `time64[ns]`, so this is lower priority than the
timestamp partition bug. Still, the partition literal helper currently assumes
the raw Arrow value is already in Iceberg microseconds.
Proposed follow-up:
- inspect `arr.DataType().(*arrow.Time64Type).Unit`
- keep `time64[us]` unchanged
- either reject `time64[ns]` explicitly in partition extraction or convert
it with the same floored downcast semantics used for timestamps
- add focused regression coverage around the helper / partition extraction
behavior
This is intentionally separate from #1112 because timestamp writes are
already accepted and normalized later, while Time64 has a narrower reachable
surface today.
--
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]