-- pg_turbovec v1.18.0 -- Tier-1 IVF latency optimizations (scan-path). -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- v1.18.0 closes the Tier-1 IVF-latency backlog --. All changes are SCAN-PATH / -- default-tuning only -- NO SQL surface change, NO wire-format change -- (MetaPageData::version stays 5; single-vector indexes stay v4), -- and NO REINDEX is required. -- -- #1a: the default turbovec.search_k is lowered 100 -> 32. The -- per-query latency floor is the executor's reorder-recheck of -- every returned candidate (a heap fetch + an exact -- full-precision distance recompute each); the recall-vs- -- search_k frontier shows recall@10 plateaus by ~25, so the -- old default of 100 over-provisioned the recheck ~3x for zero -- recall gain. Existing indexes are unaffected; the new -- default simply changes how many candidates a scan rechecks. -- Raise it for queries with LIMIT > ~20 or to push recall on a -- hard corpus; lower it (toward 16) for the lowest latency. -- -- #2: documented + test-verified guidance that raising -- WITH (assign_dups = M) (soft multi-assignment) lets a query -- reach a matched recall while probing FEWER cells (lower -- latency at matched recall). assign_dups > 1 is a build-time -- layout choice and requires a REINDEX to take effect; it is -- OPT-IN and the default (1) is unchanged. -- -- #1b (advertise a tighter orderby distance) was investigated and -- REJECTED as a no-op (PostgreSQL rechecks every returned candidate -- unconditionally under xs_recheckorderby). #3-6 were assessed and -- deferred / not-warranted-by-data. See the plan doc. -- -- There is no DDL and no on-disk migration. `ALTER EXTENSION -- pg_turbovec UPDATE TO '1.18.0';` resolves against this -- intentionally-empty file. The default-GUC change takes effect for -- new sessions; no index rebuild is needed.