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

Method AppendScalarImpl

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

Source from the content-addressed store, hash-verified

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;

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