This is an automated email from the ASF dual-hosted git repository.
dope pushed a commit to branch cluster
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/cluster by this push:
new 1f9d97f add metadata test
new 9bb899f merge
1f9d97f is described below
commit 1f9d97f95162cc72a3059aecbaa303efa060e058
Author: XuYi <[email protected]>
AuthorDate: Tue Apr 9 14:50:26 2019 +0800
add metadata test
---
.../cluster/integration/IoTDBMetadataFetchIT.java | 178 ++++++++++++++++++---
1 file changed, 156 insertions(+), 22 deletions(-)
diff --git
a/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
b/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
index ad95425..3294373 100644
---
a/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
+++
b/cluster/src/test/java/org/apache/iotdb/cluster/integration/IoTDBMetadataFetchIT.java
@@ -32,6 +32,7 @@ import org.apache.iotdb.cluster.config.ClusterDescriptor;
import org.apache.iotdb.cluster.entity.Server;
import org.apache.iotdb.db.utils.EnvironmentUtils;
import org.apache.iotdb.jdbc.Config;
+import org.apache.iotdb.jdbc.Constant;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
@@ -60,20 +61,20 @@ public class IoTDBMetadataFetchIT {
EnvironmentUtils.cleanEnv();
}
-// @Test
-// public void test() throws SQLException {
-// Connection connection = null;
-// try {
-// connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX +
"127.0.0.1:6667/", "root", "root");
-// insertSQL(connection, false);
-//// testShowStorageGroup(connection);
-// testDatabaseMetadata(connection);
-//// testShowTimeseries(connection);
-//// testShowTimeseriesPath(connection);
-// } finally {
-// connection.close();
-// }
-// }
+ @Test
+ public void test() throws SQLException {
+ Connection connection = null;
+ try {
+ connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX +
"127.0.0.1:6667/", "root", "root");
+ insertSQL(connection, false);
+ testShowStorageGroup(connection);
+ testDatabaseMetadata(connection);
+ testShowTimeseries(connection);
+ testShowTimeseriesPath(connection);
+ } finally {
+ connection.close();
+ }
+ }
@Test
public void testBatch() throws SQLException {
@@ -81,6 +82,8 @@ public class IoTDBMetadataFetchIT {
try {
connection = DriverManager.getConnection(Config.IOTDB_URL_PREFIX +
"127.0.0.1:6667/", "root", "root");
insertSQL(connection, true);
+ testShowStorageGroup(connection);
+ testDatabaseMetadata(connection);
testShowTimeseries(connection);
testShowTimeseriesPath(connection);
} finally {
@@ -129,7 +132,6 @@ public class IoTDBMetadataFetchIT {
Statement statement = connection.createStatement();
String[] sqls = new String[]{
"show storage group",
-// "show storage group root.ln",
};
String[] standards = new String[]{
@@ -138,11 +140,6 @@ public class IoTDBMetadataFetchIT {
+ "root.ln.wf02,\n"
+ "root.ln.wf01,\n"
+ "root.ln.wf05,\n",
-// "root.ln.wf04,\n"
-// + "root.ln.wf03,\n"
-// + "root.ln.wf02,\n"
-// + "root.ln.wf01,\n"
-// + "root.ln.wf05,\n"
};
checkCorrectness(sqls, standards, statement);
}
@@ -200,8 +197,12 @@ public class IoTDBMetadataFetchIT {
private void testDatabaseMetadata(Connection connection) throws SQLException{
DatabaseMetaData databaseMetaData = connection.getMetaData();
-
- showTimeseriesInJson(databaseMetaData);
+ // TODO Error
+// showTimeseriesInJson(databaseMetaData);
+ showStorageGroup(databaseMetaData);
+ showAllColumns(databaseMetaData);
+ showDeltaObject(databaseMetaData);
+ showTimeseriesInfo(databaseMetaData);
}
private void checkCorrectness(String[] sqls, String[] standards, Statement
statement) throws SQLException{
@@ -231,6 +232,53 @@ public class IoTDBMetadataFetchIT {
}
}
+ private void showTimeseriesInfo(DatabaseMetaData databaseMetaData) throws
SQLException {
+ String standard =
+ "Timeseries,Storage Group,DataType,Encoding,\n"
+ + "root.ln.wf04.wt04.status,root.ln.wf04,TEXT,PLAIN,\n"
+ + "root.ln.wf04.wt05.temperature,root.ln.wf04,FLOAT,GORILLA,\n"
+ + "root.ln.wf03.wt02.status,root.ln.wf03,INT64,PLAIN,\n"
+ + "root.ln.wf03.wt03.temperature,root.ln.wf03,FLOAT,TS_2DIFF,\n"
+ + "root.ln.wf02.wt03.status,root.ln.wf02,INT32,PLAIN,\n"
+ + "root.ln.wf02.wt04.temperature,root.ln.wf02,FLOAT,RLE,\n"
+ + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+ + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+ + "root.ln.wf01.wt02.humidity,root.ln.wf01,DOUBLE,RLE,\n"
+ + "root.ln.wf05.wt01.status,root.ln.wf05,DOUBLE,PLAIN,\n";
+ ResultSet resultSet =
databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES, "root", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES,
"root.ln", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard =
+ "Timeseries,Storage Group,DataType,Encoding,\n"
+ + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+ + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+ + "root.ln.wf01.wt02.humidity,root.ln.wf01,DOUBLE,RLE,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES,
"root.ln.wf01", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard =
+ "Timeseries,Storage Group,DataType,Encoding,\n"
+ + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n"
+ + "root.ln.wf01.wt01.temperature,root.ln.wf01,FLOAT,RLE,\n"
+ + "root.ln.wf05.wt01.status,root.ln.wf05,DOUBLE,PLAIN,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES,
"root.ln.*.wt01", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard =
+ "Timeseries,Storage Group,DataType,Encoding,\n"
+ + "root.ln.wf01.wt01.status,root.ln.wf01,BOOLEAN,PLAIN,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_TIMESERIES,
"root.ln.wf01.wt01.status", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+ }
+
private void showTimeseriesInJson(DatabaseMetaData databaseMetaData) {
String metadataInJson = databaseMetaData.toString();
String standard =
@@ -263,4 +311,90 @@ public class IoTDBMetadataFetchIT {
Assert.assertEquals(standard, metadataInJson);
}
+
+ private void showStorageGroup(DatabaseMetaData databaseMetaData) throws
SQLException {
+ String standard =
+ "Storage Group,\n"
+ + "root.ln.wf04,\n"
+ + "root.ln.wf03,\n"
+ + "root.ln.wf02,\n"
+ + "root.ln.wf01,\n"
+ + "root.ln.wf05,\n";
+ ResultSet resultSet =
databaseMetaData.getColumns(Constant.CATALOG_STORAGE_GROUP, null, null, null);
+ checkCorrectness(resultSet, standard);
+ }
+
+ private void showDeltaObject(DatabaseMetaData databaseMetaData) throws
SQLException {
+ String standard =
+ "Column,\n"
+ + "root.ln.wf02.wt04,\n"
+ + "root.ln.wf02.wt03,\n"
+ + "root.ln.wf04.wt05,\n"
+ + "root.ln.wf04.wt04,\n"
+ + "root.ln.wf01.wt01,\n"
+ + "root.ln.wf05.wt01,\n"
+ + "root.ln.wf01.wt02,\n"
+ + "root.ln.wf03.wt03,\n"
+ + "root.ln.wf03.wt02,\n";
+ ResultSet resultSet = databaseMetaData.getColumns(Constant.CATALOG_DEVICE,
"ln", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard = "Column,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_DEVICE, "ln1",
null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+ }
+
+ private void showAllColumns(DatabaseMetaData databaseMetaData) throws
SQLException {
+ String standard =
+ "Column,\n"
+ + "root.ln.wf04.wt04.status,\n"
+ + "root.ln.wf04.wt05.temperature,\n"
+ + "root.ln.wf03.wt02.status,\n"
+ + "root.ln.wf03.wt03.temperature,\n"
+ + "root.ln.wf02.wt03.status,\n"
+ + "root.ln.wf02.wt04.temperature,\n"
+ + "root.ln.wf01.wt01.status,\n"
+ + "root.ln.wf01.wt01.temperature,\n"
+ + "root.ln.wf01.wt02.humidity,\n"
+ + "root.ln.wf05.wt01.status,\n";
+ ResultSet resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN,
"root", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard =
+ "Column,\n"
+ + "root.ln.wf01.wt01.status,\n"
+ + "root.ln.wf01.wt01.temperature,\n"
+ + "root.ln.wf01.wt02.humidity,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN,
"root.ln.wf01", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+
+ standard =
+ "Column,\n"
+ + "root.ln.wf03.wt02.status,\n"
+ + "root.ln.wf01.wt02.humidity,\n";
+ resultSet = databaseMetaData.getColumns(Constant.CATALOG_COLUMN,
"root.ln.*.wt02", null, null);
+ checkCorrectness(resultSet, standard);
+ resultSet.close();
+ }
+
+ private void checkCorrectness(ResultSet resultSet, String standard) throws
SQLException{
+ ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+ int colCount = resultSetMetaData.getColumnCount();
+ StringBuilder resultStr = new StringBuilder();
+ for (int i = 1; i < colCount + 1; i++) {
+ resultStr.append(resultSetMetaData.getColumnName(i)).append(",");
+ }
+ resultStr.append("\n");
+ while (resultSet.next()) {
+ for (int i = 1; i <= colCount; i++) {
+ resultStr.append(resultSet.getString(i)).append(",");
+ }
+ resultStr.append("\n");
+ }
+ Assert.assertEquals(standard, resultStr.toString());
+ }
}