| 1396 | EvalCtx& context, |
| 1397 | VectorPtr& result) { evalAllImpl(rows, context, result); }); |
| 1398 | } else { |
| 1399 | evalAllImpl(rows, context, result); |
| 1400 | } |
| 1401 | } |
| 1402 | |
| 1403 | bool Expr::throwArgumentErrors(const EvalCtx& context) const { |
| 1404 | bool defaultNulls = vectorFunction_->isDefaultNullBehavior(); |
| 1405 | return context.throwOnError() && |
| 1406 | (!defaultNulls || |
| 1407 | (supportsFlatNoNullsFastPath() && context.inputFlatNoNulls())); |
| 1408 | } |
| 1409 | |
| 1410 | void Expr::evalAllImpl( |
| 1411 | const SelectivityVector& rows, |
| 1412 | EvalCtx& context, |
| 1413 | VectorPtr& result) { |
| 1414 | BOLT_DCHECK(rows.hasSelections()); |
| 1415 | |
| 1416 | #ifdef ENABLE_BOLT_EXPR_JIT |
| 1417 | auto* remainingRows = &rows; |
| 1418 | |
| 1419 | if (hasJITed()) { |
| 1420 | // TODO: |
| 1421 | // 1. evaluate non-compilable sub exprs. |
nothing calls this directly
no test coverage detected