Merge pull request #15935 from taosdata/szhou/fixbug

fix: use the pre agg value as double when generate block sma for float column and double column
This commit is contained in:
shenglian-zhou 2022-08-10 16:33:33 +08:00 committed by GitHub
commit 6389d32445
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 10 additions and 10 deletions

View File

@ -1520,22 +1520,22 @@ void tsdbCalcColDataSMA(SColData *pColData, SColumnDataAgg *pColAgg) {
break; break;
} }
case TSDB_DATA_TYPE_FLOAT: { case TSDB_DATA_TYPE_FLOAT: {
pColAgg->sum += colVal.value.f; *(double*)(&pColAgg->sum) += colVal.value.f;
if (pColAgg->min > colVal.value.f) { if (*(double*)(&pColAgg->min) > colVal.value.f) {
pColAgg->min = colVal.value.f; *(double*)(&pColAgg->min) = colVal.value.f;
} }
if (pColAgg->max < colVal.value.f) { if (*(double*)(&pColAgg->max) < colVal.value.f) {
pColAgg->max = colVal.value.f; *(double*)(&pColAgg->max) = colVal.value.f;
} }
break; break;
} }
case TSDB_DATA_TYPE_DOUBLE: { case TSDB_DATA_TYPE_DOUBLE: {
pColAgg->sum += colVal.value.d; *(double*)(&pColAgg->sum) += colVal.value.d;
if (pColAgg->min > colVal.value.d) { if (*(double*)(&pColAgg->min) > colVal.value.d) {
pColAgg->min = colVal.value.d; *(double*)(&pColAgg->min) = colVal.value.d;
} }
if (pColAgg->max < colVal.value.d) { if (*(double*)(&pColAgg->max) < colVal.value.d) {
pColAgg->max = colVal.value.d; *(double*)(&pColAgg->max) = colVal.value.d;
} }
break; break;
} }