diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index b198070525cc1c8f80f611768583996bd8bd4314..85440fd58b03cd8c9d6e9291421b761eb5bed87b 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -7264,7 +7264,7 @@ int32_t validateFunctionFromUpstream(SQueryInfo* pQueryInfo, char* msg) { SQueryInfo* pUp = taosArrayGetP(pQueryInfo->pUpstream, j); STableMetaInfo *pTableMetaInfo = tscGetMetaInfo(pUp, 0); bool isSTable = UTIL_TABLE_IS_SUPER_TABLE(pTableMetaInfo); - if ((!isSTable) || groupbyTbname(pUp)) { + if ((!isSTable) || groupbyTbname(pUp) || pUp->interval.interval > 0) { return TSDB_CODE_SUCCESS; } } diff --git a/tests/script/general/parser/function.sim b/tests/script/general/parser/function.sim index 48e52cc7d7f946a18c366fc1ba667daf3fcf55eb..94f75962b4118720f2f4bdec82f4fbbe47d19cea 100644 --- a/tests/script/general/parser/function.sim +++ b/tests/script/general/parser/function.sim @@ -1197,3 +1197,16 @@ if $data00 != 0.000000000 then return -1 endi +sql select derivative(aa,1m,0) from (select avg(voltage) as aa from smeters where ts>='2021-08-08 10:10:10.000' and ts < '2021-08-08 10:10:20.000' and current=10 interval(1000a)); +if $rows != 1 then + return -1 +endi +if $data00 != @21-08-08 10:10:12.000@ then + return -1 +endi +if $data01 != 0.000000000 then + return -1 +endi + + +