Repository navigation
[POST-RERUN] #880 residual: joined row aggregation bucket #1413
Copy link
Copy link
Closed
Description
Activity
- added 8 commits that reference this issue
on May 10, 2026 Partial closeout after #1422
PR #1422 merged on 2026-05-11 UTC:
#1422Merge commit:
1520a728424fdc0c54fa507f912e3e24aa7953f7Scope landed:
- IC4 /
new-topicsnative GFQL/Cypher coverage for joined-row aggregation with searchedCASE WHEN. - Chained comparisons inside CASE conditions are lowered before aggregation validation, including the official reference shape:
$startDate <= post.creationDate < $endDate
- Added adversarial regression coverage for multiple chained CASE arms, unrelated CASE comparisons, and multiple chained CASE flags in one joined-row aggregation.
- Added
CHANGELOG.mdentry.
Validation receipt:
- Focused [POST-RERUN] #880 residual: joined row aggregation bucket #1413 local suite after rebasing onto Add GFQL row join apply (#1411) #1426 / [POST-RERUN] #880 residual: joined row projection bucket #1411:
7 passed, 986 deselected. ruff,py_compile, andbin/ci_cypher_surface_guard.py: passed.- GitHub PR checks: green.
- DGX Spark RAPIDS matrix after Add GFQL row join apply (#1411) #1426 rebase:
25.02/gfql PASS26.02/gfql PASS- pytest summary:
350 passed, 5 warnings
Remaining scope:
- IC3 /
cross-country-messagesis still not unblocked by [WIP] Fix #1413 joined-row aggregation residual #1422. - Post-Add GFQL row join apply (#1411) #1426 repro still hits the compiler
MATCH after WITHadmission gate for the collect-list + carried-row reentry shape:WITH person, collect(city) AS cities MATCH ...- error:
Cypher MATCH after WITH is only supported for alternating MATCH ...
- This appears to need a follow-up compiler slice for carried rows, collected list values, list/entity membership such as
NOT friendCity IN cities, and multiple post-reentryWITHstages.
Status:
- Reopening / keeping this issue open for the IC3 half and final residual rerun acceptance.
- IC4/new-topics should be considered pygraphistry-side implemented by [WIP] Fix #1413 joined-row aggregation residual #1422.
- IC4 /
- added a commit that references this issue
on May 11, 2026 Closeout after #1428
PR #1428 merged on 2026-05-14 UTC:
#1428Merge commit:
2f83b27da8108aab6b2d4770bf31ac0d562a4cc0Scope landed:
- IC3 /
cross-country-messagescarried-row reentry support for the joined-row aggregation bucket. - Supports the previously blocked shape:
WITH person, collect(city) AS cities MATCH ...NOT friendCity IN cities- multiple post-reentry
WITHstages before grouped aggregation.
- Preserves whole-row/entity carries and collected list values across MATCH reentry.
- Adds adversarial regression coverage for negative membership, positive same-city membership, collect-distinct membership, and whole-row collected entity rendering.
- Hardens the optional aggregate boundary assertion to structured
GFQLValidationErrorchecks.
Validation receipt:
- Focused local [POST-RERUN] #880 residual: joined row aggregation bucket #1413 / optional-boundary slice:
11 passed, 988 deselected. - Additional focused review slice:
6 passed. ruffandpy_compile: passed.- GitHub PR checks: green after rerunning one canceled infra-only
test-readmejob. - DGX Spark RAPIDS targeted matrix:
25.02/gfql PASS(5 passed)26.02/gfql PASS(5 passed)
Status:
- [POST-RERUN] #880 residual: joined row aggregation bucket #1413 is pygraphistry-side complete and closed by Fix #1413 IC3 carried-row reentry #1428.
- Remaining umbrella work is tracked outside this issue: fresh residual rerun / adapter closeout under [FEA] GFQL bindings_table (row bindings) from chain using Yannakakis prune #880, Meta: benchmark coverage unlock plan for GFQL and GFQL/Cypher #992, and Meta: GFQL compiler/planner post-M4 execution DAG (active wave) #1259 before the deletion wave gate is fully cleared.
- IC3 /
- added a commit that references this issue
on May 14, 2026 - added 7 commits that reference this issue
on Jul 9, 2026 - added a commit that references this issue
on Jul 16, 2026
Summary
Post-rerun residual split from #880: joined-row aggregation bucket was workaround-backed
partial.Final status
$startDate <= post.creationDate < $endDate.personrow +collect(city) AS citiesthroughMATCHreentry,NOT friendCity IN cities, multiple post-reentryWITHstages, and grouped aggregation.Repro Receipt
results/runs/local-snb-interactive-closeout-2026-05-09gfql, status=partial, issue_ref=graphistry/pygraphistry#880joined_row_aggregationAffected upstream lanes
Scope
Done when
gfql partialwith#880issue_ref.okor a narrowed non-[FEA] GFQL bindings_table (row bindings) from chain using Yannakakis prune #880 residual.Related