33756 {
33757 UnifiedVectorFormat format;
33758 input.ToUnifiedFormat(input_size, format);
33759 idx_t
size = to - from;
33760 append_data.AppendValidity(format, from, to);
33761 vector<sel_t> child_indices;
33762 ArrowListData<BUFTYPE>::AppendOffsets(append_data, format, from, to, child_indices);
33763
33764 SelectionVector child_sel(child_indices.data());
33765 auto &key_vector = MapVector::GetKeys(input);
33766 auto &value_vector = MapVector::GetValues(input);
33767 auto list_size = child_indices.size();
33768
33769 auto &struct_data = *append_data.child_data[0];
33770 auto &key_data = *struct_data.child_data[0];
33771 auto &value_data = *struct_data.child_data[1];
33772
33773 Vector key_vector_copy(key_vector.GetType());
33774 key_vector_copy.Slice(key_vector, child_sel, list_size);
33775 Vector value_vector_copy(value_vector.GetType());
33776 value_vector_copy.Slice(value_vector, child_sel, list_size);
33777 key_data.append_vector(key_data, key_vector_copy, 0, list_size, list_size);
33778 value_data.append_vector(value_data, value_vector_copy, 0, list_size, list_size);
33779
33780 append_data.row_count +=
size;
33781 struct_data.row_count +=
size;
33782 }
GOpaque< Size > size(const GMat &src)