Skip to content

fix(cypher): support joined-row aggregate overlap - #1036

Merged
lmeyerov merged 3 commits into
fix/issue-1000-reentry-comma-fanoutfrom
fix/issue-1000-linear-aggregate-overlap
Apr 3, 2026
Merged

lmeyerov merged 3 commits into
fix/issue-1000-reentry-comma-fanoutfrom
fix/issue-1000-linear-aggregate-overlap

Conversation

@lmeyerov

@lmeyerov lmeyerov commented Apr 2, 2026 •

Copy link
Copy Markdown
Contributor

Refs #1000

Stacked on #1035.

This follow-on slice broadens the joined bindings-row lowering so connected multi-pattern MATCH clauses with aggregate stages also use that row-join path, even when the pattern remains linear and endpoint-stitchable.

What's included:

  • grouped overlap support for connected multi-pattern fanout (RETURN c.id, count(d))
  • count(DISTINCT d) parity on the same joined-row path
  • reentry + grouped aggregate overlap coverage (WITH b, b.id AS bid MATCH ... RETURN bid, count(d))
  • cuDF regression coverage for the grouped overlap lane
  • small changelog wording update to reflect the broadened joined-row scope

Why this is separate from #1035:

Current stack note:

Focused validation run locally on April 2, 2026:

  • python3.12 -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "connected_multi_pattern_grouped_aggregate_overlap or connected_multi_pattern_grouped_distinct_aggregate_overlap or with_match_reentry_connected_multi_pattern_grouped_aggregate_overlap or connected_star_comma_fanout or issue_1000_ic6_compiles_after_phase6_connected_star_fanout" -> 7 passed, 2 skipped, 640 deselected
  • python3.12 -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "connected_multi_pattern or connected_star_comma_fanout or scalar_only_prefix_with_match_reentry or multiple_post_with_where_clauses or post_with_match_collect_unwind_match or issue_1000_ic6_compiles_after_phase6_connected_star_fanout" -> 32 passed, 5 skipped, 612 deselected
  • python3.12 -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_parser.py -k "reentry or unwind" -> 11 passed, 84 deselected
  • ruff check graphistry/compute/gfql/cypher/lowering.py graphistry/tests/compute/gfql/cypher/test_lowering.py graphistry/tests/compute/gfql/cypher/test_parser.py -> passed

@lmeyerov
lmeyerov force-pushed the fix/issue-1000-linear-aggregate-overlap branch from 043e478 to cfdfe2e Compare April 3, 2026 04:26
@lmeyerov
lmeyerov marked this pull request as ready for review April 3, 2026 08:02
@lmeyerov
lmeyerov merged commit edfcb79 into fix/issue-1000-reentry-comma-fanout Apr 3, 2026
148 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