Repository navigation
Conversation
This was referenced Apr 2, 2026
lmeyerov
force-pushed
the
fix/issue-1000-post-with-match-unwind
branch
from
April 3, 2026 03:18
822d8fd to
5900ecc
Compare
lmeyerov
force-pushed
the
fix/issue-1000-multi-reentry-where
branch
from
April 3, 2026 03:18
817b253 to
36e1906
Compare
lmeyerov
marked this pull request as ready for review
April 3, 2026 08:02
lmeyerov
merged commit Apr 3, 2026
0ed5a89
into
fix/issue-1000-post-with-match-unwind
145 of 171 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #1000
Stacked on #1029.
This Phase 4 slice replaces the single global post-reentry
WHEREmodel with aligned per-stagereentry_wheres, so alternating shapes likeMATCH ... WITH ... MATCH ... WHERE ... WITH ... MATCH ... WHERE ... WITH ... RETURNcompile and execute correctly.What landed
WHEREper post-WITH MATCHstageWHEREclauses stage-by-stageWHEREplacement, empty-result behavior, and second-stage fail-fast boundariesCHANGELOG.mdnoteLocal validation
python3.12 -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_parser.py -k "reentry or unwind"->11 passed, 84 deselectedpython3.12 -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "cartesian_dynamic_pattern_property or multi_stage_with_match_reentry_with_intermediate_where or multiple_post_with_where_clauses or post_with_match_collect_unwind_match or issue_1000_ic6_after_phase4_now_stops_at_prefix_scalar_with_reentry_requirement"->19 passed, 1 skipped, 613 deselectedruff check graphistry/compute/gfql/cypher/ast.py graphistry/compute/gfql/cypher/parser.py graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_parser.py graphistry/tests/compute/gfql/cypher/test_lowering.py-> passedExact IC6 progression
Cypher only supports one WHERE clause after post-WITH MATCHCypher MATCH after WITH currently requires the prefix WITH stage to project exactly one whole-row aliasSo this PR is a real GREEN slice, but it is not final
#1000closeout. The next stacked slice should tackle scalar-only prefixWITH ... MATCH ...continuation before the comma-pattern fanout lane.