Skip to content

feat(gq): add list membership with scan pushdown - #803

Merged
azimafroozeh merged 2 commits into
ModernRelay:mainfrom
azimafroozeh:issue-801-set-membership-predicate
Sep 29, 2026
Merged

azimafroozeh merged 2 commits into
ModernRelay:mainfrom
azimafroozeh:issue-801-set-membership-predicate

Conversation

@azimafroozeh

Copy link
Copy Markdown
Collaborator

What & why

GQ rejects $m.number in $numbers. Add in for read filters, projections and mutation predicates, with scan pushdown for literal/parameter lists and bounded row estimates for membership on key or unique properties.

Handle empty lists, null elements, Date constants and mixed numeric literals. Allow quoted traversal names such as $a "in" $b so reserving in does not make the edge inaccessible. Add row and plan coverage for traversal access paths, nearest ranking, and indexed data across writes, deletion and restart.

Backing issue / RFC

Closes #801.

Checklist

  • Change is focused on list membership and its execution paths.
  • Tests added/updated for behavior changes.
  • Public query/mutation docs and skill references updated.
  • Reviewed against docs/dev/invariants.md.

Local verification

  • cargo test -p omnigraph-gqt --locked --test gq_logic_tests: 220 passed.
  • cargo test -p omnigraph-gqt --locked --lib --test runner_dispatch: 183 library tests and 12 dispatch tests passed.
  • cargo test -p omnigraph-engine --locked --test lance_surface_guards scalar_index_use_requires_matched_literal_type: passed, including four-value membership index checks.
  • cargo test --workspace --exclude omnigraph-gqt --exclude omnigraph-dst --locked --features omnigraph-engine/failpoints,omnigraph-cluster/failpoints --no-fail-fast: 120 test binaries passed; four known sandbox failures remain (three CLI managed::data tests and external_blob_file_policy_rejects_special_files).
  • cargo fmt --all --check and cargo clippy --workspace --all-targets --locked -- -D warnings -W clippy::dbg_macro: passed.
  • python3 scripts/check-docs.py and bash scripts/check-agents-md.sh: passed.

Notes for reviewers

Pushed numeric membership follows existing = coercion. This also changes constant-list contains from its previous in-memory behavior; the existing numeric precision difference between scan filters and projections remains outside this change.

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

@azimafroozeh
azimafroozeh added this pull request to the merge queue Sep 29, 2026
Merged via the queue into ModernRelay:main with commit baf10c9 Sep 29, 2026
30 checks passed
@azimafroozeh
azimafroozeh deleted the issue-801-set-membership-predicate branch September 29, 2026 19:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

GQ: set membership predicate ($m.number in $matters with a [String] parameter)

1 participant