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

Method AddKnownValues

cpp/src/arrow/dataset/scan_node.cc:236–257  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

234 std::string_view name() const override { return name_; }
235
236 compute::ExecBatch AddKnownValues(compute::ExecBatch batch) {
237 if (scan_->known_values.empty()) {
238 return batch;
239 }
240 std::vector<Datum> with_known_values;
241 int num_combined_cols =
242 static_cast<int>(batch.values.size() + scan_->known_values.size());
243 with_known_values.reserve(num_combined_cols);
244 auto known_values_itr = scan_->known_values.cbegin();
245 auto batch_itr = batch.values.begin();
246 for (int i = 0; i < num_combined_cols; i++) {
247 if (known_values_itr != scan_->known_values.end() &&
248 static_cast<int>(known_values_itr->index) == i) {
249 with_known_values.push_back(known_values_itr->value);
250 known_values_itr++;
251 } else {
252 with_known_values.push_back(std::move(*batch_itr));
253 batch_itr++;
254 }
255 }
256 return compute::ExecBatch(std::move(with_known_values), batch.length);
257 }
258
259 Status HandleBatch(const std::shared_ptr<RecordBatch>& batch) {
260 ARROW_ASSIGN_OR_RAISE(

Callers

nothing calls this directly

Calls 8

cbeginMethod · 0.80
push_backMethod · 0.80
ExecBatchFunction · 0.50
emptyMethod · 0.45
sizeMethod · 0.45
reserveMethod · 0.45
beginMethod · 0.45
endMethod · 0.45

Tested by

no test coverage detected