Skip to content

test(rel): prove expression and relational-lowering boundaries - #379

Merged
DecisionNerd merged 1 commit into
mainfrom
test/367-rel-expression-lowering
Aug 3, 2026
Merged

DecisionNerd merged 1 commit into
mainfrom
test/367-rel-expression-lowering

Conversation

@DecisionNerd

@DecisionNerd DecisionNerd commented Aug 3, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • prove heterogeneous map and dynamic struct access across exact, null, missing, and wrong-type cases
  • freeze temporal accessor dispatch boundaries
  • prove created-row schema qualifiers, identity fields, reference omission, reserved-field rejection, and unresolved computed properties

Verification

  • CARGO_TARGET_DIR=/tmp/graphforge-target-367-expr cargo test -p graphforge-rel expr::tests:: — 82 passed
  • CARGO_TARGET_DIR=/tmp/graphforge-target-367-expr cargo test -p graphforge-rel lowerer::tests:: — 43 passed
  • CARGO_TARGET_DIR=/tmp/graphforge-target-367-expr cargo clippy -p graphforge-rel -- -D warnings
  • CARGO_TARGET_DIR=/tmp/graphforge-target-367-expr make pre-push — passed
  • coverage: core 93.82%, graphforge-rel 91.90%, patch 99.52%
  • Rust facade 463/463; Rust BDD 97/97; openCypher TCK 3897/3897
  • Python native 215 passed with 21 tracked exclusions; Node native 219/219; Node BDD 102/102

Closes #367


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

Note

Add tests for expression evaluation and relational-lowering boundaries in graphforge-rel

  • Adds tests for het_map_access_value in expr.rs covering key lookup, null values, missing keys, and non-map inputs producing an execution error.
  • Adds tests for CypherValueAccess UDF covering struct field access, missing properties, row-level nulls, and non-string key errors.
  • Adds tests for temporal_accessor_valid verifying correct true/false results across date, duration, time-of-day, datetime, and non-temporal types.
  • Adds tests for GraphPlanLowerer::created_rows_schema in lowerer.rs verifying schema output for minted vs reference nodes, reserved field collision rejection, and unbound computed property errors.

Macroscope summarized 916e456.

@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown

Warning

Review limit reached

You’ve reached a temporary PR review limit under our Fair Usage Limits Policy.

Your recent review volume is higher than typical usage, so adaptive limits are currently applied.

Next review available in: 20 seconds

Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available.
You're only billed for reviews past your plan's rate limits ($0.25/file).

How can I continue?

After more reviews become available, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews.

How do review limits work?

CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability.

For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window.

Please refer docs for additional details.

Review details
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 422157b2-647c-4430-a56f-0405c018aca1

📥 Commits

Reviewing files that changed from the base of the PR and between a6bc4a7 and 916e456.

📒 Files selected for processing (2)
  • crates/graphforge-rel/src/expr.rs
  • crates/graphforge-rel/src/lowerer.rs

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added planner Changes to query planner core Core source code changes labels Aug 3, 2026
@DecisionNerd
DecisionNerd merged commit 1f09d10 into main Aug 3, 2026
18 checks passed
@DecisionNerd
DecisionNerd deleted the test/367-rel-expression-lowering branch August 3, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

core Core source code changes planner Changes to query planner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

test(rel): prove expression and relational-lowering boundaries

1 participant