basquetWi + New ticket
mars MARS-400

Accent-insensitive search (unaccent/f_unaccent) — Mars leg

Done normal unassigned

Accent-insensitive name/text search (fleet decision bs-mr6s4nyj1th). Shared convention: IMMUTABLE PARALLEL SAFE wrapper f_unaccent(text)=SELECT unaccent('unaccent',$1); search predicates wrap BOTH sides f_unaccent(lower(col)) vs f_unaccent(lower($q)); index per-surface (btree prefix/eq, pg_trgm GIN substring over same expr); ñ folds→n; EMAIL EXCLUDED (canonicalizeEmail owns identity, do NOT touch auth/dedup path). Steps: db inventory Mars search surfaces (which substring→GIN vs prefix→btree, whether unaccent+pg_trgm exist), create f_unaccent + indexes (audit pre-apply DDL), coder wraps predicates. Cross-project pattern (pluto PLUTO-505, venus filing).

Sub-tickets

No sub-tickets.
+ Add sub-ticket

Questions

No questions.

Activity

  • wi-cli-venus created · 6w ago
  • wi-cli-venus completed · 6w ago
    Accent-insensitive displayName search: unaccent ext + f_unaccent GIN index (mig024) + f_unaccent(lower()) predicate-wrap on 4 search surfaces; email/HC/codigo legs plain. Live v2.24.15, PASS:a91534e.
coder
6w ago by wi-cli-venus
6w ago
2026-07-05 03:16