[WIP] Fix #1413 joined-row aggregation residual#1422
Merged
Conversation
6907215 to
566e169
Compare
3985292 to
afd6ffe
Compare
afd6ffe to
1d3e477
Compare
This was referenced May 11, 2026
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.
Summary
Fixes the IC4/new-topics half of #1413 by allowing chained comparisons inside
CASE WHENconditions before joined-row aggregation validation.Issue
Partially addresses #1413 (IC4/new-topics half)
Related: #880, #992, #1259
Target Lanes
interactive-complex-4 / new-topics: covered by an exact LDBC reference-shape regression.interactive-complex-3 / cross-country-messages: reprobed after Add GFQL row join apply (#1411) #1426 / [POST-RERUN] #880 residual: joined row projection bucket #1411 landed; the collect-list plus carried-rowMATCH after WITHshape still hits the compiler's currentMATCH after WITHgate, so this PR remains the IC4 half.Changes
CASE WHEN ... THENconditions, e.g.$startDate <= post.creationDate < $endDate.CASEexpressions so unrelated CASE bodies do not fall through to whole-expression chained-comparison rewriting._rewrite_match_textinstead of tuple/list-driven group-name extraction.CHANGELOG.mdentry underDevelopment / Fixed.Local Validation
PYTHONPATH=/tmp/pygraphistry-issue-1413-deps python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k 'issue_1413_ic4_new_topics_exact_ldbc_reference_query or supports_generic_match_where_chained_comparison or multi_alias_with_three_stage_case_aggregation or multi_alias_with_distinct_count_projection'PYTHONPATH=/tmp/pygraphistry-issue-1413-deps python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k 'issue_1413 or supports_generic_match_where_chained_comparison or multi_alias_with_three_stage_case_aggregation or multi_alias_with_distinct_count_projection'7 passed, 984 deselected, 4 warningspython3 -m ruff check graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_lowering.pyAll checks passed!python3 -m py_compile graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_lowering.pypython3 bin/ci_cypher_surface_guard.pyorigin/masterat8e7d66c8 Add GFQL row join apply (#1426).7 passed, 986 deselected, 4 warnings.ruff,py_compile, andci_cypher_surface_guard.py: pass.Cypher MATCH after WITH is only supported...for theWITH person, collect(city) AS cities MATCH ...shape.MATRIX_CELLS="25.02:gfql 26.02:gfql" WITH_IMAGE_BUILD=0 WITH_GPU=1 PROFILE=gfql ./docker/test-rapids-official-matrix.sh25.02/gfql PASS,26.02/gfql PASS;347 passed, 5 warnings.25.02/gfql PASS,26.02/gfql PASS;350 passed, 5 warnings.Notes:
./bin/typecheck.sh graphistry/compute/gfql/cypher/lowering.pyis blocked by existing imported-module mypy debt ingraphistry/_version.py:57.CI
gh pr checks 1422 --watch --interval 10completed green after rebasing onto currentorigin/masterat8e7d66c8(#1426 / #1411).