MCPcopy Create free account
hub / github.com/apache/impala / CopyRows

Method CopyRows

be/src/exec/select-node-ir.cc:25–43  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

23using namespace impala;
24
25void SelectNode::CopyRows(RowBatch* output_batch) {
26 ScalarExprEvaluator* const* conjunct_evals = conjunct_evals_.data();
27 int num_conjuncts = conjuncts_.size();
28 DCHECK_EQ(num_conjuncts, conjunct_evals_.size());
29
30 FOREACH_ROW(child_row_batch_.get(), child_row_idx_, batch_iter) {
31 // Add a new row to output_batch
32 int dst_row_idx = output_batch->AddRow();
33 TupleRow* dst_row = output_batch->GetRow(dst_row_idx);
34 TupleRow* src_row = batch_iter.Get();
35 ++child_row_idx_;
36 if (EvalConjuncts(conjunct_evals, num_conjuncts, src_row)) {
37 output_batch->CopyRow(src_row, dst_row);
38 output_batch->CommitLastRow();
39 IncrementNumRowsReturned(1);
40 if (ReachedLimit() || output_batch->AtCapacity()) return;
41 }
42 }
43}

Callers 4

ProcessProbeBatchMethod · 0.45
GetNextMethod · 0.45
GetNextMethod · 0.45
GetNextMergingMethod · 0.45

Calls 10

FOREACH_ROWFunction · 0.85
CopyRowMethod · 0.80
CommitLastRowMethod · 0.80
getMethod · 0.65
dataMethod · 0.45
sizeMethod · 0.45
AddRowMethod · 0.45
GetRowMethod · 0.45
GetMethod · 0.45
AtCapacityMethod · 0.45

Tested by

no test coverage detected