This is an automated email from the ASF dual-hosted git repository. rong pushed a commit to branch nested-operations in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 55f1a3c41b5e56dc65b2f26ee28a66ed1a829d78 Author: Steve Yurong Su <[email protected]> AuthorDate: Fri Sep 17 19:53:22 2021 +0800 increase code cov --- .../iotdb/db/integration/IoTDBNestedQueryIT.java | 68 +++++++++++++++++----- .../db/integration/IoTDBUDFWindowQueryIT.java | 2 +- .../integration/IoTDBUDTFAlignByTimeQueryIT.java | 16 ----- .../db/integration/IoTDBUDTFHybridQueryIT.java | 2 - .../iotdb/db/query/udf/example/Accumulator.java | 12 +++- 5 files changed, 65 insertions(+), 35 deletions(-) diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java index 735a941..46b8577 100644 --- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java +++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBNestedQueryIT.java @@ -45,6 +45,7 @@ import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.ACCESS_STRAT import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.TIME_INTERVAL_KEY; import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.WINDOW_SIZE_KEY; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; import static org.junit.Assert.fail; public class IoTDBNestedQueryIT { @@ -89,6 +90,12 @@ public class IoTDBNestedQueryIT { TSEncoding.PLAIN, CompressionType.UNCOMPRESSED, null); + IoTDB.metaManager.createTimeseries( + new PartialPath("root.vehicle.empty"), + TSDataType.DOUBLE, + TSEncoding.PLAIN, + CompressionType.UNCOMPRESSED, + null); } private static void generateData() { @@ -126,26 +133,12 @@ public class IoTDBNestedQueryIT { @AfterClass public static void tearDown() throws Exception { - deregisterUDF(); EnvironmentUtils.cleanEnv(); IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(100); IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(100); IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(100); } - private static void deregisterUDF() { - try (Connection connection = - DriverManager.getConnection( - Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root"); - Statement statement = connection.createStatement()) { - statement.execute("drop function adder"); - statement.execute("drop function time_window_counter"); - statement.execute("drop function size_window_counter"); - } catch (SQLException throwable) { - fail(throwable.getMessage()); - } - } - @Test public void testNestedArithmeticExpressions() { String sqlStr = @@ -345,4 +338,51 @@ public class IoTDBNestedQueryIT { } } } + + @Test + public void testSelectEmptyColumns() { + final int[] windows = + new int[] { + 1, 2, 3, 100, 499, + }; + + for (int window : windows) { + String sqlStr = + String.format( + "select time_window_counter(sin(empty), '%s'='%s', '%s'='%s'), " + + "time_window_counter(sin(empty), cos(empty) / sin(empty), empty, '%s'='%s', '%s'='%s'), " + + "size_window_counter(cos(empty - empty) + empty, '%s'='%s', '%s'='%s'), " + + "size_window_counter(cos(empty), cos(empty), '%s'='%s', '%s'='%s'), " + + "empty, sin(empty) - bottom_k(top_k(empty, 'k'='111'), 'k'='111'), " + + "empty * empty / empty + empty %% empty - empty from root.vehicle", + ACCESS_STRATEGY_KEY, + ACCESS_STRATEGY_SLIDING_TIME, + TIME_INTERVAL_KEY, + window, + ACCESS_STRATEGY_KEY, + ACCESS_STRATEGY_SLIDING_TIME, + TIME_INTERVAL_KEY, + window, + ACCESS_STRATEGY_KEY, + ACCESS_STRATEGY_SLIDING_SIZE, + WINDOW_SIZE_KEY, + window, + ACCESS_STRATEGY_KEY, + ACCESS_STRATEGY_SLIDING_SIZE, + WINDOW_SIZE_KEY, + window); + + try (Connection connection = + DriverManager.getConnection( + Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root"); + Statement statement = connection.createStatement()) { + ResultSet resultSet = statement.executeQuery(sqlStr); + + assertEquals(1 + 7, resultSet.getMetaData().getColumnCount()); + assertFalse(resultSet.next()); + } catch (SQLException throwable) { + fail(throwable.getMessage()); + } + } + } } diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java index 0609f39..7129a34 100644 --- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java +++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDFWindowQueryIT.java @@ -318,7 +318,7 @@ public class IoTDBUDFWindowQueryIT { int timeInterval, int slidingStep, int displayWindowBegin, int displayWindowEnd) { String sql = String.format( - "select accumulator(s1, \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\") from root.vehicle.d1", + "select accumulator(s1, s1, s1, \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\", \"%s\"=\"%s\") from root.vehicle.d1", ACCESS_STRATEGY_KEY, ACCESS_STRATEGY_SLIDING_TIME, TIME_INTERVAL_KEY, diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java index f2f7fad..c58cf95 100644 --- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java +++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFAlignByTimeQueryIT.java @@ -173,28 +173,12 @@ public class IoTDBUDTFAlignByTimeQueryIT { @AfterClass public static void tearDown() throws Exception { - deregisterUDF(); EnvironmentUtils.cleanEnv(); IoTDBDescriptor.getInstance().getConfig().setUdfCollectorMemoryBudgetInMB(100); IoTDBDescriptor.getInstance().getConfig().setUdfTransformerMemoryBudgetInMB(100); IoTDBDescriptor.getInstance().getConfig().setUdfReaderMemoryBudgetInMB(100); } - private static void deregisterUDF() { - try (Connection connection = - DriverManager.getConnection( - Config.IOTDB_URL_PREFIX + "127.0.0.1:6667/", "root", "root"); - Statement statement = connection.createStatement()) { - statement.execute("drop function udf"); - statement.execute("drop function multiplier"); - statement.execute("drop function max"); - statement.execute("drop function terminate"); - statement.execute("drop function validate"); - } catch (SQLException throwable) { - fail(throwable.getMessage()); - } - } - @Test public void queryWithoutValueFilter1() { String sqlStr = diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java index a9b7d51..56011a5 100644 --- a/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java +++ b/server/src/test/java/org/apache/iotdb/db/integration/IoTDBUDTFHybridQueryIT.java @@ -92,8 +92,6 @@ public class IoTDBUDTFHybridQueryIT { Statement statement = connection.createStatement()) { statement.execute( "create function counter as \"org.apache.iotdb.db.query.udf.example.Counter\""); - statement.execute( - "create function accumulator as \"org.apache.iotdb.db.query.udf.example.Accumulator\""); } catch (SQLException throwable) { fail(throwable.getMessage()); } diff --git a/server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java b/server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java index 7a6b13d..1a7c5ca 100644 --- a/server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java +++ b/server/src/test/java/org/apache/iotdb/db/query/udf/example/Accumulator.java @@ -37,7 +37,15 @@ import org.slf4j.LoggerFactory; import java.io.IOException; -import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.*; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.ACCESS_STRATEGY_KEY; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.ACCESS_STRATEGY_ROW_BY_ROW; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.ACCESS_STRATEGY_SLIDING_SIZE; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.ACCESS_STRATEGY_SLIDING_TIME; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.DISPLAY_WINDOW_BEGIN_KEY; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.DISPLAY_WINDOW_END_KEY; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.SLIDING_STEP_KEY; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.TIME_INTERVAL_KEY; +import static org.apache.iotdb.db.integration.IoTDBUDFWindowQueryIT.WINDOW_SIZE_KEY; public class Accumulator implements UDTF { @@ -45,7 +53,7 @@ public class Accumulator implements UDTF { @Override public void validate(UDFParameterValidator validator) throws Exception { - validator.validateInputSeriesNumber(1).validateInputSeriesDataType(0, TSDataType.INT32); + validator.validateInputSeriesDataType(0, TSDataType.INT32); } @Override
