On the Linux command line and in PostgreSQL, ksuids do not sort properly.
2SmasRGkif9qETAHwssB4GGYwdi can be converted to the timestamp 2023-07-19 04:13:36 -0400 EDT
2STcKMQ7MGgoDxpX9A5WuaJlx8V can be converted to the timestamp 2023-07-12 10:59:06 -0400 EDT
However, PostgreSQL and the Linux sort command both sort 2SmasRGkif9qETAHwssB4GGYwdi lower than 2STcKMQ7MGgoDxpX9A5WuaJlx8V, because evidently, all lower-case letters sort before capital letters.
I'm assuming that the ksuid algorithm uses the logic that capital letters have a lower ASCII value:
Python 3.11.2 (main, May 30 2023, 17:45:26) [GCC 12.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> ord('A')
65
>>> ord('a')
97
>>>
I love the project and use ksuids as much as possible, but this issue has bitten me at work and been the cause of some subtle bugs.
Is it impossible to fix in a backwards-compatible way?
On the Linux command line and in PostgreSQL, ksuids do not sort properly.
2SmasRGkif9qETAHwssB4GGYwdican be converted to the timestamp2023-07-19 04:13:36 -0400 EDT2STcKMQ7MGgoDxpX9A5WuaJlx8Vcan be converted to the timestamp2023-07-12 10:59:06 -0400 EDTHowever, PostgreSQL and the Linux
sortcommand both sort2SmasRGkif9qETAHwssB4GGYwdilower than2STcKMQ7MGgoDxpX9A5WuaJlx8V, because evidently, all lower-case letters sort before capital letters.I'm assuming that the ksuid algorithm uses the logic that capital letters have a lower ASCII value:
I love the project and use
ksuids as much as possible, but this issue has bitten me at work and been the cause of some subtle bugs.Is it impossible to fix in a backwards-compatible way?