fix: fix no group slimit issue and test cases
This commit is contained in:
parent
97c7d363f2
commit
6506805784
|
@ -174,9 +174,13 @@ static int32_t setInfoForNewGroup(SSDataBlock* pBlock, SLimitInfo* pLimitInfo, S
|
|||
// here check for a new group data, we need to handle the data of the previous group.
|
||||
ASSERT(pLimitInfo->remainGroupOffset == 0 || pLimitInfo->remainGroupOffset == -1);
|
||||
|
||||
if (pLimitInfo->currentGroupId == 0 || pLimitInfo->currentGroupId != pBlock->info.id.groupId) {
|
||||
bool newGroup = false;
|
||||
if (0 == pBlock->info.id.groupId) {
|
||||
pLimitInfo->numOfOutputGroups = 1;
|
||||
} else if (pLimitInfo->currentGroupId != pBlock->info.id.groupId) {
|
||||
pLimitInfo->currentGroupId = pBlock->info.id.groupId;
|
||||
pLimitInfo->numOfOutputGroups += 1;
|
||||
newGroup = true;
|
||||
} else {
|
||||
return PROJECT_RETRIEVE_CONTINUE;
|
||||
}
|
||||
|
@ -185,11 +189,13 @@ static int32_t setInfoForNewGroup(SSDataBlock* pBlock, SLimitInfo* pLimitInfo, S
|
|||
setOperatorCompleted(pOperator);
|
||||
return PROJECT_RETRIEVE_DONE;
|
||||
}
|
||||
|
||||
|
||||
// reset the value for a new group data
|
||||
// existing rows that belongs to previous group.
|
||||
resetLimitInfoForNextGroup(pLimitInfo);
|
||||
|
||||
if (newGroup) {
|
||||
resetLimitInfoForNextGroup(pLimitInfo);
|
||||
}
|
||||
|
||||
return PROJECT_RETRIEVE_CONTINUE;
|
||||
}
|
||||
|
||||
|
|
|
@ -484,6 +484,7 @@ if $rows != 2 then
|
|||
return -1
|
||||
endi
|
||||
|
||||
print === select max(c1), min(c2), avg(c3), sum(c5), spread(c6), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu and t1 > 1 and t1 < 5 and c1 > 0 and c2 < 9 and c3 > 1 and c4 < 7 and c5 > 4 partition by t1 interval(5m) limit 1 offset 0
|
||||
sql select max(c1), min(c2), avg(c3), sum(c5), spread(c6), first(c7), last(c8), first(c9) from $stb where ts >= $ts0 and ts <= $tsu and t1 > 1 and t1 < 5 and c1 > 0 and c2 < 9 and c3 > 1 and c4 < 7 and c5 > 4 partition by t1 interval(5m) limit 1 offset 0
|
||||
if $rows != 3 then
|
||||
return -1
|
||||
|
|
|
@ -70,7 +70,7 @@ endi
|
|||
|
||||
### empty result set
|
||||
sql select count(*) from stb partition by t2,t1 order by t2 asc slimit 0 soffset 0
|
||||
if $rows != 9 then
|
||||
if $rows != 0 then
|
||||
return -1
|
||||
endi
|
||||
|
||||
|
|
Loading…
Reference in New Issue