Skip to content

Route optional reentry through native planning#1462

Merged
lmeyerov merged 1 commit into
masterfrom
issue-1461-optional-reentry-native
May 16, 2026
Merged

Route optional reentry through native planning#1462
lmeyerov merged 1 commit into
masterfrom
issue-1461-optional-reentry-native

Conversation

@lmeyerov
Copy link
Copy Markdown
Contributor

@lmeyerov lmeyerov commented May 15, 2026

Summary

Closes #1461.

  • route bounded optional reentry through a narrow logical/physical marker instead of the generic compat executor
  • preserve projected scalar carries when optional-reentry null-extension adds unmatched prefix rows
  • keep top-level OPTIONAL MATCH deferred for D6 deletion prep: native route for simple top-level OPTIONAL MATCH fallback #1460
  • add adversarial runtime/lowering coverage for carried rows, null-extension, matched optional reentry, and unprojected scalar non-leakage

Validation

  • python3 -m pytest -q graphistry/tests/compute/gfql/test_runtime_physical_cutover.py
  • python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "(1026 or 1047 or 1356) and not cudf"
  • python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py -k "not cudf"
  • python3 -m pytest -q graphistry/tests/compute/gfql/test_runtime_physical_cutover.py graphistry/tests/compute/gfql/cypher/test_lowering.py -k "(optional_reentry or issue_1461 or issue_1047 or issue_1356) and not cudf"
  • python3 -m pytest -q graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1461_optional_reentry_null_extension_preserves_carried_scalar graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1461_optional_reentry_null_extension_does_not_leak_unprojected_scalar graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1461_optional_reentry_mixed_carried_rows_preserve_null_extended_prefixes graphistry/tests/compute/gfql/cypher/test_lowering.py::test_issue_1461_optional_reentry_matched_single_prefix_remains_native_semantics graphistry/tests/compute/gfql/test_runtime_physical_cutover.py::test_optional_reentry_route_bypasses_compat_executor_and_null_fills
  • ./bin/ruff.sh graphistry/compute/gfql/cypher/reentry/compiletime.py graphistry/compute/gfql/cypher/reentry/execution.py graphistry/compute/gfql_unified.py graphistry/tests/compute/gfql/test_runtime_physical_cutover.py graphistry/tests/compute/gfql/cypher/test_lowering.py
  • ./bin/typecheck.sh
  • git diff --check
  • DGX RAPIDS 26.02 targeted matrix: cudf 26.02.01, cuml 26.02.00, 24 passed
  • DGX RAPIDS 25.02 targeted matrix: cudf 25.02.02, cuml 25.02.01, 24 passed with known ptxcompiler warning

Review

  • Review skill converged after 3 waves. Wave 1 found and fixed one projection-leak risk; waves 2 and 3 were clean.

@lmeyerov lmeyerov force-pushed the issue-1461-optional-reentry-native branch from 31c4f2a to 6c5b492 Compare May 15, 2026 23:23
@lmeyerov lmeyerov marked this pull request as ready for review May 15, 2026 23:32
@lmeyerov lmeyerov force-pushed the issue-1461-optional-reentry-native branch from 6c5b492 to 2e32a67 Compare May 16, 2026 00:06
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.

D7 deletion prep: native route for OPTIONAL MATCH reentry fallback

1 participant