提交 2381337a 编写于 作者: A Alex Duan

[TS-575]<fix>(query): limit = -1 if have group by

上级 23f0e2c1
......@@ -7534,10 +7534,15 @@ int32_t validateLimitNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SSqlNode* pSqlN
*/
if (pQueryInfo->limit.limit > 0) {
pQueryInfo->vgroupLimit = pQueryInfo->limit.limit + pQueryInfo->limit.offset;
pQueryInfo->limit.limit += pQueryInfo->limit.offset;
// if have group by , not do limit on parent sql
if(pSqlNode->pGroupby == NULL)
pQueryInfo->limit.limit += pQueryInfo->limit.offset;
else
pQueryInfo->limit.limit = -1;
}
pQueryInfo->limit.offset = 0;
} else if(pSqlNode->pGroupby) {
pQueryInfo->limit.limit = -1; // has groupby , no order on super table, limit is limit clause query rows by one group
}
} else {
if (pQueryInfo->slimit.limit != -1 || pQueryInfo->slimit.offset != 0) {
......
......@@ -10041,7 +10041,7 @@ void freeQueryAttr(SQueryAttr* pQueryAttr) {
// add table read rows count. pHashTables must not be NULL
void addTableReadRows(SQueryRuntimeEnv* pEnv, int32_t tid, int32_t rows) {
SHashObj* pHashObj = pEnv->pTablesRead;
int32_t limit = pEnv->pQueryAttr->limit.limit;
int32_t limit = (int64_t)pEnv->pQueryAttr->limit.limit;
if (pHashObj == NULL) {
return ;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册