fix: in operator only has one overflow contition
This commit is contained in:
parent
ed59e85dab
commit
58a605de47
|
@ -1305,6 +1305,7 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
|
||||||
out.columnData->info.type = type;
|
out.columnData->info.type = type;
|
||||||
out.columnData->info.bytes = tDataTypes[TSDB_DATA_TYPE_BIGINT].bytes; // reserved space for simple_copy
|
out.columnData->info.bytes = tDataTypes[TSDB_DATA_TYPE_BIGINT].bytes; // reserved space for simple_copy
|
||||||
|
|
||||||
|
int32_t overflowCount = 0;
|
||||||
for (int32_t i = 0; i < listNode->pNodeList->length; ++i) {
|
for (int32_t i = 0; i < listNode->pNodeList->length; ++i) {
|
||||||
SValueNode *valueNode = (SValueNode *)cell->pNode;
|
SValueNode *valueNode = (SValueNode *)cell->pNode;
|
||||||
if (valueNode->node.resType.type != type) {
|
if (valueNode->node.resType.type != type) {
|
||||||
|
@ -1317,6 +1318,7 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
|
||||||
|
|
||||||
if (overflow) {
|
if (overflow) {
|
||||||
cell = cell->pNext;
|
cell = cell->pNext;
|
||||||
|
++overflowCount;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1357,6 +1359,9 @@ int32_t fltAddGroupUnitFromNode(SFilterInfo *info, SNode *tree, SArray *group) {
|
||||||
|
|
||||||
cell = cell->pNext;
|
cell = cell->pNext;
|
||||||
}
|
}
|
||||||
|
if(overflowCount == listNode->pNodeList->length) {
|
||||||
|
FILTER_SET_FLAG(info->status, FI_STATUS_EMPTY);
|
||||||
|
}
|
||||||
colDataDestroy(out.columnData);
|
colDataDestroy(out.columnData);
|
||||||
taosMemoryFree(out.columnData);
|
taosMemoryFree(out.columnData);
|
||||||
FLT_ERR_RET(code);
|
FLT_ERR_RET(code);
|
||||||
|
|
Loading…
Reference in New Issue