You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Cypher/GFQL WHERE cannot mix generic row predicates with pattern predicates #1031
Status update (2026-04-29):\n\n- Slice 2 phase 2b implementation PR is up: #1238.\n- CI red triage complete: tck-gfql drift on expr-pattern1-19; pairing patch pushed in tck-gfql (fb57977).\n- Failed checks rerun on #1238 (run 25098679675) is in-flight on tck-gfql.\n- Review flow completed on #1238: 0 BLOCKER, 0 IMPORTANT, 1 non-blocking test suggestion.\n\nOnce the rerun turns green, this is ready to merge; follow-ups remain #1237 (2c) and #1236 (slice 4).
Final status update (2026-05-01):\n\nAll tracked slices under this meta are now landed.\n\nCompleted\n- #1235 (slice 2 phase 2b) via PR #1238 (merged, commit )\n- #1237 (slice 2 phase 2c) via PR #1243 (merged, commit )\n- #1236 (slice 4 OR/XOR-around-pattern lowering) via PR #1244 (merged, commit )\n\nValidation summary for #1244 lane included green CI and DGX RAPIDS targeted checks ( with , and ).\n\nClosing this meta issue.
Activity
lmeyerov commentedon Apr 6, 2026
Confirmed still reproducible on pin cd707f0 (0.54.0, 2026-04-06, sf1):
pyg-benchdgx-spark-ic10-rebaseline-2026-04-06primitive_gap, latency 153ms (fast fail at validation)[unsupported-cypher-query] Cypher WHERE pattern predicates cannot yet be mixed with generic row expressionspartial, 1272msThe ic10 probe is now in the runner with proper issue_ref tracking. The #880 GFQL workaround is the current floor for IC10.
docs(changelog): add #1031/#1217 Earley parser swap + comparison stri…
fix(parser): prefer with_where_clause over query_item where_clause un…
refactor+test: wave-2 trim narrative comments + parametrize string-cm…
refactor(gfql/cypher): switch to Earley parser; retire LALR pattern-s…
lmeyerov commentedon Apr 28, 2026
Slice 1 of N landed via #1217 (merged commit
b22ad744, sibling tck-gfql graphistry/tck-gfql#28).What slice 1 delivered
where_clausegrammar alternatives,_canonicalize_where_single_pattern_and_expr,_mixed_where_pattern_expr_error, and theparse_cypherexcept LarkErrorretry block.pattern_atomtransformer +BooleanExpr.op="pattern"+_split_top_level_and_pattern_leaves/_rebuild_and_tree/_build_where_with_pattern_liftto lift pattern leaves fromexpr_treeintoWhereClause.predicatesasWherePatternPredicateentries.with_where_clause.2Lark priority to resolve Earley ambiguity that re-routedWITH … WHEREinto MATCH-clause WHERE._StringAllowingComparisonMixin) on NE/GT/LT/GE/LE so mixed label+property+string-comparison shapes work end-to-end.What's still in scope under this issue
Slices 2/3/4 emit explicit
unsupportedE108 errors at the lift step today — they're surfaced but not implemented:WHERE NOT (n)-[:R]->()(anti-semi-join lowering — original LDBC SNB unblock).WHERE (n)-[:R*]->() AND (n)-[:T*]->()(multi-positive-pattern composition).WHERE (n)-[:R]->() OR n.x = 1andWHERE (n)-[:R]->() XOR n.x = 1(OR/XOR-around-pattern; needs a row-level pattern-existence column).Issue stays open to track those remaining slices.
feat(gfql/cypher): multi-positive WHERE pattern predicates (#1031 sli…
feat(gfql/cypher): NOT-pattern AST plumbing (#1031 slice 2 phase 2a) (#…
lmeyerov commentedon Apr 29, 2026
Status update (2026-04-29):
Shipped
Opened remaining sub-issues for explicit tracking
Planning docs
Execution now is focused on #1235 first (critical path).
lmeyerov commentedon Apr 29, 2026
Update: slice 2 phase 2b implementation is now in PR #1238.
Sub-issue status:
lmeyerov commentedon Apr 29, 2026
Status update (2026-04-29):\n\n- Slice 2 phase 2b implementation PR is up: #1238.\n- CI red triage complete:
tck-gfqldrift onexpr-pattern1-19; pairing patch pushed intck-gfql(fb57977).\n- Failed checks rerun on #1238 (run 25098679675) is in-flight ontck-gfql.\n- Review flow completed on #1238: 0 BLOCKER, 0 IMPORTANT, 1 non-blocking test suggestion.\n\nOnce the rerun turns green, this is ready to merge; follow-ups remain #1237 (2c) and #1236 (slice 4).feat(gfql/cypher): execute WHERE NOT (pattern) via anti-semi row filt…
lmeyerov commentedon Apr 30, 2026
Status update (2026-04-29 PT):
Meta remains open until #1237 and #1236 are complete.
lmeyerov commentedon Apr 30, 2026
Meta-status update:
Recent merge commits:
bd420d6b1add756894bae80c242ac139704166cc6891d39e4f9e26040d7028bbe85639acb1c6eabeRemaining tracked work for #1031 is slice 4 / OR-XOR-around-pattern lane (#1236).
lmeyerov commentedon May 1, 2026
Final status update (2026-05-01):\n\nAll tracked slices under this meta are now landed.\n\nCompleted\n- #1235 (slice 2 phase 2b) via PR #1238 (merged, commit )\n- #1237 (slice 2 phase 2c) via PR #1243 (merged, commit )\n- #1236 (slice 4 OR/XOR-around-pattern lowering) via PR #1244 (merged, commit )\n\nValidation summary for #1244 lane included green CI and DGX RAPIDS targeted checks ( with , and ).\n\nClosing this meta issue.
lmeyerov commentedon May 1, 2026
Correction to previous comment (shell formatting issue):
Final status update (2026-05-01):
All tracked slices under this meta are now landed.
Completed
Validation summary for #1244 lane included green CI and DGX RAPIDS targeted checks (25.02 with NUMBA_CUDA_USE_NVIDIA_BINDING=1, and 26.02).
Meta issue remains correctly closed.
lmeyerov commentedon May 4, 2026
Follow-up note for historical parent context: #1219 residual hardening slice is now merged via PR #1281.
8687aeaf91235259fa6f5fe0d9b16884ad6cd73b(2026-05-04)Scope was pushdown null-safety classifier hardening for quoted-literal false-safe cases. Remaining row-boolean residual tracking continues under #1219.
lmeyerov commentedon May 4, 2026
Traceability note: #1219 follow-up PR #1282 is now merged.
a27df98f7aff78d69a5fe3ee3a36c792ff6d496a(2026-05-04)Scope was cross-alias OR topology stress amplification (cartesian + broader fanout locks) as part of the row-boolean residual tail under #1219.