fix(query): fix cast function NULL value handling logic
This commit is contained in:
parent
f9947be46f
commit
f53db3d3b9
|
|
@ -653,20 +653,15 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp
|
||||||
outputLen = outputLen * factor + VARSTR_HEADER_SIZE;
|
outputLen = outputLen * factor + VARSTR_HEADER_SIZE;
|
||||||
}
|
}
|
||||||
|
|
||||||
char *input = NULL;
|
|
||||||
char *outputBuf = taosMemoryCalloc(outputLen * pInput[0].numOfRows, 1);
|
char *outputBuf = taosMemoryCalloc(outputLen * pInput[0].numOfRows, 1);
|
||||||
char *output = outputBuf;
|
char *output = outputBuf;
|
||||||
if (IS_VAR_DATA_TYPE(inputType)) {
|
|
||||||
input = pInput[0].columnData->pData + pInput[0].columnData->varmeta.offset[0];
|
|
||||||
} else {
|
|
||||||
input = pInput[0].columnData->pData;
|
|
||||||
}
|
|
||||||
|
|
||||||
for (int32_t i = 0; i < pInput[0].numOfRows; ++i) {
|
for (int32_t i = 0; i < pInput[0].numOfRows; ++i) {
|
||||||
if (colDataIsNull_s(pInput[0].columnData, i)) {
|
if (colDataIsNull_s(pInput[0].columnData, i)) {
|
||||||
colDataAppendNULL(pOutput->columnData, i);
|
colDataAppendNULL(pOutput->columnData, i);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
char *input = colDataGetData(pInput[0].columnData, i);
|
||||||
|
|
||||||
switch(outputType) {
|
switch(outputType) {
|
||||||
case TSDB_DATA_TYPE_BIGINT: {
|
case TSDB_DATA_TYPE_BIGINT: {
|
||||||
|
|
@ -776,11 +771,6 @@ int32_t castFunction(SScalarParam *pInput, int32_t inputNum, SScalarParam *pOutp
|
||||||
}
|
}
|
||||||
|
|
||||||
colDataAppend(pOutput->columnData, i, output, false);
|
colDataAppend(pOutput->columnData, i, output, false);
|
||||||
if (IS_VAR_DATA_TYPE(inputType)) {
|
|
||||||
input += varDataTLen(input);
|
|
||||||
} else {
|
|
||||||
input += tDataTypes[inputType].bytes;
|
|
||||||
}
|
|
||||||
if (IS_VAR_DATA_TYPE(outputType)) {
|
if (IS_VAR_DATA_TYPE(outputType)) {
|
||||||
output += varDataTLen(output);
|
output += varDataTLen(output);
|
||||||
} else {
|
} else {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue