diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java index 214a2c31806f4..c66de9e73d523 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedLastQueryIT.java @@ -124,7 +124,8 @@ public void selectAllAlignedAndNonAlignedLastTest() { "40,root.sg1.d2.s2,40,INT32", "30,root.sg1.d2.s3,30,INT64", "30,root.sg1.d2.s4,false,BOOLEAN", - "40,root.sg1.d2.s5,non_aligned_test40,TEXT")); + "40,root.sg1.d2.s5,non_aligned_test40,TEXT", + "-40,root.sg1.d2.s6,40.0,DOUBLE")); try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java index 016e2d59daab7..a361083106896 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBAlignedSeriesQueryIT.java @@ -165,46 +165,47 @@ public void selectAllAlignedAndNonAlignedTest() { String[] retArray = new String[] { - "1,1.0,1,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1", - "2,2.0,2,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2", - "3,30000.0,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3", - "4,4.0,4,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4", - "5,5.0,5,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5", - "6,6.0,6,6,true,null,6.0,6,6,true,null", - "7,7.0,7,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7", - "8,8.0,8,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8", - "9,9.0,9,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9", - "10,null,10,10,true,aligned_test10,null,10,10,true,non_aligned_test10", - "11,11.0,11,11,null,null,11.0,11,11,null,null", - "12,12.0,12,12,null,null,12.0,12,12,null,null", - "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null", - "14,14.0,14,14,null,null,14.0,14,14,null,null", - "15,15.0,15,15,null,null,15.0,15,15,null,null", - "16,16.0,16,16,null,null,16.0,16,16,null,null", - "17,17.0,17,17,null,null,17.0,17,17,null,null", - "18,18.0,18,18,null,null,18.0,18,18,null,null", - "19,19.0,19,19,null,null,19.0,19,19,null,null", - "20,20.0,20,20,null,null,20.0,20,20,null,null", - "21,null,null,21,true,null,null,null,21,true,null", - "22,null,null,22,true,null,null,null,22,true,null", - "23,230000.0,null,230000,false,null,null,null,23,true,null", - "24,null,null,24,true,null,null,null,24,true,null", - "25,null,null,25,true,null,null,null,25,true,null", - "26,null,null,26,false,null,null,null,26,false,null", - "27,null,null,27,false,null,null,null,27,false,null", - "28,null,null,28,false,null,null,null,28,false,null", - "29,null,null,29,false,null,null,null,29,false,null", - "30,null,null,30,false,null,null,null,30,false,null", - "31,null,31,null,null,aligned_test31,null,31,null,null,non_aligned_test31", - "32,null,32,null,null,aligned_test32,null,32,null,null,non_aligned_test32", - "33,null,33,null,null,aligned_test33,null,33,null,null,non_aligned_test33", - "34,null,34,null,null,aligned_test34,null,34,null,null,non_aligned_test34", - "35,null,35,null,null,aligned_test35,null,35,null,null,non_aligned_test35", - "36,null,36,null,null,aligned_test36,null,36,null,null,non_aligned_test36", - "37,null,37,null,null,aligned_test37,null,37,null,null,non_aligned_test37", - "38,null,38,null,null,aligned_test38,null,38,null,null,non_aligned_test38", - "39,null,39,null,null,aligned_test39,null,39,null,null,non_aligned_test39", - "40,null,40,null,null,aligned_test40,null,40,null,null,non_aligned_test40", + "-40,null,null,null,null,null,null,null,null,null,null,40.0", + "1,1.0,1,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1,null", + "2,2.0,2,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2,null", + "3,30000.0,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3,null", + "4,4.0,4,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4,null", + "5,5.0,5,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5,null", + "6,6.0,6,6,true,null,6.0,6,6,true,null,null", + "7,7.0,7,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7,null", + "8,8.0,8,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8,null", + "9,9.0,9,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9,null", + "10,null,10,10,true,aligned_test10,null,10,10,true,non_aligned_test10,null", + "11,11.0,11,11,null,null,11.0,11,11,null,null,null", + "12,12.0,12,12,null,null,12.0,12,12,null,null,null", + "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null,null", + "14,14.0,14,14,null,null,14.0,14,14,null,null,null", + "15,15.0,15,15,null,null,15.0,15,15,null,null,null", + "16,16.0,16,16,null,null,16.0,16,16,null,null,null", + "17,17.0,17,17,null,null,17.0,17,17,null,null,null", + "18,18.0,18,18,null,null,18.0,18,18,null,null,null", + "19,19.0,19,19,null,null,19.0,19,19,null,null,null", + "20,20.0,20,20,null,null,20.0,20,20,null,null,null", + "21,null,null,21,true,null,null,null,21,true,null,null", + "22,null,null,22,true,null,null,null,22,true,null,null", + "23,230000.0,null,230000,false,null,null,null,23,true,null,null", + "24,null,null,24,true,null,null,null,24,true,null,null", + "25,null,null,25,true,null,null,null,25,true,null,null", + "26,null,null,26,false,null,null,null,26,false,null,null", + "27,null,null,27,false,null,null,null,27,false,null,null", + "28,null,null,28,false,null,null,null,28,false,null,null", + "29,null,null,29,false,null,null,null,29,false,null,null", + "30,null,null,30,false,null,null,null,30,false,null,null", + "31,null,31,null,null,aligned_test31,null,31,null,null,non_aligned_test31,null", + "32,null,32,null,null,aligned_test32,null,32,null,null,non_aligned_test32,null", + "33,null,33,null,null,aligned_test33,null,33,null,null,non_aligned_test33,null", + "34,null,34,null,null,aligned_test34,null,34,null,null,non_aligned_test34,null", + "35,null,35,null,null,aligned_test35,null,35,null,null,non_aligned_test35,null", + "36,null,36,null,null,aligned_test36,null,36,null,null,non_aligned_test36,null", + "37,null,37,null,null,aligned_test37,null,37,null,null,non_aligned_test37,null", + "38,null,38,null,null,aligned_test38,null,38,null,null,non_aligned_test38,null", + "39,null,39,null,null,aligned_test39,null,39,null,null,non_aligned_test39,null", + "40,null,40,null,null,aligned_test40,null,40,null,null,non_aligned_test40,null", }; String[] columnNames = { @@ -217,7 +218,8 @@ public void selectAllAlignedAndNonAlignedTest() { "root.sg1.d2.s2", "root.sg1.d2.s3", "root.sg1.d2.s4", - "root.sg1.d2.s5" + "root.sg1.d2.s5", + "root.sg1.d2.s6", }; try (Connection connection = EnvFactory.getEnv().getConnection(); @@ -766,11 +768,11 @@ public void selectAllAlignedAndNonAlignedTest1() { String[] retArray = new String[] { - "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null", - "17,17.0,17,17,null,null,17.0,17,17,null,null", - "18,18.0,18,18,null,null,18.0,18,18,null,null", - "19,19.0,19,19,null,null,19.0,19,19,null,null", - "20,20.0,20,20,null,null,20.0,20,20,null,null", + "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null,null", + "17,17.0,17,17,null,null,17.0,17,17,null,null,null", + "18,18.0,18,18,null,null,18.0,18,18,null,null,null", + "19,19.0,19,19,null,null,19.0,19,19,null,null,null", + "20,20.0,20,20,null,null,20.0,20,20,null,null,null", }; String[] columnNames = { @@ -783,7 +785,8 @@ public void selectAllAlignedAndNonAlignedTest1() { "root.sg1.d2.s2", "root.sg1.d2.s3", "root.sg1.d2.s4", - "root.sg1.d2.s5" + "root.sg1.d2.s5", + "root.sg1.d2.s6" }; try (Connection connection = EnvFactory.getEnv().getConnection(); @@ -823,29 +826,29 @@ public void selectAllAlignedAndNonAlignedTest2() { String[] retArray = new String[] { - "3,30000.0,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3", - "7,7.0,7,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7", - "9,9.0,9,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9", - "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null", - "17,17.0,17,17,null,null,17.0,17,17,null,null", - "18,18.0,18,18,null,null,18.0,18,18,null,null", - "19,19.0,19,19,null,null,19.0,19,19,null,null", - "20,20.0,20,20,null,null,20.0,20,20,null,null", - "26,null,null,26,false,null,null,null,26,false,null", - "27,null,null,27,false,null,null,null,27,false,null", - "28,null,null,28,false,null,null,null,28,false,null", - "29,null,null,29,false,null,null,null,29,false,null", - "30,null,null,30,false,null,null,null,30,false,null", - "31,null,31,null,null,aligned_test31,null,31,null,null,non_aligned_test31", - "32,null,32,null,null,aligned_test32,null,32,null,null,non_aligned_test32", - "33,null,33,null,null,aligned_test33,null,33,null,null,non_aligned_test33", - "34,null,34,null,null,aligned_test34,null,34,null,null,non_aligned_test34", - "35,null,35,null,null,aligned_test35,null,35,null,null,non_aligned_test35", - "36,null,36,null,null,aligned_test36,null,36,null,null,non_aligned_test36", - "37,null,37,null,null,aligned_test37,null,37,null,null,non_aligned_test37", - "38,null,38,null,null,aligned_test38,null,38,null,null,non_aligned_test38", - "39,null,39,null,null,aligned_test39,null,39,null,null,non_aligned_test39", - "40,null,40,null,null,aligned_test40,null,40,null,null,non_aligned_test40", + "3,30000.0,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3,null", + "7,7.0,7,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7,null", + "9,9.0,9,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9,null", + "13,130000.0,130000,130000,true,aligned_unseq_test13,13.0,13,13,null,null,null", + "17,17.0,17,17,null,null,17.0,17,17,null,null,null", + "18,18.0,18,18,null,null,18.0,18,18,null,null,null", + "19,19.0,19,19,null,null,19.0,19,19,null,null,null", + "20,20.0,20,20,null,null,20.0,20,20,null,null,null", + "26,null,null,26,false,null,null,null,26,false,null,null", + "27,null,null,27,false,null,null,null,27,false,null,null", + "28,null,null,28,false,null,null,null,28,false,null,null", + "29,null,null,29,false,null,null,null,29,false,null,null", + "30,null,null,30,false,null,null,null,30,false,null,null", + "31,null,31,null,null,aligned_test31,null,31,null,null,non_aligned_test31,null", + "32,null,32,null,null,aligned_test32,null,32,null,null,non_aligned_test32,null", + "33,null,33,null,null,aligned_test33,null,33,null,null,non_aligned_test33,null", + "34,null,34,null,null,aligned_test34,null,34,null,null,non_aligned_test34,null", + "35,null,35,null,null,aligned_test35,null,35,null,null,non_aligned_test35,null", + "36,null,36,null,null,aligned_test36,null,36,null,null,non_aligned_test36,null", + "37,null,37,null,null,aligned_test37,null,37,null,null,non_aligned_test37,null", + "38,null,38,null,null,aligned_test38,null,38,null,null,non_aligned_test38,null", + "39,null,39,null,null,aligned_test39,null,39,null,null,non_aligned_test39,null", + "40,null,40,null,null,aligned_test40,null,40,null,null,non_aligned_test40,null", }; String[] columnNames = { @@ -858,7 +861,8 @@ public void selectAllAlignedAndNonAlignedTest2() { "root.sg1.d2.s2", "root.sg1.d2.s3", "root.sg1.d2.s4", - "root.sg1.d2.s5" + "root.sg1.d2.s5", + "root.sg1.d2.s6" }; try (Connection connection = EnvFactory.getEnv().getConnection(); @@ -1304,7 +1308,8 @@ public void countAllAlignedWithoutTimeFilterTest() { @Test public void countAllAlignedAndNonAlignedWithoutTimeFilterTest() { - String[] retArray = new String[] {"20", "29", "28", "19", "20", "19", "29", "28", "18", "19"}; + String[] retArray = + new String[] {"20", "29", "28", "19", "20", "19", "29", "28", "18", "19", "1"}; String[] columnNames = { "count(root.sg1.d1.s1)", "count(root.sg1.d1.s2)", @@ -1315,7 +1320,8 @@ public void countAllAlignedAndNonAlignedWithoutTimeFilterTest() { "count(root.sg1.d2.s2)", "count(root.sg1.d2.s3)", "count(root.sg1.d2.s4)", - "count(root.sg1.d2.s5)" + "count(root.sg1.d2.s5)", + "count(root.sg1.d2.s6)", }; try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { @@ -1850,89 +1856,90 @@ public void selectAllAlignedWithoutValueFilterAlignByDeviceTest() { public void selectAllAlignedAndNonAlignedAlignByDeviceTest() { String[] retArray = new String[] { - "1,root.sg1.d1,1.0,1,1,true,aligned_test1", - "2,root.sg1.d1,2.0,2,2,null,aligned_test2", - "3,root.sg1.d1,30000.0,null,30000,true,aligned_unseq_test3", - "4,root.sg1.d1,4.0,4,null,true,aligned_test4", - "5,root.sg1.d1,5.0,5,null,true,aligned_test5", - "6,root.sg1.d1,6.0,6,6,true,null", - "7,root.sg1.d1,7.0,7,7,false,aligned_test7", - "8,root.sg1.d1,8.0,8,8,null,aligned_test8", - "9,root.sg1.d1,9.0,9,9,false,aligned_test9", - "10,root.sg1.d1,null,10,10,true,aligned_test10", - "11,root.sg1.d1,11.0,11,11,null,null", - "12,root.sg1.d1,12.0,12,12,null,null", - "13,root.sg1.d1,130000.0,130000,130000,true,aligned_unseq_test13", - "14,root.sg1.d1,14.0,14,14,null,null", - "15,root.sg1.d1,15.0,15,15,null,null", - "16,root.sg1.d1,16.0,16,16,null,null", - "17,root.sg1.d1,17.0,17,17,null,null", - "18,root.sg1.d1,18.0,18,18,null,null", - "19,root.sg1.d1,19.0,19,19,null,null", - "20,root.sg1.d1,20.0,20,20,null,null", - "21,root.sg1.d1,null,null,21,true,null", - "22,root.sg1.d1,null,null,22,true,null", - "23,root.sg1.d1,230000.0,null,230000,false,null", - "24,root.sg1.d1,null,null,24,true,null", - "25,root.sg1.d1,null,null,25,true,null", - "26,root.sg1.d1,null,null,26,false,null", - "27,root.sg1.d1,null,null,27,false,null", - "28,root.sg1.d1,null,null,28,false,null", - "29,root.sg1.d1,null,null,29,false,null", - "30,root.sg1.d1,null,null,30,false,null", - "31,root.sg1.d1,null,31,null,null,aligned_test31", - "32,root.sg1.d1,null,32,null,null,aligned_test32", - "33,root.sg1.d1,null,33,null,null,aligned_test33", - "34,root.sg1.d1,null,34,null,null,aligned_test34", - "35,root.sg1.d1,null,35,null,null,aligned_test35", - "36,root.sg1.d1,null,36,null,null,aligned_test36", - "37,root.sg1.d1,null,37,null,null,aligned_test37", - "38,root.sg1.d1,null,38,null,null,aligned_test38", - "39,root.sg1.d1,null,39,null,null,aligned_test39", - "40,root.sg1.d1,null,40,null,null,aligned_test40", - "1,root.sg1.d2,1.0,1,1,true,non_aligned_test1", - "2,root.sg1.d2,2.0,2,2,null,non_aligned_test2", - "3,root.sg1.d2,3.0,null,3,false,non_aligned_test3", - "4,root.sg1.d2,4.0,4,null,true,non_aligned_test4", - "5,root.sg1.d2,5.0,5,null,true,non_aligned_test5", - "6,root.sg1.d2,6.0,6,6,true,null", - "7,root.sg1.d2,7.0,7,7,false,non_aligned_test7", - "8,root.sg1.d2,8.0,8,8,null,non_aligned_test8", - "9,root.sg1.d2,9.0,9,9,false,non_aligned_test9", - "10,root.sg1.d2,null,10,10,true,non_aligned_test10", - "11,root.sg1.d2,11.0,11,11,null,null", - "12,root.sg1.d2,12.0,12,12,null,null", - "13,root.sg1.d2,13.0,13,13,null,null", - "14,root.sg1.d2,14.0,14,14,null,null", - "15,root.sg1.d2,15.0,15,15,null,null", - "16,root.sg1.d2,16.0,16,16,null,null", - "17,root.sg1.d2,17.0,17,17,null,null", - "18,root.sg1.d2,18.0,18,18,null,null", - "19,root.sg1.d2,19.0,19,19,null,null", - "20,root.sg1.d2,20.0,20,20,null,null", - "21,root.sg1.d2,null,null,21,true,null", - "22,root.sg1.d2,null,null,22,true,null", - "23,root.sg1.d2,null,null,23,true,null", - "24,root.sg1.d2,null,null,24,true,null", - "25,root.sg1.d2,null,null,25,true,null", - "26,root.sg1.d2,null,null,26,false,null", - "27,root.sg1.d2,null,null,27,false,null", - "28,root.sg1.d2,null,null,28,false,null", - "29,root.sg1.d2,null,null,29,false,null", - "30,root.sg1.d2,null,null,30,false,null", - "31,root.sg1.d2,null,31,null,null,non_aligned_test31", - "32,root.sg1.d2,null,32,null,null,non_aligned_test32", - "33,root.sg1.d2,null,33,null,null,non_aligned_test33", - "34,root.sg1.d2,null,34,null,null,non_aligned_test34", - "35,root.sg1.d2,null,35,null,null,non_aligned_test35", - "36,root.sg1.d2,null,36,null,null,non_aligned_test36", - "37,root.sg1.d2,null,37,null,null,non_aligned_test37", - "38,root.sg1.d2,null,38,null,null,non_aligned_test38", - "39,root.sg1.d2,null,39,null,null,non_aligned_test39", - "40,root.sg1.d2,null,40,null,null,non_aligned_test40", + "1,root.sg1.d1,1.0,1,1,true,aligned_test1,null", + "2,root.sg1.d1,2.0,2,2,null,aligned_test2,null", + "3,root.sg1.d1,30000.0,null,30000,true,aligned_unseq_test3,null", + "4,root.sg1.d1,4.0,4,null,true,aligned_test4,null", + "5,root.sg1.d1,5.0,5,null,true,aligned_test5,null", + "6,root.sg1.d1,6.0,6,6,true,null,null", + "7,root.sg1.d1,7.0,7,7,false,aligned_test7,null", + "8,root.sg1.d1,8.0,8,8,null,aligned_test8,null", + "9,root.sg1.d1,9.0,9,9,false,aligned_test9,null", + "10,root.sg1.d1,null,10,10,true,aligned_test10,null", + "11,root.sg1.d1,11.0,11,11,null,null,null", + "12,root.sg1.d1,12.0,12,12,null,null,null", + "13,root.sg1.d1,130000.0,130000,130000,true,aligned_unseq_test13,null", + "14,root.sg1.d1,14.0,14,14,null,null,null", + "15,root.sg1.d1,15.0,15,15,null,null,null", + "16,root.sg1.d1,16.0,16,16,null,null,null", + "17,root.sg1.d1,17.0,17,17,null,null,null", + "18,root.sg1.d1,18.0,18,18,null,null,null", + "19,root.sg1.d1,19.0,19,19,null,null,null", + "20,root.sg1.d1,20.0,20,20,null,null,null", + "21,root.sg1.d1,null,null,21,true,null,null", + "22,root.sg1.d1,null,null,22,true,null,null", + "23,root.sg1.d1,230000.0,null,230000,false,null,null", + "24,root.sg1.d1,null,null,24,true,null,null", + "25,root.sg1.d1,null,null,25,true,null,null", + "26,root.sg1.d1,null,null,26,false,null,null", + "27,root.sg1.d1,null,null,27,false,null,null", + "28,root.sg1.d1,null,null,28,false,null,null", + "29,root.sg1.d1,null,null,29,false,null,null", + "30,root.sg1.d1,null,null,30,false,null,null", + "31,root.sg1.d1,null,31,null,null,aligned_test31,null", + "32,root.sg1.d1,null,32,null,null,aligned_test32,null", + "33,root.sg1.d1,null,33,null,null,aligned_test33,null", + "34,root.sg1.d1,null,34,null,null,aligned_test34,null", + "35,root.sg1.d1,null,35,null,null,aligned_test35,null", + "36,root.sg1.d1,null,36,null,null,aligned_test36,null", + "37,root.sg1.d1,null,37,null,null,aligned_test37,null", + "38,root.sg1.d1,null,38,null,null,aligned_test38,null", + "39,root.sg1.d1,null,39,null,null,aligned_test39,null", + "40,root.sg1.d1,null,40,null,null,aligned_test40,null", + "-40,root.sg1.d2,null,null,null,null,null,40.0", + "1,root.sg1.d2,1.0,1,1,true,non_aligned_test1,null", + "2,root.sg1.d2,2.0,2,2,null,non_aligned_test2,null", + "3,root.sg1.d2,3.0,null,3,false,non_aligned_test3,null", + "4,root.sg1.d2,4.0,4,null,true,non_aligned_test4,null", + "5,root.sg1.d2,5.0,5,null,true,non_aligned_test5,null", + "6,root.sg1.d2,6.0,6,6,true,null,null", + "7,root.sg1.d2,7.0,7,7,false,non_aligned_test7,null", + "8,root.sg1.d2,8.0,8,8,null,non_aligned_test8,null", + "9,root.sg1.d2,9.0,9,9,false,non_aligned_test9,null", + "10,root.sg1.d2,null,10,10,true,non_aligned_test10,null", + "11,root.sg1.d2,11.0,11,11,null,null,null", + "12,root.sg1.d2,12.0,12,12,null,null,null", + "13,root.sg1.d2,13.0,13,13,null,null,null", + "14,root.sg1.d2,14.0,14,14,null,null,null", + "15,root.sg1.d2,15.0,15,15,null,null,null", + "16,root.sg1.d2,16.0,16,16,null,null,null", + "17,root.sg1.d2,17.0,17,17,null,null,null", + "18,root.sg1.d2,18.0,18,18,null,null,null", + "19,root.sg1.d2,19.0,19,19,null,null,null", + "20,root.sg1.d2,20.0,20,20,null,null,null", + "21,root.sg1.d2,null,null,21,true,null,null", + "22,root.sg1.d2,null,null,22,true,null,null", + "23,root.sg1.d2,null,null,23,true,null,null", + "24,root.sg1.d2,null,null,24,true,null,null", + "25,root.sg1.d2,null,null,25,true,null,null", + "26,root.sg1.d2,null,null,26,false,null,null", + "27,root.sg1.d2,null,null,27,false,null,null", + "28,root.sg1.d2,null,null,28,false,null,null", + "29,root.sg1.d2,null,null,29,false,null,null", + "30,root.sg1.d2,null,null,30,false,null,null", + "31,root.sg1.d2,null,31,null,null,non_aligned_test31,null", + "32,root.sg1.d2,null,32,null,null,non_aligned_test32,null", + "33,root.sg1.d2,null,33,null,null,non_aligned_test33,null", + "34,root.sg1.d2,null,34,null,null,non_aligned_test34,null", + "35,root.sg1.d2,null,35,null,null,non_aligned_test35,null", + "36,root.sg1.d2,null,36,null,null,non_aligned_test36,null", + "37,root.sg1.d2,null,37,null,null,non_aligned_test37,null", + "38,root.sg1.d2,null,38,null,null,non_aligned_test38,null", + "39,root.sg1.d2,null,39,null,null,non_aligned_test39,null", + "40,root.sg1.d2,null,40,null,null,non_aligned_test40,null", }; - String[] columnNames = {"Device", "s1", "s2", "s3", "s4", "s5"}; + String[] columnNames = {"Device", "s1", "s2", "s3", "s4", "s5", "s6"}; try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { @@ -2518,9 +2525,10 @@ public void countAllAlignedWithoutTimeFilterAlignByDeviceTest() { @Test public void countAllAlignedAndNonAlignedWithoutTimeFilterAlignByDeviceTest() { - String[] retArray = new String[] {"root.sg1.d1,20,29,28,19,20,", "root.sg1.d2,19,29,28,18,19,"}; + String[] retArray = + new String[] {"root.sg1.d1,20,29,28,19,20,null,", "root.sg1.d2,19,29,28,18,19,1,"}; String[] columnNames = { - "Device", "count(s1)", "count(s2)", "count(s3)", "count(s4)", "count(s5)" + "Device", "count(s1)", "count(s2)", "count(s3)", "count(s4)", "count(s5)", "count(s6)" }; try (Connection connection = EnvFactory.getEnv().getConnection(); diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java index f02e2fd6ec8ae..cd2ce061c0031 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithDeletionIT.java @@ -125,7 +125,8 @@ public void selectAllAlignedAndNonAlignedLastTest() { "40,root.sg1.d2.s2,40,INT32", "30,root.sg1.d2.s3,30,INT64", "30,root.sg1.d2.s4,false,BOOLEAN", - "40,root.sg1.d2.s5,non_aligned_test40,TEXT")); + "40,root.sg1.d2.s5,non_aligned_test40,TEXT", + "-40,root.sg1.d2.s6,40.0,DOUBLE")); try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement(); diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java index 25b6a2098c9c3..b9b8cd24bc17f 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBLastQueryWithoutLastCacheIT.java @@ -122,7 +122,8 @@ public void selectAllAlignedAndNonAlignedLastTest() { "40,root.sg1.d2.s2,40,INT32", "30,root.sg1.d2.s3,30,INT64", "30,root.sg1.d2.s4,false,BOOLEAN", - "40,root.sg1.d2.s5,non_aligned_test40,TEXT")); + "40,root.sg1.d2.s5,non_aligned_test40,TEXT", + "-40,root.sg1.d2.s6,40.0,DOUBLE")); try (Connection connection = EnvFactory.getEnv().getConnection(); Statement statement = connection.createStatement()) { diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java index 5bd02dbacacc8..67787a8ddd233 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/aligned/IoTDBRawQueryWithoutValueFilterWithDeletionIT.java @@ -155,46 +155,47 @@ public void selectAllAlignedAndNonAlignedTest() { String[] retArray = new String[] { - "1,null,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1", - "2,null,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2", - "3,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3", - "4,null,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4", - "5,null,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5", - "6,null,6,true,null,6.0,6,6,true,null", - "7,null,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7", - "8,null,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8", - "9,null,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9", - "10,null,10,true,aligned_test10,null,10,10,true,non_aligned_test10", - "11,null,11,null,null,11.0,11,11,null,null", - "12,null,12,null,null,12.0,12,12,null,null", - "13,null,130000,true,aligned_unseq_test13,13.0,13,13,null,null", - "14,null,14,null,null,14.0,14,14,null,null", - "15,null,15,null,null,15.0,15,15,null,null", - "16,null,16,null,null,16.0,16,16,null,null", - "17,null,17,null,null,17.0,17,17,null,null", - "18,null,18,null,null,18.0,18,18,null,null", - "19,null,19,null,null,19.0,19,19,null,null", - "20,null,20,null,null,20.0,20,20,null,null", - "21,null,21,true,null,null,null,21,true,null", - "22,null,22,true,null,null,null,22,true,null", - "23,230000.0,230000,false,null,null,null,23,true,null", - "24,null,24,true,null,null,null,24,true,null", - "25,null,25,true,null,null,null,25,true,null", - "26,null,26,false,null,null,null,26,false,null", - "27,null,27,false,null,null,null,27,false,null", - "28,null,28,false,null,null,null,28,false,null", - "29,null,29,false,null,null,null,29,false,null", - "30,null,30,false,null,null,null,30,false,null", - "31,null,null,null,null,null,31,null,null,non_aligned_test31", - "32,null,null,null,aligned_test32,null,32,null,null,non_aligned_test32", - "33,null,null,null,aligned_test33,null,33,null,null,non_aligned_test33", - "34,null,null,null,aligned_test34,null,34,null,null,non_aligned_test34", - "35,null,null,null,aligned_test35,null,35,null,null,non_aligned_test35", - "36,null,null,null,aligned_test36,null,36,null,null,non_aligned_test36", - "37,null,null,null,aligned_test37,null,37,null,null,non_aligned_test37", - "38,null,null,null,aligned_test38,null,38,null,null,non_aligned_test38", - "39,null,null,null,aligned_test39,null,39,null,null,non_aligned_test39", - "40,null,null,null,aligned_test40,null,40,null,null,non_aligned_test40", + "-40,null,null,null,null,null,null,null,null,null,40.0", + "1,null,1,true,aligned_test1,1.0,1,1,true,non_aligned_test1,null", + "2,null,2,null,aligned_test2,2.0,2,2,null,non_aligned_test2,null", + "3,null,30000,true,aligned_unseq_test3,3.0,null,3,false,non_aligned_test3,null", + "4,null,null,true,aligned_test4,4.0,4,null,true,non_aligned_test4,null", + "5,null,null,true,aligned_test5,5.0,5,null,true,non_aligned_test5,null", + "6,null,6,true,null,6.0,6,6,true,null,null", + "7,null,7,false,aligned_test7,7.0,7,7,false,non_aligned_test7,null", + "8,null,8,null,aligned_test8,8.0,8,8,null,non_aligned_test8,null", + "9,null,9,false,aligned_test9,9.0,9,9,false,non_aligned_test9,null", + "10,null,10,true,aligned_test10,null,10,10,true,non_aligned_test10,null", + "11,null,11,null,null,11.0,11,11,null,null,null", + "12,null,12,null,null,12.0,12,12,null,null,null", + "13,null,130000,true,aligned_unseq_test13,13.0,13,13,null,null,null", + "14,null,14,null,null,14.0,14,14,null,null,null", + "15,null,15,null,null,15.0,15,15,null,null,null", + "16,null,16,null,null,16.0,16,16,null,null,null", + "17,null,17,null,null,17.0,17,17,null,null,null", + "18,null,18,null,null,18.0,18,18,null,null,null", + "19,null,19,null,null,19.0,19,19,null,null,null", + "20,null,20,null,null,20.0,20,20,null,null,null", + "21,null,21,true,null,null,null,21,true,null,null", + "22,null,22,true,null,null,null,22,true,null,null", + "23,230000.0,230000,false,null,null,null,23,true,null,null", + "24,null,24,true,null,null,null,24,true,null,null", + "25,null,25,true,null,null,null,25,true,null,null", + "26,null,26,false,null,null,null,26,false,null,null", + "27,null,27,false,null,null,null,27,false,null,null", + "28,null,28,false,null,null,null,28,false,null,null", + "29,null,29,false,null,null,null,29,false,null,null", + "30,null,30,false,null,null,null,30,false,null,null", + "31,null,null,null,null,null,31,null,null,non_aligned_test31,null", + "32,null,null,null,aligned_test32,null,32,null,null,non_aligned_test32,null", + "33,null,null,null,aligned_test33,null,33,null,null,non_aligned_test33,null", + "34,null,null,null,aligned_test34,null,34,null,null,non_aligned_test34,null", + "35,null,null,null,aligned_test35,null,35,null,null,non_aligned_test35,null", + "36,null,null,null,aligned_test36,null,36,null,null,non_aligned_test36,null", + "37,null,null,null,aligned_test37,null,37,null,null,non_aligned_test37,null", + "38,null,null,null,aligned_test38,null,38,null,null,non_aligned_test38,null", + "39,null,null,null,aligned_test39,null,39,null,null,non_aligned_test39,null", + "40,null,null,null,aligned_test40,null,40,null,null,non_aligned_test40,null", }; String[] columnNames = { @@ -206,7 +207,8 @@ public void selectAllAlignedAndNonAlignedTest() { "root.sg1.d2.s2", "root.sg1.d2.s3", "root.sg1.d2.s4", - "root.sg1.d2.s5" + "root.sg1.d2.s5", + "root.sg1.d2.s6" }; try (Connection connection = EnvFactory.getEnv().getConnection(); diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java index 798f1b2b889d4..b0cee529f0da0 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/AlignedWriteUtil.java @@ -44,6 +44,7 @@ public class AlignedWriteUtil { "create timeseries root.sg1.d2.s3 WITH DATATYPE=INT64", "create timeseries root.sg1.d2.s4 WITH DATATYPE=BOOLEAN", "create timeseries root.sg1.d2.s5 WITH DATATYPE=TEXT", + "create timeseries root.sg1.d2.s6 WITH DATATYPE=DOUBLE", "insert into root.sg1.d1(time, s1, s2, s3, s4, s5) aligned values(1, 1.0, 1, 1, TRUE, 'aligned_test1')", "insert into root.sg1.d1(time, s1, s2, s3, s5) aligned values(2, 2.0, 2, 2, 'aligned_test2')", "insert into root.sg1.d1(time, s1, s3, s4, s5) aligned values(3, 3.0, 3, FALSE, 'aligned_test3')", @@ -130,6 +131,7 @@ public class AlignedWriteUtil { "insert into root.sg1.d2(time, s2, s5) values(38, 38, 'non_aligned_test38')", "insert into root.sg1.d2(time, s2, s5) values(39, 39, 'non_aligned_test39')", "insert into root.sg1.d2(time, s2, s5) values(40, 40, 'non_aligned_test40')", + "insert into root.sg1.d2(time, s6) values(-40, 40)", }; public static void insertData() { diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java index abf593670825f..723fdcceec935 100644 --- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java +++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java @@ -684,6 +684,32 @@ public static void assertResultSetEqual( } } + public static void assertResultSetEqual( + SessionDataSet actualResultSet, + List expectedColumnNames, + Set expectedRetArray, + boolean ignoreTimeStamp) { + try { + List actualColumnNames = actualResultSet.getColumnNames(); + if (ignoreTimeStamp) { + assertEquals(expectedColumnNames, actualColumnNames); + } else { + assertEquals(TIMESTAMP_STR, actualColumnNames.get(0)); + assertEquals(expectedColumnNames, actualColumnNames.subList(1, actualColumnNames.size())); + } + + int count = 0; + while (actualResultSet.hasNext()) { + RowRecord rowRecord = actualResultSet.next(); + assertTrue(expectedRetArray.remove(rowRecord.toString().replace('\t', ','))); + } + assertEquals(expectedRetArray.size(), count); + } catch (IoTDBConnectionException | StatementExecutionException e) { + e.printStackTrace(); + fail(e.getMessage()); + } + } + public static void createUser(String userName, String password) { createUser(EnvFactory.getEnv(), userName, password); } diff --git a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionQueryIT.java b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionQueryIT.java index ba5c22ab9969e..8bd6833ec089d 100644 --- a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionQueryIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionQueryIT.java @@ -40,7 +40,9 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.HashSet; import java.util.List; +import java.util.Set; import static org.apache.iotdb.db.it.utils.TestUtils.assertResultSetEqual; import static org.junit.Assert.fail; @@ -149,10 +151,13 @@ public void rawDataQueryWithTimeRangeTest2() throws IoTDBConnectionException { @Test public void lastQueryTest() throws IoTDBConnectionException { - String[] retArray = new String[] {"23,root.sg1.d1.s1,230000.0,FLOAT"}; + Set retArray = + new HashSet<>( + Arrays.asList("-40,root.sg1.d2.s6,40.0,DOUBLE", "23,root.sg1.d1.s1,230000.0,FLOAT")); - List selectedPaths = Collections.singletonList("root.sg1.d1.s1"); + List selectedPaths = Arrays.asList("root.sg1.d1.s1", "root.sg1.d2.s6"); + // Does not guarantee sequence try (ISession session = EnvFactory.getEnv().getSessionConnection()) { try (SessionDataSet resultSet = session.executeLastDataQuery(selectedPaths)) { assertResultSetEqual(resultSet, lastQueryColumnNames, retArray, true); diff --git a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java index ff7c927871d94..461aef3624511 100644 --- a/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java +++ b/iotdb-client/session/src/main/java/org/apache/iotdb/session/Session.java @@ -1042,8 +1042,7 @@ public SessionDataSet executeLastDataQuery(List paths, long lastTime, lo @Override public SessionDataSet executeLastDataQuery(List paths) throws StatementExecutionException, IoTDBConnectionException { - long time = 0L; - return executeLastDataQuery(paths, time, queryTimeoutInMs); + return executeLastDataQuery(paths, Long.MIN_VALUE, queryTimeoutInMs); } @Override