-- pg_turbovec v1.8.0 -- competitive-parity feature minor release. -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- v1.8.0 lands four competitive-parity features (driven by -- vs pgvector 0.8.2 + Qdrant): -- -- 1. Iterative index scan (parity gap #1) -- the one true -- correctness fix. amgettuple now re-runs the search with a -- doubled k and feeds new candidates when a selective WHERE -- filter + ORDER BY dist LIMIT k would otherwise under-return. -- New GUCs: turbovec.iterative_scan (off | relaxed_order, -- default relaxed_order) and turbovec.max_scan_tuples -- (default 20000). -- -- 2. Parallel index build (parity gap #2) -- ambuild's encode + -- repack phases are rayon-parallelised over heap-scan chunks. -- New GUC: turbovec.build_parallelism (default 0 = auto). -- Byte-for-byte identical relfiles regardless of thread count. -- -- 3. Cold-scan latency (parity gap #3) -- the read path now skips -- the O(n) id_to_slot HashMap build (deferred to first -- mutation), cutting the dominant residual cold-scan term. -- -- 4. Vector arithmetic parity (parity gap #4) -- adds || concat -- for turbovec.vector and turbovec.halfvec, and +/-/* -- element-wise for turbovec.halfvec. These ARE new SQL -- objects (operators + functions); cargo pgrx schema emits -- their CREATE OPERATOR / CREATE FUNCTION into the -- authoritative 1.8.0 install script. This reference mirror -- does not duplicate them. -- -- The on-disk relfile format is byte-identical to v1.6.x / v1.7.x -- (MetaPageData::version = 3). The new SQL surface is purely -- additive; the new GUCs default to pgvector-equivalent behaviour. -- There is no on-disk migration. The upgrade path -- `ALTER EXTENSION pg_turbovec UPDATE TO '1.8.0';` resolves cleanly; -- the additive operators/functions are created by the generated -- 1.7.3--1.8.0 upgrade script. -- -- No REINDEX is needed -- existing indexes work unchanged.