-- pg_turbovec v1.23.0 -- Phase G-2a: WITH (graph = true), a new -- Vamana-style navigable-graph index kind aiming to match HNSW's -- query latency while keeping TurboQuant's storage compression. -- -- This file is a *reference mirror*. The authoritative install -- script is generated by `cargo pgrx schema`. -- -- Wire format bumped to VERSION 6, ADDITIVE per kind (following the -- same pattern as v5's KIND_COLBERT addition): a v4 single-vector -- index and a v5 ColBERT index remain byte-identical under the v6 -- binary -- verified by dedicated tests -- (v4_single_vector_bytes_unaffected_by_v6_binary, -- decodes_v5_colbert_meta_unaffected_under_v6). NO REINDEX needed -- for any existing v4/v5 index. -- -- A graph index is a genuinely new on-disk shape (a Vamana adjacency -- chain + entry-point slot id) that only a v6 binary produces -- -- there is no in-place migration of an existing flat/IVF/ColBERT -- index into a graph index; build one explicitly with -- `CREATE INDEX ... USING turbovec (col vec_*_ops) WITH (graph = true)`. -- -- Scope (Phase G-2a, correctness-first): build + scan work end to -- end with real recall (verified against exact linear scan on test -- corpora). NOT yet done: VACUUM/tombstone integration (a graph -- index currently rejects ambulkdelete with a clear ERROR rather -- than silently corrupting the graph -- see -- 's G-2b), aminsert (also -- rejected with a clear ERROR -- rebuild the index after bulk -- loading, same operational model IVF's build-then-query workflow -- already uses), SIMD-optimized traversal (G-2c, scalar distance -- computation only in this release), and the real 5M-scale -- HNSW-latency gate measurement (G-2d, needs a cloud VM -- NOT yet run, -- so no latency/recall claim vs HNSW is made by this release; see -- for the gate this feature is ultimately -- measured against before it can be called production-ready). -- -- turbovec.probes / turbovec.search_k / IVF's lists reloption are -- unaffected. `WITH (graph = true)` and `WITH (lists = N)` are -- mutually exclusive on the same index (enforced in amoptions). -- -- Migration: `ALTER EXTENSION pg_turbovec UPDATE TO '1.23.0';`. -- No REINDEX for existing indexes.