omnigraph/crates/omnigraph/tests
Andrew Altshuler 56b6319197
Enforce schema validators on every write path (#59)
Several validators were defined but only called from a subset of write
paths, so writes that violated @unique, @range, @check, enum, or
@cardinality constraints could silently succeed and corrupt data.

Adds two new helpers in loader/mod.rs:

- validate_enum_constraints — batch-level enum check, scans Arrow
  string columns (and list-of-string columns) for values outside the
  declared set
- enforce_unique_constraints_intra_batch — single-batch duplicate
  detection over named columns; partial enforcement (does not check
  against committed rows yet — cross-batch enforcement is a separate
  effort)

Wires the validators into:

- load_jsonl_reader nodes (alongside the existing
  validate_value_constraints call) and edges (which had no enum or
  unique check at all)
- exec/mutation.rs node insert, edge insert, and update paths
- mutation edge insert now also calls validate_edge_cardinality after
  the row lands but before the manifest commit, matching the loader's
  Phase 3 behavior

A new tests/validators.rs suite asserts rejection on every entry path
for invalid enum values, @range violations, intra-batch @unique
duplicates, and edge @card excesses.

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-28 04:51:10 +03:00
..
fixtures Merge pull request #6 from ModernRelay/claude/omnigraph-aggregates-a53rG 2026-04-13 10:26:07 +02:00
helpers Support multi-statement mutations (insert + edge in one query) 2026-04-11 20:27:51 +00:00
aggregation.rs Implement aggregate execution with wide-batch model 2026-04-12 20:59:13 +00:00
branching.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
changes.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
consistency.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
end_to_end.rs Support multi-statement mutations (insert + edge in one query) 2026-04-11 20:27:51 +00:00
export.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
failpoints.rs Make schema apply atomic across crashes (#57) 2026-04-27 16:21:00 +03:00
lance_version_columns.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
lifecycle.rs Extract public-API tests from omnigraph.rs to integration tests 2026-04-20 14:09:34 +03:00
point_in_time.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
runs.rs Delete __run__ branches on every terminal state (MR-674) 2026-04-21 14:15:39 +03:00
s3_storage.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
schema_apply.rs Extract public-API tests from omnigraph.rs to integration tests 2026-04-20 14:09:34 +03:00
search.rs Initial public Omnigraph repository 2026-04-10 20:49:41 +03:00
traversal.rs Add comprehensive tests from morphological matrix analysis 2026-04-13 15:31:08 +02:00
validators.rs Enforce schema validators on every write path (#59) 2026-04-28 04:51:10 +03:00