jorgecarleitao commented on pull request #8032: URL: https://github.com/apache/arrow/pull/8032#issuecomment-683377384
And finally, this is how we would add the `array` function, that receives an arbitrary but uniformly-typed number of arguments: https://github.com/jorgecarleitao/arrow/pull/3/files To summarize: * math functions: * accept 1 argument of a fixed type (f32 or f64) * return a fixed type (f64) * `concat`: * accepts an arbitrary number of arguments of fixed type (utf8 atm, but large is trivial to add) * returns a fixed type (utf8) * `array`: * accepts an arbitrary number of arguments of variable but uniform types (i.e. all arguments must be of equal type) * returns `FixedSizeList(input_types[0], input.len())` The API that I am proposing here addresses all these cases out of the box. The 3 PRs in my repo, * all math accepts f32: https://github.com/jorgecarleitao/arrow/pull/1/files * `concatenate` for utf8: https://github.com/jorgecarleitao/arrow/pull/2/files * `array` for utf8: https://github.com/jorgecarleitao/arrow/pull/3/files add support to each of them at the physical and logical level. This PR also includes all the required coercion rules for this to work. E.g. `array(f32, i32, u32)` would be coerced to `array(f32, f32, f32)` (first argument dominates). ---------------------------------------------------------------- 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. For queries about this service, please contact Infrastructure at: us...@infra.apache.org