From 979b20189d94b092df18097916e7f4b5e1549610 Mon Sep 17 00:00:00 2001 From: Xiaoyu Wang Date: Fri, 15 Jul 2022 09:07:19 +0800 Subject: [PATCH] feat: the query uses the 'cachelast' option to decide whether to optimize the last_row function --- source/libs/parser/src/parTranslater.c | 4 ++++ source/libs/parser/test/mockCatalog.cpp | 2 ++ 2 files changed, 6 insertions(+) diff --git a/source/libs/parser/src/parTranslater.c b/source/libs/parser/src/parTranslater.c index 15763c13a6..0ada99ce68 100644 --- a/source/libs/parser/src/parTranslater.c +++ b/source/libs/parser/src/parTranslater.c @@ -1773,6 +1773,10 @@ static int32_t setTableIndex(STranslateContext* pCxt, SName* pName, SRealTableNo } static int32_t setTableCacheLastMode(STranslateContext* pCxt, SName* pName, SRealTableNode* pRealTable) { + if (TSDB_SYSTEM_TABLE == pRealTable->pMeta->tableType) { + return TSDB_CODE_SUCCESS; + } + SDbCfgInfo dbCfg = {0}; int32_t code = getDBCfg(pCxt, pRealTable->table.dbName, &dbCfg); if (TSDB_CODE_SUCCESS == code) { diff --git a/source/libs/parser/test/mockCatalog.cpp b/source/libs/parser/test/mockCatalog.cpp index 6eafa0555b..d054a3434e 100644 --- a/source/libs/parser/test/mockCatalog.cpp +++ b/source/libs/parser/test/mockCatalog.cpp @@ -234,6 +234,8 @@ void generateDnodes(MockCatalogService* mcs) { } void generateDatabases(MockCatalogService* mcs) { + mcs->createDatabase(TSDB_INFORMATION_SCHEMA_DB); + mcs->createDatabase(TSDB_PERFORMANCE_SCHEMA_DB); mcs->createDatabase("test"); mcs->createDatabase("rollup_db", true); } -- GitLab