Heads-upHighlight of Weekly #004
parent_path fixed on databases with non-C collations
On databases with glibc collations such as en_US.UTF-8, moving a node could leave its descendants with a stale parent_path. The range now uses COLLATE "C", and the parent_path index is rebuilt to match.
On the upgrade checklist: 18.0 → 19.0
Pull requests and commits
Commit message
[FIX] orm: keep parent_store descendants with non-C collations
Since 9b1872b1793a, _parent_store_update matches descendants with a range
on parent_path, which is only right with a bytewise collation like "C".
With glibc collations like en_US.UTF-8, '12/14/' sorts after '120', so the
descendants of a moved node keep a stale parent_path.
Add COLLATE "C" to the range on such databases. To keep using an index
there, rebuild the parent_path index with COLLATE "C".