From ce5aae6c567dd4a94f2ef21eb3ee7ae4f78e2ce3 Mon Sep 17 00:00:00 2001 From: xywang Date: Tue, 22 Mar 2022 10:46:21 +0800 Subject: [PATCH] [TS-1318]: changed scan operator in real subqueries --- src/client/src/tscSubquery.c | 1 + src/client/src/tscUtil.c | 2 +- src/query/src/qExecutor.c | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/client/src/tscSubquery.c b/src/client/src/tscSubquery.c index 39289a55f4..75eff33af3 100644 --- a/src/client/src/tscSubquery.c +++ b/src/client/src/tscSubquery.c @@ -662,6 +662,7 @@ static int32_t tscLaunchRealSubqueries(SSqlObj* pSql) { } else { filterVgroupTables(pQueryInfo, pTableMetaInfo->pVgroupTables); } + pQueryInfo->stableQuery = true; } subquerySetState(pNew, &pSql->subState, i, 0); diff --git a/src/client/src/tscUtil.c b/src/client/src/tscUtil.c index 7775ad7c84..0ca7e3f2b7 100644 --- a/src/client/src/tscUtil.c +++ b/src/client/src/tscUtil.c @@ -394,7 +394,7 @@ bool tscIsPointInterpQuery(SQueryInfo* pQueryInfo) { } bool tscNeedTableSeqScan(SQueryInfo* pQueryInfo) { - return pQueryInfo->stableQuery && (tscQueryContainsFunction(pQueryInfo, TSDB_FUNC_TWA) || tscQueryContainsFunction(pQueryInfo, TSDB_FUNC_ELAPSED)); + return pQueryInfo->stableQuery && (tscQueryContainsFunction(pQueryInfo, TSDB_FUNC_TWA) || tscQueryContainsFunction(pQueryInfo, TSDB_FUNC_ELAPSED) || (pQueryInfo->tsBuf != NULL)); } bool tscGetPointInterpQuery(SQueryInfo* pQueryInfo) { diff --git a/src/query/src/qExecutor.c b/src/query/src/qExecutor.c index da346a23b6..e9eebfc7dd 100644 --- a/src/query/src/qExecutor.c +++ b/src/query/src/qExecutor.c @@ -4832,7 +4832,7 @@ static int32_t setupQueryHandle(void* tsdb, SQueryRuntimeEnv* pRuntimeEnv, int64 } STsdbQueryCond cond = createTsdbQueryCond(pQueryAttr, &pQueryAttr->window); - if (pQueryAttr->tsCompQuery || pQueryAttr->pointInterpQuery) { + if (pQueryAttr->tsCompQuery || pQueryAttr->pointInterpQuery || pQueryAttr->needTableSeqScan) { cond.type = BLOCK_LOAD_TABLE_SEQ_ORDER; } -- GitLab