Commit 5595051
feat(cypher): scope free-form intermediate MATCH failfast to #1263
Replace the generic "trailing MATCH must start from the same carried node
alias" error in `_compile_bounded_reentry_query` with a #1263-scoped error
that names the LDBC SNB IC3 endpoint and identifies the gap shape. Users
hitting this gate can now distinguish the free-form intermediate-MATCH lane
from the other open IC3 sub-cases (chained reentry, aggregate downstream,
etc).
Tests:
- Add `test_string_cypher_failfast_rejects_simple_freeform_intermediate_reentry_match`
— minimal single-alias-prefix shape that isolates the free-form gate
(Site A from `plans/1263-freeform-intermediate-match/repro/findings.md`)
without the slice 4.3a/b bare-ref interaction (Site B).
- Retarget `test_string_cypher_failfast_rejects_intermediate_reentry_match_with_no_carried_source`
from the #1256-era wording to the new #1263 wording. The IC3-shaped query
still hits the slice 4.3a/b admit gate first (because
`_demote_secondary_whole_row_aliases` early-bails when the trailing MATCH
isn't carried), so the matcher accepts either failfast site.
Closure of the gap (admitting the trailing MATCH as a fresh seed pattern
that cross-joins with the carried row table at runtime, plus extending
`ReentryPlan` with a per-stage mode marker) remains follow-up under #1263.
Design at `plans/1263-freeform-intermediate-match/design/freeform-admit-design.md`.
Refs #1263, #999 (IC3 partial), #989 (row-carrier IR umbrella).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>1 parent 935c709 commit 5595051
3 files changed
Lines changed: 46 additions & 6 deletions
File tree
- graphistry
- compute/gfql/cypher
- tests/compute/gfql/cypher
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
30 | 30 | | |
31 | 31 | | |
32 | 32 | | |
| 33 | + | |
33 | 34 | | |
34 | 35 | | |
35 | 36 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8492 | 8492 | | |
8493 | 8493 | | |
8494 | 8494 | | |
| 8495 | + | |
| 8496 | + | |
| 8497 | + | |
| 8498 | + | |
| 8499 | + | |
| 8500 | + | |
| 8501 | + | |
8495 | 8502 | | |
8496 | | - | |
| 8503 | + | |
| 8504 | + | |
| 8505 | + | |
| 8506 | + | |
8497 | 8507 | | |
8498 | 8508 | | |
8499 | 8509 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
8152 | 8152 | | |
8153 | 8153 | | |
8154 | 8154 | | |
8155 | | - | |
8156 | | - | |
| 8155 | + | |
| 8156 | + | |
| 8157 | + | |
8157 | 8158 | | |
8158 | 8159 | | |
8159 | 8160 | | |
8160 | 8161 | | |
8161 | 8162 | | |
8162 | | - | |
8163 | | - | |
| 8163 | + | |
| 8164 | + | |
| 8165 | + | |
| 8166 | + | |
| 8167 | + | |
| 8168 | + | |
| 8169 | + | |
| 8170 | + | |
8164 | 8171 | | |
8165 | 8172 | | |
8166 | 8173 | | |
| |||
8171 | 8178 | | |
8172 | 8179 | | |
8173 | 8180 | | |
8174 | | - | |
| 8181 | + | |
| 8182 | + | |
| 8183 | + | |
| 8184 | + | |
| 8185 | + | |
| 8186 | + | |
| 8187 | + | |
| 8188 | + | |
| 8189 | + | |
| 8190 | + | |
| 8191 | + | |
| 8192 | + | |
| 8193 | + | |
| 8194 | + | |
| 8195 | + | |
| 8196 | + | |
| 8197 | + | |
| 8198 | + | |
| 8199 | + | |
| 8200 | + | |
| 8201 | + | |
| 8202 | + | |
| 8203 | + | |
8175 | 8204 | | |
8176 | 8205 | | |
8177 | 8206 | | |
| |||
0 commit comments