-
-
Notifications
You must be signed in to change notification settings - Fork 827
Description
When we do incompatible archive and "files" cache changes anyway (and archives need to be converted, cache to be rebuilt), it will be a good time to also remove these functions:
- int_to_bigint
- bigint_to_int
They exist to (de)serialize integers bigger than 63 bits (although "bigger than 64bits" would have been better, msgpack can serialize unsigned 64bit ints, but not more, thus bigint uses a bytestring for longer ints).
We have msgpacked timestamps on disk in the archives and also in the "files" cache.
Likely, the reason for the existance of the bigint functions are broken timestamps on NTFS that can result in bigger-than-64bit mtime_ns values.
We needed clamping for other reasons also, so a bit later safe_s / safe_ns functions were introduced that just clamp seconds / nanoseconds into the unproblematic range (64bit uint). These must stay.