MCPcopy Create free account
hub / github.com/apache/arrow / AppendScalarImpl

Method AppendScalarImpl

cpp/src/arrow/array/builder_dict.h:514–526  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

512
513 template <typename IndexType>
514 Status AppendScalarImpl(const typename TypeTraits<T>::ArrayType& dict,
515 const Scalar& index_scalar, int64_t n_repeats) {
516 using ScalarType = typename TypeTraits<IndexType>::ScalarType;
517 const auto index = internal::checked_cast<const ScalarType&>(index_scalar).value;
518 if (index_scalar.is_valid && dict.IsValid(index)) {
519 const auto& value = dict.GetView(index);
520 for (int64_t i = 0; i < n_repeats; i++) {
521 ARROW_RETURN_NOT_OK(Append(value));
522 }
523 return Status::OK();
524 }
525 return AppendNulls(n_repeats);
526 }
527
528 Status FinishInternal(std::shared_ptr<ArrayData>* out) override {
529 std::shared_ptr<ArrayData> dictionary;

Callers

nothing calls this directly

Calls 5

AppendFunction · 0.70
AppendNullsFunction · 0.70
OKFunction · 0.50
IsValidMethod · 0.45
GetViewMethod · 0.45

Tested by

no test coverage detected