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
feat!: Make expression and predicate evaluator constructors fallible
This PR refactors the `new_expression_evaluator` and `new_predicate_evaluator`
methods in the `EvaluationHandler` trait to return `DeltaResult` instead of
being infallible.
This is a breaking API change that enables:
- Better error reporting at evaluator construction time rather than evaluation
- Early validation of expression/predicate compatibility with input schemas
- More idiomatic Rust error handling patterns
**Changes:**
- Updated `EvaluationHandler` trait signatures to return
`DeltaResult<Arc<dyn Evaluator>>`
- Updated `ArrowEvaluationHandler` implementation to wrap returns in `Ok(...)`
- Made `ScanLogReplayProcessor::new` fallible
- Updated `scan_action_iter` to return `DeltaResult<impl Iterator<...>>`
- Updated 12 callsites across the codebase to propagate errors with `?` operator
- Updated FFI layer to handle errors (`.unwrap()` for backward compatibility)
- All 630 existing kernel tests pass
- All 18 FFI tests pass
- Verified compilation with `cargo check --all-features`
- No functional changes - purely refactoring error handling patterns
0 commit comments