fix(query): fix avg used in group by NULL value calculated as nan
TD-15892
This commit is contained in:
parent
56c86a2acc
commit
d11303916b
|
@ -834,12 +834,14 @@ int32_t avgFinalize(SqlFunctionCtx* pCtx, SSDataBlock* pBlock) {
|
||||||
if (IS_INTEGER_TYPE(type)) {
|
if (IS_INTEGER_TYPE(type)) {
|
||||||
pAvgRes->result = pAvgRes->sum.isum / ((double)pAvgRes->count);
|
pAvgRes->result = pAvgRes->sum.isum / ((double)pAvgRes->count);
|
||||||
} else {
|
} else {
|
||||||
if (isinf(pAvgRes->sum.dsum) || isnan(pAvgRes->sum.dsum)) {
|
|
||||||
GET_RES_INFO(pCtx)->isNullRes = 1;
|
|
||||||
}
|
|
||||||
pAvgRes->result = pAvgRes->sum.dsum / ((double)pAvgRes->count);
|
pAvgRes->result = pAvgRes->sum.dsum / ((double)pAvgRes->count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//check for overflow
|
||||||
|
if (isinf(pAvgRes->result) || isnan(pAvgRes->result)) {
|
||||||
|
GET_RES_INFO(pCtx)->isNullRes = 1;
|
||||||
|
}
|
||||||
|
|
||||||
return functionFinalize(pCtx, pBlock);
|
return functionFinalize(pCtx, pBlock);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue