| 305 | : context_(std::move(context)) {} |
| 306 | |
| 307 | Result<DecodedBlock> operator()(const ChunkedBlock& block) const { |
| 308 | int64_t num_bytes; |
| 309 | ARROW_ASSIGN_OR_RAISE(auto unconverted, ParseBlock(block, context_->parse_options(), |
| 310 | context_->pool(), &num_bytes)); |
| 311 | |
| 312 | std::shared_ptr<ChunkedArrayBuilder> builder; |
| 313 | RETURN_NOT_OK(MakeChunkedArrayBuilder(TaskGroup::MakeSerial(), context_->pool(), |
| 314 | context_->promotion_graph(), |
| 315 | context_->conversion_type(), &builder)); |
| 316 | builder->Insert(0, field("", unconverted->type()), unconverted); |
| 317 | |
| 318 | std::shared_ptr<ChunkedArray> chunked; |
| 319 | RETURN_NOT_OK(builder->Finish(&chunked)); |
| 320 | ARROW_ASSIGN_OR_RAISE( |
| 321 | auto batch, RecordBatch::FromStructArray(chunked->chunk(0), context_->pool())); |
| 322 | |
| 323 | return DecodedBlock{std::move(batch), num_bytes}; |
| 324 | } |
| 325 | |
| 326 | private: |
| 327 | std::shared_ptr<const DecodeContext> context_; |
nothing calls this directly
no test coverage detected