yiguolei commented on code in PR #22144:
URL: https://github.com/apache/doris/pull/22144#discussion_r1273397931


##########
fe/fe-core/src/main/java/org/apache/doris/qe/cache/CacheAnalyzer.java:
##########
@@ -288,8 +289,64 @@ private CacheMode innerCheckCacheMode(long now) {
         return CacheMode.Partition;
     }
 
+    private CacheMode innerCheckCacheModeForNereids(long now) {
+        // only sql cache
+        if (!enableSqlCache()) {
+            LOG.debug("sql cache is disabled. queryid {}", 
DebugUtil.printId(queryId));
+            return CacheMode.NoNeed;
+        }
+        if (!(parsedStmt instanceof LogicalPlanAdapter) || scanNodes.size() == 
0) {
+            LOG.debug("not a select stmt or no scan node. queryid {}", 
DebugUtil.printId(queryId));
+            return CacheMode.NoNeed;
+        }
+        MetricRepo.COUNTER_QUERY_TABLE.increase(1L);
+
+        //Check the last version time of the table
+        List<CacheTable> tblTimeList = Lists.newArrayList();
+        for (int i = 0; i < scanNodes.size(); i++) {
+            ScanNode node = scanNodes.get(i);
+            if (!(node instanceof OlapScanNode)) {
+                LOG.debug("query contains non-olap table. queryid {}", 
DebugUtil.printId(queryId));
+                return CacheMode.None;
+            }
+            CacheTable cTable = 
getSelectedPartitionLastUpdateTime((OlapScanNode) node);
+            tblTimeList.add(cTable);
+        }
+        MetricRepo.COUNTER_QUERY_OLAP_TABLE.increase(1L);
+        Collections.sort(tblTimeList);
+        latestTable = tblTimeList.get(0);
+        latestTable.debug();
+
+        if (((LogicalPlanAdapter) 
parsedStmt).getStatementContext().getParsedStatement().isExplain()) {
+            return CacheMode.NoNeed;
+        }
+
+        String cacheKey = ((LogicalPlanAdapter) 
parsedStmt).getStatementContext()
+                .getOriginStatement().originStmt.toLowerCase();
+        if (now == 0) {
+            now = nowtime();
+        }
+        if (enableSqlCache()
+                && (now - latestTable.latestTime) >= 
Config.cache_last_version_interval_second * 1000L) {
+            LOG.debug("TIME:{},{},{}", now, latestTable.latestTime,

Review Comment:
   and here



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to