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