Skip to content

fix(cypher): support post-WITH MATCH UNWIND - #1029

Merged
lmeyerov merged 3 commits into
fix/issue-1000-reentry-match-where-withfrom
fix/issue-1000-post-with-match-unwind
Apr 3, 2026
Merged

lmeyerov merged 3 commits into
fix/issue-1000-reentry-match-where-withfrom
fix/issue-1000-post-with-match-unwind

Conversation

@lmeyerov

@lmeyerov lmeyerov commented Apr 2, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • implement the narrow Phase 3 #1000 slice for post-reentry WITH collect([distinct] alias) AS list UNWIND list AS alias MATCH ... RETURN
  • relax bounded reentry stage accounting so a final WITH ... RETURN after the last reentry MATCH is accepted
  • amplify parser/lowering coverage around the new reentry-unwind boundary cases and keep unsupported remainder explicit

Scope

This is Phase 3 of #1000, stacked on top of Phase 2 PR #1028.

What this branch now does:

  • supports reentry collect -> UNWIND -> MATCH execution in the bounded reentry lane
  • supports carried scalars through that reentry collect/unwind rewrite
  • supports a final WITH before RETURN after the last reentry MATCH
  • hardens hidden carried-column rewriting so already-hidden reentry scalar references normalize onto the current carried alias
  • keeps non-collect post-reentry UNWIND ... MATCH, multi-UNWIND reentry shapes, MATCH immediately after reentry UNWIND, and final mixed-source WITH d, bid shapes as explicit boundary tests

Current status

  • still draft
  • implementation for the narrow Phase 3 subset is pushed
  • focused parser/runtime amplification is green locally
  • the exact official IC6 query now advances past the old UNWIND after post-WITH MATCH blocker and stops at the next one: Cypher only supports one WHERE clause after post-WITH MATCH in the current GFQL Cypher compiler

Links

@lmeyerov
lmeyerov force-pushed the fix/issue-1000-reentry-match-where-with branch from a3053e5 to 024a2bc Compare April 3, 2026 03:18
@lmeyerov
lmeyerov force-pushed the fix/issue-1000-post-with-match-unwind branch from 822d8fd to 5900ecc Compare April 3, 2026 03:18
@lmeyerov
lmeyerov marked this pull request as ready for review April 3, 2026 08:02
@lmeyerov
lmeyerov merged commit a3505d3 into fix/issue-1000-reentry-match-where-with Apr 3, 2026
146 of 177 checks passed
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.

1 participant