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

Function MakeArrayFromScalar

r/src/scalar.cpp:61–73  ·  view source on GitHub ↗

[[arrow::export]]

Source from the content-addressed store, hash-verified

59
60// [[arrow::export]]
61std::shared_ptr<arrow::Array> MakeArrayFromScalar(
62 const std::shared_ptr<arrow::Scalar>& scalar, int n) {
63 if (scalar->type->id() == arrow::Type::EXTENSION) {
64 auto extension_scalar = std::dynamic_pointer_cast<arrow::ExtensionScalar>(scalar);
65 auto type = std::dynamic_pointer_cast<arrow::ExtensionType>(scalar->type);
66 auto storage_type = type->storage_type();
67 auto storage = ValueOrStop(
68 arrow::MakeArrayFromScalar(*extension_scalar->value, n, gc_memory_pool()));
69 return type->WrapArray(type, storage);
70 } else {
71 return ValueOrStop(arrow::MakeArrayFromScalar(*scalar, n, gc_memory_pool()));
72 }
73}
74
75// [[arrow::export]]
76bool Scalar__is_valid(const std::shared_ptr<arrow::Scalar>& s) { return s->is_valid; }

Callers 2

CallRScalarUDFFunction · 0.70

Calls 5

ValueOrStopFunction · 0.85
gc_memory_poolFunction · 0.85
storage_typeMethod · 0.80
WrapArrayMethod · 0.80
idMethod · 0.45

Tested by

no test coverage detected