timsaucer commented on code in PR #18100:
URL: https://github.com/apache/datafusion/pull/18100#discussion_r2478702733
##########
datafusion/ffi/src/udaf/accumulator_args.rs:
##########
@@ -97,6 +97,7 @@ impl TryFrom<AccumulatorArgs<'_>> for FFI_AccumulatorArgs {
pub struct ForeignAccumulatorArgs {
pub return_field: FieldRef,
pub schema: Schema,
+ pub expr_fields: Vec<FieldRef>,
Review Comment:
Sorry, I've been slammed and didn't get to this soon. Short answer: No, this
is not breaking. Long answer: It probably should.
The way this is set up it *will* continue to work but that is because we now
have a duplicate piece of code
[here](https://github.com/apache/datafusion/blob/607325abbebceed7aa327d62409e73917941b66f/datafusion/physical-expr/src/aggregate.rs#L234)
and
[here](https://github.com/apache/datafusion/blob/607325abbebceed7aa327d62409e73917941b66f/datafusion/ffi/src/udaf/accumulator_args.rs#L136).
The FFI code is set up to try to mirror the non-ffi versions as much as
possible. As long as one of these code paths linked above doesn't change then
we should have no problem. It would probably be more robust to have those
fields passed just like the other fields between the FFI versions.
We do have a unit test that does cover round tripping these arguments, so we
are probably okay with this as is.
--
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]