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

Method MakeColumnBuilders

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

Make column builders from conversion schema

Source from the content-addressed store, hash-verified

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