| 520 | |
| 521 | template <typename IndexType> |
| 522 | Status AppendScalarImpl(const typename TypeTraits<T>::ArrayType& dict, |
| 523 | const Scalar& index_scalar, int64_t n_repeats) { |
| 524 | using ScalarType = typename TypeTraits<IndexType>::ScalarType; |
| 525 | const auto index = internal::checked_cast<const ScalarType&>(index_scalar).value; |
| 526 | if (index_scalar.is_valid && dict.IsValid(index)) { |
| 527 | const auto& value = dict.GetView(index); |
| 528 | for (int64_t i = 0; i < n_repeats; i++) { |
| 529 | ARROW_RETURN_NOT_OK(Append(value)); |
| 530 | } |
| 531 | return Status::OK(); |
| 532 | } |
| 533 | return AppendNulls(n_repeats); |
| 534 | } |
| 535 | |
| 536 | Status FinishInternal(std::shared_ptr<ArrayData>* out) override { |
| 537 | std::shared_ptr<ArrayData> dictionary; |
nothing calls this directly
no test coverage detected