diff --git a/source/libs/scalar/src/scalar.c b/source/libs/scalar/src/scalar.c index 14406a26ed167ac8014a41a97dc0ca04f82f75ce..cfeac04bbd4166b8ad55102bd844b001c3138e78 100644 --- a/source/libs/scalar/src/scalar.c +++ b/source/libs/scalar/src/scalar.c @@ -735,15 +735,13 @@ EDealRes sclRewriteFunction(SNode** pNode, SScalarCtx *ctx) { res->translate = true; + res->node.resType.type = output.columnData->info.type; + res->node.resType.bytes = output.columnData->info.bytes; + res->node.resType.scale = output.columnData->info.scale; + res->node.resType.precision = output.columnData->info.precision; if (colDataIsNull_s(output.columnData, 0)) { res->isNull = true; - //res->node.resType.type = TSDB_DATA_TYPE_NULL; - //res->node.resType.bytes = tDataTypes[TSDB_DATA_TYPE_NULL].bytes; } else { - res->node.resType.type = output.columnData->info.type; - res->node.resType.bytes = output.columnData->info.bytes; - res->node.resType.scale = output.columnData->info.scale; - res->node.resType.precision = output.columnData->info.precision; int32_t type = output.columnData->info.type; if (type == TSDB_DATA_TYPE_JSON){ int32_t len = getJsonValueLen(output.columnData->pData); @@ -826,16 +824,11 @@ EDealRes sclRewriteOperator(SNode** pNode, SScalarCtx *ctx) { res->translate = true; + res->node.resType = node->node.resType; if (colDataIsNull_s(output.columnData, 0)) { - if(node->node.resType.type != TSDB_DATA_TYPE_JSON){ - res->node.resType.type = TSDB_DATA_TYPE_NULL; - res->node.resType.bytes = tDataTypes[TSDB_DATA_TYPE_NULL].bytes; - }else{ - res->node.resType = node->node.resType; - res->isNull = true; - } - } else { + res->isNull = true; res->node.resType = node->node.resType; + } else { int32_t type = output.columnData->info.type; if (IS_VAR_DATA_TYPE(type)) { // todo refactor res->datum.p = output.columnData->pData; diff --git a/tests/script/tsim/query/scalarNull.sim b/tests/script/tsim/query/scalarNull.sim index ae4b2a96245b3e938abbd3842be764cf15b3023f..1b437747ce399b70cc578294d17c5ab78fea1170 100644 --- a/tests/script/tsim/query/scalarNull.sim +++ b/tests/script/tsim/query/scalarNull.sim @@ -89,10 +89,4 @@ endi #TODO: MOVE IT TO NORMAL CASE sql_error select * from tb1 where not (null); -sql select sum(1/0) from tb1; -if $rows != 1 then - return -1 -endi - - system sh/exec.sh -n dnode1 -s stop -x SIGINT