omnigraph/crates
Ragnor Comerford 481de860b2
fix(engine): build scalar BTREE for enum and orderable-scalar @index columns
`build_indices_on_dataset_for_catalog` only handled `String` (-> FTS) and
`Vector` (-> vector). Enums are physically `String`, so an enum `@index`
column (e.g. `status`) got an FTS inverted index, which Lance never consults
for `=`; and `DateTime`/`Date`/numeric/`Bool` `@index` columns fell through
and built nothing. Both meant equality/range filters degraded to full scans
with `indices_loaded=0`.

Dispatch index kind by property type via a shared `node_prop_index_kind`:
enum + orderable scalar -> BTREE, free-text String -> FTS, Vector -> vector,
list/Blob -> none. The helper is shared by the builder and
`needs_index_work_node` so they cannot drift — the latter decides recovery-
sidecar pinning, and under-reporting would leave a HEAD-advancing index build
uncovered (invariant 5).

Tests: scalar_indexes.rs asserts enum/DateTime/numeric @index columns report
`IndexCoverage::Indexed` while free-text String/un-annotated columns stay
`Degraded` (negative control). Docs: docs/user/indexes.md.
2026-06-13 18:42:58 +02:00
..
omnigraph fix(engine): build scalar BTREE for enum and orderable-scalar @index columns 2026-06-13 18:42:58 +02:00
omnigraph-api-types refactor(api): extract omnigraph-api-types crate (RFC-009 Phase 2) 2026-06-13 17:03:20 +03:00
omnigraph-cli refactor(cli): consume omnigraph-api-types directly; unify the load mapping 2026-06-13 17:05:32 +03:00
omnigraph-cluster Recovery liveness, storage fault-injection matrix, and one storage implementation over object_store (#203) 2026-06-13 11:20:08 +02:00
omnigraph-compiler release: bump workspace to 0.7.0 2026-06-12 14:12:33 +03:00
omnigraph-policy release: bump workspace to 0.7.0 2026-06-12 14:12:33 +03:00
omnigraph-server refactor(api): extract omnigraph-api-types crate (RFC-009 Phase 2) 2026-06-13 17:03:20 +03:00