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

qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 4fe8946  count_timeseries
4fe8946 is described below

commit 4fe89461091130fcea66aff3e15a35c121c67afe
Author: zhutianci <[email protected]>
AuthorDate: Sat May 16 12:32:30 2020 +0800

    count_timeseries
---
 .../src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4   | 2 +-
 .../java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java   | 9 +++++++--
 .../org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java    | 6 +++---
 3 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4 
b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
index e75f4d1..1c878bd 100644
--- a/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
+++ b/server/src/main/antlr4/org/apache/iotdb/db/qp/strategy/SqlBase.g4
@@ -72,7 +72,7 @@ statement
     | SHOW STORAGE GROUP #showStorageGroup
     | SHOW CHILD PATHS prefixPath? #showChildPaths
     | SHOW DEVICES prefixPath? #showDevices
-    | COUNT TIMESERIES prefixPath (GROUP BY LEVEL OPERATOR_EQ INT)? 
#countTimeseries
+    | COUNT TIMESERIES prefixPath? (GROUP BY LEVEL OPERATOR_EQ INT)? 
#countTimeseries
     | COUNT NODES prefixPath LEVEL OPERATOR_EQ INT #countNodes
     | LOAD CONFIGURATION #loadConfigurationStatement
     | LOAD FILE autoCreateSchema? #loadFiles
diff --git 
a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java 
b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
index e3a7cee..c07c13e 100644
--- a/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/qp/strategy/LogicalGenerator.java
@@ -76,8 +76,13 @@ public class LogicalGenerator extends SqlBaseBaseListener {
       initializedOperator = new 
CountOperator(SQLConstant.TOK_COUNT_NODE_TIMESERIES,
           parsePrefixPath(ctx.prefixPath()), 
Integer.parseInt(ctx.INT().getText()));
     } else {
-      initializedOperator = new CountOperator(SQLConstant.TOK_COUNT_TIMESERIES,
-          parsePrefixPath(ctx.prefixPath()));
+      if(ctx.prefixPath() != null) {
+        initializedOperator = new 
CountOperator(SQLConstant.TOK_COUNT_TIMESERIES,
+            parsePrefixPath(ctx.prefixPath()));
+      } else {
+        initializedOperator = new 
CountOperator(SQLConstant.TOK_COUNT_TIMESERIES,
+            new Path(SQLConstant.ROOT));
+      }
     }
   }
 
diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
index e07ed69..8ebc43b 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBMetadataFetchIT.java
@@ -274,8 +274,8 @@ public class IoTDBMetadataFetchIT {
     try (Connection connection = DriverManager
         .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", 
"root");
         Statement statement = connection.createStatement()) {
-      String[] sqls = new String[]{"COUNT TIMESERIES root.ln"};
-      String[] standards = new String[]{"2,\n"};
+      String[] sqls = new String[]{"COUNT TIMESERIES root.ln", "COUNT 
TIMESERIES"};
+      String[] standards = new String[]{"2,\n", "2,\n"};
       for (int n = 0; n < sqls.length; n++) {
         String sql = sqls[n];
         String standard = standards[n];
@@ -293,7 +293,7 @@ public class IoTDBMetadataFetchIT {
               }
             }
           }
-          Assert.assertEquals(builder.toString(), standard);
+          Assert.assertEquals(standard, builder.toString());
         } catch (SQLException e) {
           e.printStackTrace();
           fail(e.getMessage());

Reply via email to