fix: fix(value, null) output behavior
This commit is contained in:
parent
624b6b094f
commit
62b73db8bf
|
@ -312,6 +312,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
case TSDB_FILL_SET_VALUE_F: {
|
||||
SVariant* pVar = &pSliceInfo->pFillColInfo[fillColIndex].fillVal;
|
||||
|
||||
bool isNull = (TSDB_DATA_TYPE_NULL == pVar->nType) ? true : false;
|
||||
if (pDst->info.type == TSDB_DATA_TYPE_FLOAT) {
|
||||
float v = 0;
|
||||
if (!IS_VAR_DATA_TYPE(pVar->nType)) {
|
||||
|
@ -319,7 +320,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
} else {
|
||||
v = taosStr2Float(varDataVal(pVar->pz), NULL);
|
||||
}
|
||||
colDataSetVal(pDst, rows, (char*)&v, false);
|
||||
colDataSetVal(pDst, rows, (char*)&v, isNull);
|
||||
} else if (pDst->info.type == TSDB_DATA_TYPE_DOUBLE) {
|
||||
double v = 0;
|
||||
if (!IS_VAR_DATA_TYPE(pVar->nType)) {
|
||||
|
@ -327,7 +328,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
} else {
|
||||
v = taosStr2Double(varDataVal(pVar->pz), NULL);
|
||||
}
|
||||
colDataSetVal(pDst, rows, (char*)&v, false);
|
||||
colDataSetVal(pDst, rows, (char*)&v, isNull);
|
||||
} else if (IS_SIGNED_NUMERIC_TYPE(pDst->info.type)) {
|
||||
int64_t v = 0;
|
||||
if (!IS_VAR_DATA_TYPE(pVar->nType)) {
|
||||
|
@ -335,7 +336,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
} else {
|
||||
v = taosStr2Int64(varDataVal(pVar->pz), NULL, 10);
|
||||
}
|
||||
colDataSetVal(pDst, rows, (char*)&v, false);
|
||||
colDataSetVal(pDst, rows, (char*)&v, isNull);
|
||||
} else if (IS_UNSIGNED_NUMERIC_TYPE(pDst->info.type)) {
|
||||
uint64_t v = 0;
|
||||
if (!IS_VAR_DATA_TYPE(pVar->nType)) {
|
||||
|
@ -343,7 +344,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
} else {
|
||||
v = taosStr2UInt64(varDataVal(pVar->pz), NULL, 10);
|
||||
}
|
||||
colDataSetVal(pDst, rows, (char*)&v, false);
|
||||
colDataSetVal(pDst, rows, (char*)&v, isNull);
|
||||
} else if (IS_BOOLEAN_TYPE(pDst->info.type)) {
|
||||
bool v = false;
|
||||
if (!IS_VAR_DATA_TYPE(pVar->nType)) {
|
||||
|
@ -351,7 +352,7 @@ static bool genInterpolationResult(STimeSliceOperatorInfo* pSliceInfo, SExprSupp
|
|||
} else {
|
||||
v = taosStr2Int8(varDataVal(pVar->pz), NULL, 10);
|
||||
}
|
||||
colDataSetVal(pDst, rows, (char*)&v, false);
|
||||
colDataSetVal(pDst, rows, (char*)&v, isNull);
|
||||
}
|
||||
|
||||
++fillColIndex;
|
||||
|
|
Loading…
Reference in New Issue