From 752db3477a05a46abe3848d207f2d29cbb506deb Mon Sep 17 00:00:00 2001 From: wpan Date: Mon, 5 Jul 2021 18:18:24 +0800 Subject: [PATCH] add interval value check --- src/client/src/tscSQLParser.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 4d04d4184f..f0889d20b0 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -916,7 +916,8 @@ static int32_t checkInvalidExprForTimeWindow(SSqlCmd* pCmd, SQueryInfo* pQueryIn int32_t validateIntervalNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pSqlNode) { const char* msg1 = "sliding cannot be used without interval"; - const char* msg2 = "interval cannot be less than 10 ms"; + const char* msg2 = "interval cannot be less than 1 us"; + const char* msg3 = "interval value is too small"; SSqlCmd* pCmd = &pSql->cmd; @@ -943,6 +944,10 @@ int32_t validateIntervalNode(SSqlObj* pSql, SQueryInfo* pQueryInfo, SSqlNode* pS return TSDB_CODE_TSC_INVALID_OPERATION; } + if (pQueryInfo->interval.interval <= 0) { + return invalidOperationMsg(tscGetErrorMsgPayload(pCmd), msg3); + } + if (pQueryInfo->interval.intervalUnit != 'n' && pQueryInfo->interval.intervalUnit != 'y') { // interval cannot be less than 10 milliseconds