peterxcli opened a new pull request, #25178: URL: https://github.com/apache/datafusion/pull/25178
## Which issue does this PR close? Closes #24618. ## Rationale for this change This change makes the compiler catch fields that serialization does not handle. When a field is added to a dynamic filter, scalar subquery expression, or its protobuf payload, the corresponding hook must account for it. This helps prevent new fields from being silently dropped when expressions are encoded and decoded. ## What changes are included in this PR? All four encoding and decoding hooks for `DynamicFilterPhysicalExpr` and `ScalarSubqueryExpr` explicitly list every field without a rest pattern. Dynamic filter encoding also destructures the snapshot of its shared inner state, and decoding handles the expression ID carried by the enclosing message. Comments explain why caches, watch channels, cached type and nullability checks, and subquery results are omitted, including how they are rebuilt or supplied. The PR also replaces one use of unstable `std::assert_matches` in an existing execution test with `assert!(…is_ok())`, allowing the required checks to run on the pinned stable compiler. ## What is the testing strategy for this PR? Existing tests cover filter identity, shared updates, remapped children, subquery metadata, nested result scopes, and execution after serialization. The physical expression suite passed 1,739 tests with 2 ignored, and all 13 relevant protobuf integration tests passed. The full extended workspace run passed 11,591 Rust tests, with 8 ignored, and completed all 516 SQLLogicTest files. Formatting, Clippy with all targets and features and warnings denied, and the complete `./dev/rust_lint.sh` suite also passed. ## Are there any user-facing changes? No. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
