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

jackietien pushed a commit to branch AlignByDeviceBug
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit d602898b7fadb9c3cd543106cf032749496b13bf
Author: JackieTien97 <[email protected]>
AuthorDate: Tue Oct 20 15:37:18 2020 +0800

    add IT
---
 .../iotdb/db/integration/IoTDBAlignByDeviceIT.java | 60 ++++++++++++++++++++++
 1 file changed, 60 insertions(+)

diff --git 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
index 814bfe3..b93c08c 100644
--- 
a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
+++ 
b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBAlignByDeviceIT.java
@@ -987,4 +987,64 @@ public class IoTDBAlignByDeviceIT {
     }
     return actualIndexToExpectedIndexList;
   }
+
+  @Test
+  public void selectWithStarTest() throws ClassNotFoundException {
+    String[] retArray = new String[]{
+            "1,root.vehicle.d0,101,1101,null,null,null,",
+            "2,root.vehicle.d0,10000,40000,2.22,null,null,",
+            "3,root.vehicle.d0,null,null,3.33,null,null,",
+            "4,root.vehicle.d0,null,null,4.44,null,null,",
+            "50,root.vehicle.d0,10000,50000,null,null,null,",
+            "60,root.vehicle.d0,null,null,null,aaaaa,null,",
+            "70,root.vehicle.d0,null,null,null,bbbbb,null,",
+            "80,root.vehicle.d0,null,null,null,ccccc,null,",
+            "100,root.vehicle.d0,99,199,null,null,true,",
+            "101,root.vehicle.d0,99,199,null,ddddd,null,",
+            "102,root.vehicle.d0,80,180,10.0,fffff,null,",
+            "103,root.vehicle.d0,99,199,null,null,null,",
+            "104,root.vehicle.d0,90,190,null,null,null,",
+            "105,root.vehicle.d0,99,199,11.11,null,null,",
+            "106,root.vehicle.d0,99,null,null,null,null,",
+            "1000,root.vehicle.d0,22222,55555,1000.11,null,null,",
+            "946684800000,root.vehicle.d0,null,100,null,good,null,",
+            "1,root.vehicle.d1,999,null,null,null,null,",
+            "1000,root.vehicle.d1,888,null,null,null,null,",
+    };
+
+    Class.forName(Config.JDBC_DRIVER_NAME);
+    try (Connection connection = DriverManager
+            .getConnection(Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", 
"root", "root");
+         Statement statement = connection.createStatement()) {
+      boolean hasResultSet = statement.execute(
+              "select * from root.vehicle.d* align by device");
+      Assert.assertTrue(hasResultSet);
+
+      try (ResultSet resultSet = statement.getResultSet()) {
+        ResultSetMetaData resultSetMetaData = resultSet.getMetaData();
+        List<Integer> actualIndexToExpectedIndexList = 
checkHeader(resultSetMetaData,
+                "Time,Device,s0,s1,s2,s3,s4",
+                new int[]{Types.TIMESTAMP, Types.VARCHAR, Types.INTEGER, 
Types.BIGINT, Types.FLOAT,
+                        Types.VARCHAR, Types.BOOLEAN});
+
+        int cnt = 0;
+        while (resultSet.next()) {
+          String[] expectedStrings = retArray[cnt].split(",");
+          StringBuilder expectedBuilder = new StringBuilder();
+          StringBuilder actualBuilder = new StringBuilder();
+          for (int i = 1; i <= resultSetMetaData.getColumnCount(); i++) {
+            actualBuilder.append(resultSet.getString(i)).append(",");
+            
expectedBuilder.append(expectedStrings[actualIndexToExpectedIndexList.get(i - 
1)])
+                    .append(",");
+          }
+          Assert.assertEquals(expectedBuilder.toString(), 
actualBuilder.toString());
+          cnt++;
+        }
+        Assert.assertEquals(19, cnt);
+      }
+    } catch (Exception e) {
+      e.printStackTrace();
+      fail(e.getMessage());
+    }
+  }
 }

Reply via email to