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

Method Clone

be/src/exprs/scalar-expr-evaluator.cc:186–203  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

184}
185
186Status ScalarExprEvaluator::Clone(ObjectPool* pool, RuntimeState* state,
187 MemPool* expr_perm_pool, MemPool* expr_results_pool,
188 ScalarExprEvaluator** cloned_eval) const {
189 DCHECK(initialized_);
190 DCHECK(opened_);
191 *cloned_eval = pool->Add(
192 new ScalarExprEvaluator(root_, expr_perm_pool, expr_results_pool));
193 for (int i = 0; i < fn_ctxs_.size(); ++i) {
194 (*cloned_eval)->fn_ctxs_.push_back(
195 fn_ctxs_[i]->impl()->Clone(expr_perm_pool, expr_results_pool));
196 }
197 (*cloned_eval)->fn_ctxs_ptr_ = (*cloned_eval)->fn_ctxs_.data();
198 (*cloned_eval)->is_clone_ = true;
199 (*cloned_eval)->initialized_ = true;
200 (*cloned_eval)->opened_ = true;
201 (*cloned_eval)->output_scale_ = output_scale_;
202 return root_.OpenEvaluator(FunctionContext::THREAD_LOCAL, state, *cloned_eval);
203}
204
205Status ScalarExprEvaluator::Clone(ObjectPool* pool, RuntimeState* state,
206 MemPool* expr_perm_pool, MemPool* expr_results_pool,

Callers 2

ShallowCloneMethod · 0.45
CloneFromMethod · 0.45

Calls 8

OKFunction · 0.85
push_backMethod · 0.80
implMethod · 0.80
AddMethod · 0.45
sizeMethod · 0.45
dataMethod · 0.45
OpenEvaluatorMethod · 0.45
emptyMethod · 0.45

Tested by

no test coverage detected