One FTS index attached to a table (Phase 8b). The inverted index
itself is a PostingList; metadata (name, column, dirty flag)
lives here. Mirrors HnswIndexEntry field-for-field so the
rebuild-on-save and DELETE/UPDATE invalidation paths can use one
pattern across both index families.
One HNSW index attached to a table. The distance metric is fixed
at CREATE INDEX time via USING hnsw (col) WITH (metric = '<m>')
(l2 / cosine / dot); omitting the WITH clause defaults to L2,
matching the pre-SQLR-28 behaviour for round-tripping older
sqlrite_master rows that didn’t carry a metric.
SQLRite data types
Mapped after SQLite Data Type Storage Classes and SQLite Affinity Type
(Datatypes In SQLite Version 3)[https://www.sqlite.org/datatype3.html]
Runtime value produced by query execution. Separate from the on-disk Row enum
so the executor can carry typed values (including NULL) across operators.
Parse a bracket-array literal like "[0.1, 0.2, 0.3]" (or "[1, 2, 3]")
into a Vec<f32>. The parser/insert pipeline stores vector literals as
strings in InsertQuery::rows (a Vec<Vec<String>>); this helper is
the inverse — turn the string back into a typed vector at the boundary
where we actually need element-typed data.