A long time ago, ProjectState.id was an integer, project listing used MAX(id) and all was good.
But since it was global instead of per-project, we didn't want to expose it externally as a sequence number / index of the current state. So, we switched the field to UUID and introduced another, step_index, which was an integer.
No-one bothered to tell poor ol' get_all_projects() about it, but SQLite happily obliged, calculating maximum value of an unorderable random field (Like the White Queen, SQLite can execute six impossible queries before breakfast).
So it was that a brave adventurer ventured forth to the land of PostgreSQL, which immediately complained, as it often will. The omission was detected and promptly fixed, lest no unwary souls get caught in the trap.
A long time ago,
ProjectState.id
was an integer, project listing usedMAX(id)
and all was good.But since it was global instead of per-project, we didn't want to expose it externally as a sequence number / index of the current state. So, we switched the field to UUID and introduced another,
step_index
, which was an integer.No-one bothered to tell poor ol'
get_all_projects()
about it, but SQLite happily obliged, calculating maximum value of an unorderable random field (Like the White Queen, SQLite can execute six impossible queries before breakfast).So it was that a brave adventurer ventured forth to the land of PostgreSQL, which immediately complained, as it often will. The omission was detected and promptly fixed, lest no unwary souls get caught in the trap.