You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Datetimes are not sorted correctly at the nanosecond level:
The screenshot is a sort from latest to oldest times. The top 3 times are in the wrong order. It looks like nanoseconds are being ignored in the sorting.
Steps to Reproduce
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
See the timestamps out of order
Actual Experience
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
Timestamps are out of order
Expected Experience
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
Timestamps are in order
Additional Context
No response
The text was updated successfully, but these errors were encountered:
The problem with timestamps is that they are converted to JavaScript Date objects for sorting. Date objects only have millisecond precision. Hence why timestamps that differ by a few nanoseconds may be sorted in the wrong order.
However, it's possible we can get away with string comparisons to get around the precision issue. The strings themselves are ISO Zulu strings, so we shouldn't have to worry about number/letter comparisons messing the order up.
String comparisons are a bit risky, as it's difficult to predict how locales will order certain characters.
The Temporal API provides the necessary nanosecond precision and works beautifully, but comparing Temporal objects is very slow compared to Date objects.
I think the optimal solution here is to use a combination of the two. Since it's less likely for DateTime values to differ by less than a millisecond, we can take advantage of the faster comparison of Date objects. If the Date objects are the same, only then will we parse and compare the values as Temporal objects.
Preflight Checklist
Storage Explorer Version
1.32.1
Regression From
No response
Architecture
x64
Storage Explorer Build Number
20231114.10
Platform
macOS
OS Version
macOs 14.2.1
Bug Description
Datetimes are not sorted correctly at the nanosecond level:
The screenshot is a sort from latest to oldest times. The top 3 times are in the wrong order. It looks like nanoseconds are being ignored in the sorting.
Steps to Reproduce
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
See the timestamps out of order
Actual Experience
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
Timestamps are out of order
Expected Experience
Launch Storage Explorer
Find a table with timestamps close together
Click the column to sort ascending/descending
Timestamps are in order
Additional Context
No response
The text was updated successfully, but these errors were encountered: