This is an automated email from the ASF dual-hosted git repository.

qiaojialin pushed a commit to branch rel/0.12
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.12 by this push:
     new 4f2ca6a  [To rel/0.12] change "explain sql" to "debug sql" (#3093)
4f2ca6a is described below

commit 4f2ca6a36c6e33cf94094dbc1fa122bffc5a0a95
Author: Jackie Tien <[email protected]>
AuthorDate: Thu Apr 29 15:22:31 2021 +0800

    [To rel/0.12] change "explain sql" to "debug sql" (#3093)
---
 .../antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4   |  6 +++-
 .../apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java    |  2 +-
 .../iotdb/db/query/executor/LastQueryExecutor.java | 41 ++++++++++++++--------
 3 files changed, 33 insertions(+), 16 deletions(-)

diff --git a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4 
b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
index 0a3dbe3..6a027cd 100644
--- a/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
+++ b/antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/SqlBase.g4
@@ -20,7 +20,7 @@
 grammar SqlBase;
 
 singleStatement
-    : EXPLAIN? statement (';')? EOF
+    : DEBUG? statement (';')? EOF
     ;
 
 /*
@@ -1290,6 +1290,10 @@ EXPLAIN
     : E X P L A I N
     ;
 
+DEBUG
+    : D E B U G
+    ;
+
 //============================
 // End of the keywords list
 //============================
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java 
b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
index 9783ab1..4a8373b 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/sql/IoTDBSqlVisitor.java
@@ -261,7 +261,7 @@ public class IoTDBSqlVisitor extends 
SqlBaseBaseVisitor<Operator> {
   @Override
   public Operator visitSingleStatement(SingleStatementContext ctx) {
     Operator operator = visit(ctx.statement());
-    if (ctx.EXPLAIN() != null) {
+    if (ctx.DEBUG() != null) {
       operator.setDebug(true);
     }
     return operator;
diff --git 
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
 
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
index 3bd3eb1..d6a3169 100644
--- 
a/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
+++ 
b/server/src/main/java/org/apache/iotdb/db/query/executor/LastQueryExecutor.java
@@ -152,7 +152,13 @@ public class LastQueryExecutor {
     List<TSDataType> nonCachedDataTypes = new ArrayList<>();
     List<Pair<Boolean, TimeValuePair>> resultContainer =
         readLastPairsFromCache(
-            seriesPaths, dataTypes, filter, cacheAccessors, nonCachedPaths, 
nonCachedDataTypes);
+            seriesPaths,
+            dataTypes,
+            filter,
+            cacheAccessors,
+            nonCachedPaths,
+            nonCachedDataTypes,
+            context.isDebug());
     if (nonCachedPaths.isEmpty()) {
       return resultContainer;
     }
@@ -189,10 +195,12 @@ public class LastQueryExecutor {
           resultContainer.get(i).left = true;
           if (CACHE_ENABLED) {
             cacheAccessors.get(i).write(resultContainer.get(i).right);
-            DEBUG_LOGGER.info(
-                "[LastQueryExecutor] Update last cache for path: {} with 
timestamp: {}",
-                seriesPaths,
-                resultContainer.get(i).right.getTimestamp());
+            if (context.isDebug()) {
+              DEBUG_LOGGER.info(
+                  "[LastQueryExecutor] Update last cache for path: {} with 
timestamp: {}",
+                  seriesPaths,
+                  resultContainer.get(i).right.getTimestamp());
+            }
           }
         }
       }
@@ -206,7 +214,8 @@ public class LastQueryExecutor {
       Filter filter,
       List<LastCacheAccessor> cacheAccessors,
       List<PartialPath> restPaths,
-      List<TSDataType> restDataType) {
+      List<TSDataType> restDataType,
+      boolean debugOn) {
     List<Pair<Boolean, TimeValuePair>> resultContainer = new ArrayList<>();
     if (CACHE_ENABLED) {
       for (PartialPath path : seriesPaths) {
@@ -227,16 +236,20 @@ public class LastQueryExecutor {
         restDataType.add(dataTypes.get(i));
       } else if (!satisfyFilter(filter, tvPair)) {
         resultContainer.add(new Pair<>(true, null));
-        DEBUG_LOGGER.info(
-            "[LastQueryExecutor] Last cache hit for path: {} with timestamp: 
{}",
-            seriesPaths.get(i),
-            tvPair.getTimestamp());
+        if (debugOn) {
+          DEBUG_LOGGER.info(
+              "[LastQueryExecutor] Last cache hit for path: {} with timestamp: 
{}",
+              seriesPaths.get(i),
+              tvPair.getTimestamp());
+        }
       } else {
         resultContainer.add(new Pair<>(true, tvPair));
-        DEBUG_LOGGER.info(
-            "[LastQueryExecutor] Last cache hit for path: {} with timestamp: 
{}",
-            seriesPaths.get(i),
-            tvPair.getTimestamp());
+        if (debugOn) {
+          DEBUG_LOGGER.info(
+              "[LastQueryExecutor] Last cache hit for path: {} with timestamp: 
{}",
+              seriesPaths.get(i),
+              tvPair.getTimestamp());
+        }
       }
     }
     return resultContainer;

Reply via email to