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

Method NullIfZero

be/src/exprs/conditional-functions-ir.cc:28–45  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

26 }
27
28DecimalVal ConditionalFunctions::NullIfZero(FunctionContext* ctx, const DecimalVal& val) {
29 if (val.is_null) return DecimalVal::null();
30 int type_byte_size = ctx->impl()->GetConstFnAttr(FunctionContextImpl::RETURN_TYPE_SIZE);
31 switch (type_byte_size) {
32 case 4:
33 if (val.val4 == 0) return DecimalVal::null();
34 break;
35 case 8:
36 if (val.val8 == 0) return DecimalVal::null();
37 break;
38 case 16:
39 if (val.val16 == 0) return DecimalVal::null();
40 break;
41 default:
42 DCHECK(false);
43 }
44 return val;
45}
46
47NULL_IF_ZERO_COMPUTE_FUNCTION(TinyIntVal);
48NULL_IF_ZERO_COMPUTE_FUNCTION(SmallIntVal);

Callers

nothing calls this directly

Calls 2

GetConstFnAttrMethod · 0.80
implMethod · 0.80

Tested by

no test coverage detected