Improve `AccumulatorArgs` after transition to all udafs
- Dominant language
- Rust
- Stars
- 9.3k
- Forks
- 2.4k
- Avg merge
- 3d 7h
- Merged PRs (30d)
- 344
Description
The end state in my mind now.
```rust
pub struct AccumulatorArgs<'a> {
/// Keep, this is return type, the name might be quite confusing.
pub data_type: &'a DataType,
/// We might only need one of `schema` or `dfschema`. It is likely we keep `dfschema`, since we can get `schema` from it.
pub schema: &'a Schema,
pub dfschema: &'a DFSchema,
/// Keep
pub ignore_nulls: bool,
/// Convert to physical sort exprs instead
pub sort_exprs: &'a [Expr],
/// Keep
pub is_reversed: bool,
/// We might able to get the name from expressions
pub name: &'a str,
/// Keep
pub is_distinct: bool,
/// Get the type from schema and expressions
pub input_type: &'a DataType,
/// Convert to physical expressions
pub input_exprs: &'a [Expr],
}
```
_Originally posted by @jayzhan211 in https://github.com/apache/datafusion/issues/11666#issuecomment-2256183484_
Contributor guide
Research direction
Start by locating the AccumulatorArgs definition and the UDAF-related entry points that construct or consume it. Compare those uses with the proposed end-state fields, resolving which fields can be removed or derived. Done means the struct and its callers consistently reflect the agreed post-transition design.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- data-engineering
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100