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