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;