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());