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

Reply via email to