superserious-dev commented on code in PR #8179:
URL: https://github.com/apache/arrow-rs/pull/8179#discussion_r2292436024
##########
parquet-variant-compute/src/variant_get/output/variant.rs:
##########
@@ -44,40 +85,103 @@ impl OutputBuilder for VariantOutputBuilder<'_> {
_value_field: &BinaryViewArray,
typed_value: &ArrayRef,
) -> arrow::error::Result<ArrayRef> {
- // in this case dispatch on the typed_value and
- // TODO macro'ize this using downcast! to handle all other primitive
types
// TODO(perf): avoid builders entirely (and write the raw variant
directly as we know the metadata is the same)
- let mut array_builder = VariantArrayBuilder::new(variant_array.len());
match typed_value.data_type() {
+ DataType::Int8 => {
+ cast_partially_shredded_primitive!(
+ typed_value,
+ variant_array,
+ Int8Type,
+ DataType::Int8
+ )
+ }
Review Comment:
I wonder if it's having trouble inferring things across the macro boundary,
so it doesn't know that it can simplify the match arms. I've noticed that
macros sometimes behave strangely when it comes to formatting(and LSP
diagnostics).
--
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]