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

Method GetChildVal

be/src/exprs/case-expr.cc:282–322  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

280}
281
282void CaseExpr::GetChildVal(int child_idx, ScalarExprEvaluator* eval,
283 const TupleRow* row, AnyVal* dst) const {
284 ScalarExpr* child = GetChild(child_idx);
285 switch (child->type().type) {
286 case TYPE_BOOLEAN:
287 *reinterpret_cast<BooleanVal*>(dst) = child->GetBooleanVal(eval, row);
288 break;
289 case TYPE_TINYINT:
290 *reinterpret_cast<TinyIntVal*>(dst) = child->GetTinyIntVal(eval, row);
291 break;
292 case TYPE_SMALLINT:
293 *reinterpret_cast<SmallIntVal*>(dst) = child->GetSmallIntVal(eval, row);
294 break;
295 case TYPE_INT:
296 *reinterpret_cast<IntVal*>(dst) = child->GetIntVal(eval, row);
297 break;
298 case TYPE_BIGINT:
299 *reinterpret_cast<BigIntVal*>(dst) = child->GetBigIntVal(eval, row);
300 break;
301 case TYPE_FLOAT:
302 *reinterpret_cast<FloatVal*>(dst) = child->GetFloatVal(eval, row);
303 break;
304 case TYPE_DOUBLE:
305 *reinterpret_cast<DoubleVal*>(dst) = child->GetDoubleVal(eval, row);
306 break;
307 case TYPE_TIMESTAMP:
308 *reinterpret_cast<TimestampVal*>(dst) = child->GetTimestampVal(eval, row);
309 break;
310 case TYPE_STRING:
311 *reinterpret_cast<StringVal*>(dst) = child->GetStringVal(eval, row);
312 break;
313 case TYPE_DECIMAL:
314 *reinterpret_cast<DecimalVal*>(dst) = child->GetDecimalVal(eval, row);
315 break;
316 case TYPE_DATE:
317 *reinterpret_cast<DateVal*>(dst) = child->GetDateVal(eval, row);
318 break;
319 default:
320 DCHECK(false) << child->type();
321 }
322}
323
324bool CaseExpr::AnyValEq(
325 const ColumnType& type, const AnyVal* v1, const AnyVal* v2) const {

Callers

nothing calls this directly

Calls 12

GetBooleanValMethod · 0.80
GetTinyIntValMethod · 0.80
GetSmallIntValMethod · 0.80
GetIntValMethod · 0.80
GetBigIntValMethod · 0.80
GetFloatValMethod · 0.80
GetDoubleValMethod · 0.80
GetTimestampValMethod · 0.80
GetStringValMethod · 0.80
GetDecimalValMethod · 0.80
GetDateValMethod · 0.80
typeMethod · 0.45

Tested by

no test coverage detected