-- pg_turbovec v1.9.0 -- oversampling + testing/bench hardening. -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- v1.9.0 adds one user-facing feature plus testing/benchmark -- infrastructure on top of v1.8.0: -- -- 1. turbovec.oversample GUC (float, default 1.0, range -- 1.0..=100.0): the scan fetches ceil(search_k * oversample) -- quantized candidates and the executor's reorder queue trims -- to the exact top-k. Widening the candidate set recovers true -- neighbours the lossy quantized ranking placed just outside -- search_k -- turning quantization into a tunable recall -- frontier (matching Qdrant oversampling / VectorChord rerank). -- Default 1.0 = identical to v1.8.0 behaviour. -- -- 2. Test coverage: medium-scale (20k-row) recall-floor tests per -- bit_width + distinct-id assertions on every ANN-scan test -- (the guard that would have caught the pre-AVX2 bug). See -- docs/TESTING.md. -- -- 3. First published head-to-head benchmark (docs/BENCHMARKS.md + -- benches/scripts/vectordbbench/): Cohere wikipedia 1M x 1024-d -- vs pgvector HNSW. Confirms recall@10 = 1.000 on the fixed -- v1.8.0+ build; storage 7.6x (4-bit) / 15.2x (2-bit) smaller. -- -- The on-disk relfile format is byte-identical to v1.7.x / v1.8.x -- (MetaPageData::version = 3). The new GUC is additive and defaults -- to no-op (1.0). There is no on-disk migration. The upgrade path -- `ALTER EXTENSION pg_turbovec UPDATE TO '1.9.0';` resolves cleanly. -- No REINDEX needed.