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

Method CodegenCopyRows

be/src/exec/select-node.cc:62–80  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

60}
61
62Status SelectPlanNode::CodegenCopyRows(FragmentState* state) {
63 LlvmCodeGen* codegen = state->codegen();
64 DCHECK(codegen != nullptr);
65 llvm::Function* copy_rows_fn =
66 codegen->GetFunction(IRFunction::SELECT_NODE_COPY_ROWS, true);
67 DCHECK(copy_rows_fn != nullptr);
68
69 llvm::Function* eval_conjuncts_fn;
70 RETURN_IF_ERROR(
71 ExecNode::CodegenEvalConjuncts(codegen, conjuncts_, &eval_conjuncts_fn));
72
73 int replaced = codegen->ReplaceCallSites(copy_rows_fn, eval_conjuncts_fn,
74 "EvalConjuncts");
75 DCHECK_REPLACE_COUNT(replaced, 1);
76 copy_rows_fn = codegen->FinalizeFunction(copy_rows_fn);
77 if (copy_rows_fn == nullptr) return Status("Failed to finalize CopyRows().");
78 codegen->AddFunctionToJit(copy_rows_fn, &codegend_copy_rows_fn_);
79 return Status::OK();
80}
81
82Status SelectNode::Open(RuntimeState* state) {
83 SCOPED_TIMER(runtime_profile_->total_time_counter());

Callers

nothing calls this directly

Calls 7

OKFunction · 0.85
ReplaceCallSitesMethod · 0.80
FinalizeFunctionMethod · 0.80
StatusClass · 0.70
codegenMethod · 0.45
GetFunctionMethod · 0.45
AddFunctionToJitMethod · 0.45

Tested by

no test coverage detected