Skip to content

GFQL/Cypher: harden #989 row-carrier plan metadata#1344

Merged
lmeyerov merged 1 commit intomasterfrom
issue-989-row-carrier-ir
May 7, 2026
Merged

GFQL/Cypher: harden #989 row-carrier plan metadata#1344
lmeyerov merged 1 commit intomasterfrom
issue-989-row-carrier-ir

Conversation

@lmeyerov
Copy link
Copy Markdown
Contributor

@lmeyerov lmeyerov commented May 7, 2026

Summary

  • harden Cypher/GFQL: introduce a first-class row-carrier IR for multi-stage vectorized row semantics #989 row-carrier plan metadata by making non-source alias property dependencies explicit on ReentryPlan.aliases[*].carried_properties
  • preserve master's reentry module split by implementing the metadata wiring in graphistry/compute/gfql/cypher/reentry/compiletime.py while keeping reentry/runtime.py as a compatibility wrapper
  • add compile-contract regressions for carried-property metadata in both carried-alias and free-form reentry lanes
  • add changelog entry under [Development] Internal

Key Changes

  • graphistry/compute/gfql/cypher/lowering.py
    • _demote_secondary_whole_row_aliases() now returns secondary alias property metadata map
  • graphistry/compute/gfql/cypher/reentry/compiletime.py
    • merge demoted/scanned/bridge-carried properties into one map before ReentryPlan construction
    • populate CarriedAlias(..., carried_properties=...) for non-source aliases
    • use merged map for downstream hidden-property rewrite metadata
  • graphistry/compute/gfql/cypher/reentry_plan.py
    • doc contract updated to reflect explicit carried property tracking
  • graphistry/tests/compute/gfql/cypher/test_lowering.py
    • add compile-contract tests for non-source carried property metadata (standard + free-form)
  • CHANGELOG.md

Validation

  • python -m pytest graphistry/tests/compute/gfql/cypher/test_lowering.py -k "reentry and not cudf"
  • uv run ruff check graphistry/compute/gfql/cypher/lowering.py graphistry/compute/gfql/cypher/reentry/compiletime.py graphistry/compute/gfql/cypher/reentry/runtime.py graphistry/compute/gfql/cypher/reentry_plan.py graphistry/tests/compute/gfql/cypher/test_lowering.py
  • python bin/ci_cypher_surface_guard.py

Closes #989

@lmeyerov lmeyerov merged commit 46f937c into master May 7, 2026
137 checks passed
@lmeyerov lmeyerov deleted the issue-989-row-carrier-ir branch May 7, 2026 07:36
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.

Cypher/GFQL: introduce a first-class row-carrier IR for multi-stage vectorized row semantics

1 participant