Hi, I'm using Acero as the stream executor to run large scale data transformation. The core data used in UDF is `ArraySpan` in `ExecSpan`, but not much document on ArraySpan. I'd like to known what's the *three* `buffers` are in ArraySpan. What are `1` means when `GetValues` called? For input data, I can use a `ArraySpanVisitor` to iterator over different input types. But for output data, I don't know how to write to the`array_span_mutable()` if it is not a simple c_type. For example, I'm implementing a sha256 udf, which input is `arrow::utf8()` and the output is `arrow::fixed_size_binary(32)`, then how can I directly write to the out buffers and what is the actual type should I get from `GetValues`? Maybe, `auto *out_values = out->array_span_mutable()->GetValues(uint8_t *>(1);` and `memcpy(*out_values++, some_ptr, 32);`?
-- --------------------- Best Regards, Wenbo Hu,