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

Method MakeColumnBuilders

cpp/src/arrow/csv/reader.cc:771–793  ·  view source on GitHub ↗

Make column builders from conversion schema

Source from the content-addressed store, hash-verified

769 protected:
770 // Make column builders from conversion schema
771 Status MakeColumnBuilders() {
772 // This is making a single copy of ConvertOptions, which is reasonable even if
773 // it holds a slightly large container, rather than a distinct copy for each
774 // ColumnBuilder.
775 auto owned_options = std::make_shared<ConvertOptions>(convert_options_);
776 for (const auto& column : conversion_schema_.columns) {
777 std::shared_ptr<ColumnBuilder> builder;
778 if (column.is_missing) {
779 ARROW_ASSIGN_OR_RAISE(builder, ColumnBuilder::MakeNull(io_context_.pool(),
780 column.type, task_group_));
781 } else if (column.type != nullptr) {
782 ARROW_ASSIGN_OR_RAISE(
783 builder, ColumnBuilder::Make(io_context_.pool(), column.type, column.index,
784 owned_options, task_group_));
785 } else {
786 ARROW_ASSIGN_OR_RAISE(
787 builder, ColumnBuilder::Make(io_context_.pool(), column.index, owned_options,
788 task_group_));
789 }
790 column_builders_.push_back(std::move(builder));
791 }
792 return Status::OK();
793 }
794
795 Status ParseAndInsert(const CSVBlock& block) {
796 ARROW_ASSIGN_OR_RAISE(auto result, Parse(block));

Callers 1

ProcessFirstBufferMethod · 0.80

Calls 6

MakeNullFunction · 0.85
push_backMethod · 0.80
ARROW_ASSIGN_OR_RAISEFunction · 0.50
MakeFunction · 0.50
OKFunction · 0.50
poolMethod · 0.45

Tested by

no test coverage detected