32cd33c2

Author: Michael Lynch <git@mtlynch.io>

Committer: Michael Lynch <mtlynch@noreply.codeberg.org>

Normalize legacy autocomplete item names (#79)

Older databases can contain item_sections keys that differ only by leading or
trailing whitespace. SQLite treats those keys as separate rows, but the
application trims display names before returning them to the autocomplete
control, causing visually duplicate suggestions such as "Ice Cream".

Migration 008 rebuilds item_sections with lowercase, trimmed keys and trimmed
display names. Rebuilding is necessary because normalizing a key can collide
with an existing primary key. For conflicts, the migration processes malformed
keys first and canonical keys last, so the canonical row retains its current
section and display name. It drops rows whose normalized name is empty.

Reviewed-on: https://codeberg.org/mtlynch/grosiree/pulls/79

Suite timing

Time to Start Worker time Duration Time to finish Idle
Config 2s 10s 10s 12s 2s
Eval 9s 21s 21s 30s 0s
Build 19s 5m03s 1m34s 1m53s 0s
Deploy 2m02s 1m50s 1m50s 3m52s 8s
Suite 2s 7m25s 3m49s 3m52s 10s

Timeline

0s20s40s1m1m20s1m40s2m20s2m40s3m3m20s3m40s