diff --git a/src/client/src/tscSQLParser.c b/src/client/src/tscSQLParser.c index 1bd592341ed6eb89b6a2119c9b51cab29d5228e8..8fbfe1f798d42b42deabc1175138a1fcb9398a23 100644 --- a/src/client/src/tscSQLParser.c +++ b/src/client/src/tscSQLParser.c @@ -6613,7 +6613,7 @@ static int32_t validateMaxQueryTimeRange(SSqlObj* pSql, SQueryInfo* pQueryInfo) STableComInfo tinfo = tscGetTableInfo(pTableMetaInfo->pTableMeta); int64_t maxTimeRange = convertTimePrecision(tsMaxQueryTimeRange * 1000, TSDB_TIME_PRECISION_MILLI, tinfo.precision); uint64_t queryTimeRange = pQueryInfo->window.ekey - pQueryInfo->window.skey; - if (queryTimeRange > maxTimeRange) { + if (queryTimeRange > (maxTimeRange - 1)) { return TSDB_CODE_TSC_EXCEED_QUERY_TIME_RANGE; } return TSDB_CODE_SUCCESS; diff --git a/tests/script/general/parser/max_query_time_range.sim b/tests/script/general/parser/max_query_time_range.sim index e17b167d289f640527471048de25195bf7e0e505..c38925e67115b0e3e461984179524aabdca2a0ef 100644 --- a/tests/script/general/parser/max_query_time_range.sim +++ b/tests/script/general/parser/max_query_time_range.sim @@ -18,21 +18,21 @@ sql create table t (ts timestamp, f int) sql insert into t values ( $ts , 1)( $ts + 1s , 2)( $ts + 2s , 3)( $ts + 3s, 4)( $ts + 4s, 5) -sql select * from t where ts >= $ts and ts <= $ts + 3000 -sql select * from t where ts >= $ts and ts <= $ts + 3000 order by ts desc -sql select * from t where ts > $ts and ts <= $ts + 3001 -sql select * from t where ts > $ts and ts <= $ts + 3001 order by ts desc -sql select * from t where ts > $ts and ts < $ts + 3000 -sql select * from t where ts > $ts and ts < $ts + 3000 order by ts desc +sql select * from t where ts >= $ts and ts <= $ts + 2999 +sql select * from t where ts >= $ts and ts <= $ts + 2999 order by ts desc sql select * from t where ts > $ts and ts <= $ts + 3000 sql select * from t where ts > $ts and ts <= $ts + 3000 order by ts desc -sql select * from t where ts >= $ts and ts < $ts + 3000 -sql select * from t where ts >= $ts and ts < $ts + 3000 order by ts desc +sql select * from t where ts > $ts and ts < $ts + 2999 +sql select * from t where ts > $ts and ts < $ts + 2999 order by ts desc +sql select * from t where ts > $ts and ts <= $ts + 2999 +sql select * from t where ts > $ts and ts <= $ts + 2999 order by ts desc +sql select * from t where ts >= $ts and ts < $ts + 2999 +sql select * from t where ts >= $ts and ts < $ts + 2999 order by ts desc sql select * from t where ts > $ts and ts < $ts + 2000 sql select * from t where ts = $ts + 200 sql select * from t where ts = $ts -sql select * from t where ts > $ts and ts <= $ts + 3001 -sql select * from (select * from t where ts > $ts and ts <= $ts + 3001) where ts = $ts + 200 +sql select * from t where ts > $ts and ts <= $ts + 3000 +sql select * from (select * from t where ts > $ts and ts <= $ts + 3000) where ts = $ts + 200 sql_error select * from t sql_error select * from t order by ts desc @@ -41,8 +41,8 @@ sql_error select * from t where ts > $ts order by ts desc sql_error select * from t where ts < $ts sql_error select * from t where ts < $ts order by ts desc -sql_error select * from t where ts >= $ts and ts <= $ts + 3001 -sql_error select * from t where ts >= $ts and ts <= $ts + 3001 order by ts desc +sql_error select * from t where ts >= $ts and ts <= $ts + 3000 +sql_error select * from t where ts >= $ts and ts <= $ts + 3000 order by ts desc sql_error select * from t where ts >= $ts and ts <= $ts + 4000 sql_error select * from t where ts >= $ts and ts <= $ts + 4000 order by ts desc @@ -50,7 +50,7 @@ sql_error select * from ( select * from t ) where ts >= $ts and ts <= $ts + 2000 sql_error select * from ( select * from t ) where ts >= $ts and ts <= $ts + 2000 oder by ts desc sql_error select * from ( select * from t order by ts desc) where ts >= $ts and ts <= $ts + 2000 oder by ts desc -sql_error select * from ( select * from t where ts > $ts and ts < $ts + 3000) where ts > $ts +sql_error select * from ( select * from t where ts > $ts and ts < $ts + 2999) where ts > $ts sql_error select * from ( select * from t where ts > $ts and ts < $ts + 4000) where ts > $ts