Files
lancedb/python/python
Aviral Saxena 5f0bb98e90 fix(python): use exact integer math for list_versions timestamps (#4426)
Refs #4404.

AsyncTable.list_versions split the nanosecond timestamp with float
division/modulo (`ts // 1e9`, `ts % 1e9`).
At ~1.8e18 a float can't hold every integer, so the microseconds drifted
(.274000 came back as .273999).

Use `divmod(ts, 1_000_000_000)` and integer // 1000 instead.

Only the precision fix is included here. Timezone-aware UTC (option 1 in
#4404) is on hold for now,
and I can add it here or in a follow-up depending on what they prefer.

Added test_list_versions_timestamp_precision using the value from the 
issue (1790989429274000000), expecting microsecond == 274000.
2026-10-05 11:15:46 -07:00
..