add group by condition check
This commit is contained in:
parent
9debc4992d
commit
06f38b5b1c
|
@ -6572,11 +6572,15 @@ int32_t doFunctionsCompatibleCheck(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, char*
|
|||
}
|
||||
}
|
||||
|
||||
if (f == TSDB_FUNC_DIFF || f == TSDB_FUNC_DERIVATIVE || f == TSDB_FUNC_TWA || f == TSDB_FUNC_IRATE) {
|
||||
if ((!pQueryInfo->stateWindow) && (f == TSDB_FUNC_DIFF || f == TSDB_FUNC_DERIVATIVE || f == TSDB_FUNC_TWA || f == TSDB_FUNC_IRATE)) {
|
||||
for (int32_t j = 0; j < pQueryInfo->groupbyExpr.numOfGroupCols; ++j) {
|
||||
SColIndex* pColIndex = taosArrayGet(pQueryInfo->groupbyExpr.columnInfo, j);
|
||||
if (pColIndex->colIndex != TSDB_TBNAME_COLUMN_INDEX) {
|
||||
return invalidOperationMsg(msg, msg6);
|
||||
if (j == 0) {
|
||||
if (pColIndex->colIndex != TSDB_TBNAME_COLUMN_INDEX) {
|
||||
return invalidOperationMsg(msg, msg6);
|
||||
}
|
||||
} else if (!TSDB_COL_IS_TAG(pColIndex->flag)) {
|
||||
return invalidOperationMsg(msg, msg6);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -692,6 +692,7 @@ if $data31 != 4 then
|
|||
return -1
|
||||
endi
|
||||
|
||||
sql_error select irate(c) from st where t1="1" and ts >= '2020-03-27 04:11:17.732' and ts < '2020-03-27 05:11:17.732' interval(1m) sliding(15s) group by tbname,c;
|
||||
sql select irate(c) from st where t1="1" and ts >= '2020-03-27 04:11:17.732' and ts < '2020-03-27 05:11:17.732' interval(1m) sliding(15s) group by tbname,t1,t2;
|
||||
if $rows != 40 then
|
||||
return -1
|
||||
|
|
|
@ -306,41 +306,11 @@ endi
|
|||
|
||||
sql_error select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by tbname having twa(f1) > 0;
|
||||
|
||||
sql select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by f1 having twa(f1) > 3;
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 4.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != 2 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 8 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 4.000000000 then
|
||||
return -1
|
||||
endi
|
||||
sql_error select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by f1 having twa(f1) > 3;
|
||||
|
||||
sql_error select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by tbname having sum(f1) > 0;
|
||||
|
||||
sql select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by f1 having sum(f1) = 4;
|
||||
if $rows != 1 then
|
||||
return -1
|
||||
endi
|
||||
if $data00 != 2.000000000 then
|
||||
return -1
|
||||
endi
|
||||
if $data01 != 2 then
|
||||
return -1
|
||||
endi
|
||||
if $data02 != 4 then
|
||||
return -1
|
||||
endi
|
||||
if $data03 != 2.000000000 then
|
||||
return -1
|
||||
endi
|
||||
sql_error select avg(f1),count(f1),sum(f1),twa(f1) from tb1 group by f1 having sum(f1) = 4;
|
||||
|
||||
sql select avg(f1),count(f1),sum(f1) from tb1 group by f1 having sum(f1) > 0;
|
||||
if $rows != 4 then
|
||||
|
|
Loading…
Reference in New Issue