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

Method Finish

cpp/src/arrow/json/chunked_builder.cc:234–251  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

232 }
233
234 Status Finish(std::shared_ptr<ChunkedArray>* out) override {
235 RETURN_NOT_OK(task_group_->Finish());
236
237 std::shared_ptr<ChunkedArray> value_array;
238 RETURN_NOT_OK(value_builder_->Finish(&value_array));
239
240 auto type = list(value_field_->WithType(value_array->type())->WithMetadata(nullptr));
241 ArrayVector chunks(null_bitmap_chunks_.size());
242 for (size_t i = 0; i < null_bitmap_chunks_.size(); ++i) {
243 auto value_chunk = value_array->chunk(static_cast<int>(i));
244 auto length = offset_chunks_[i]->size() / sizeof(int32_t) - 1;
245 chunks[i] = std::make_shared<ListArray>(type, length, offset_chunks_[i],
246 value_chunk, null_bitmap_chunks_[i]);
247 }
248
249 *out = std::make_shared<ChunkedArray>(std::move(chunks), type);
250 return Status::OK();
251 }
252
253 private:
254 // call from Insert() only, with mutex_ locked

Callers 5

FinishMethod · 0.45
ReplaceTaskGroupMethod · 0.45
ReplaceTaskGroupMethod · 0.45
FinishMethod · 0.45
ReplaceTaskGroupMethod · 0.45

Calls 6

listFunction · 0.85
WithTypeMethod · 0.80
OKFunction · 0.70
WithMetadataMethod · 0.45
typeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected