Skip to content

fix(cypher): scan all unlabeled query candidates - #1323

Draft
Enferlain wants to merge 1 commit into
DeusData:mainfrom
Enferlain:fix/1196-unlabeled-candidate-limit
Draft

fix(cypher): scan all unlabeled query candidates#1323
Enferlain wants to merge 1 commit into
DeusData:mainfrom
Enferlain:fix/1196-unlabeled-candidate-limit

Conversation

@Enferlain

Copy link
Copy Markdown

What does this PR do?

Fixes #1196.

Unlabeled Cypher queries previously capped candidate enumeration at the requested result limit before applying WHERE. A valid match beyond that early candidate window could therefore disappear.

This change scans the complete relevant candidate set through the store visitor, applies filtering, and only then enforces the final query limit. It includes a reproduce-first regression test with the matching row beyond the result-limit boundary.

Verification

  • make -f Makefile.cbm test-focused TEST_SUITES='cypher extraction registry pipeline mcp index_resilience'
  • Result: 884 passed, 2 skipped

Checklist

  • Every commit is signed off (git commit -s) and follows the Contributor License Agreement
  • Full test suite passes locally (make -f Makefile.cbm test) — focused sanitized suites passed
  • Lint passes (make -f Makefile.cbm lint-ci) — not run locally
  • New behavior is covered by a regression test that would fail without this fix

Signed-off-by: imi <hoshinoimi@gmail.com>
@Enferlain

Copy link
Copy Markdown
Author

These are just how I fixed them in my local build until solved on upstream, and since it worked in tests and were built according to the contributing guidelines, gpt said they could be sent as prs.

They can be used as reference/alternative fixes if it can't be merged to hopefully speed up the process. Applies to the subsequent 3 other prs as well.

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.

query_graph: patterns with no label on the source node silently return empty — same DB and binary previously returned correct rows (v0.9.0)

1 participant