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

hui pushed a commit to branch lmh/extendFilter
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/lmh/extendFilter by this push:
     new 4440d71537e fix UT
4440d71537e is described below

commit 4440d71537e32b17804f81420a45a04e3fc175a2
Author: Minghui Liu <[email protected]>
AuthorDate: Tue Dec 5 23:21:42 2023 +0800

    fix UT
---
 .../read/reader/chunk/MemAlignedChunkLoaderTest.java  |  3 ++-
 .../iotdb/tsfile/read/filter/basic/TimeFilter.java    |  8 +++++---
 .../read/filter/operator/ValueFilterOperators.java    |  4 ++--
 .../apache/iotdb/tsfile/read/filter/OperatorTest.java | 10 ++++++++--
 .../tsfile/read/filter/StatisticsFilterTest.java      | 19 +++++++++++++------
 5 files changed, 30 insertions(+), 14 deletions(-)

diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedChunkLoaderTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedChunkLoaderTest.java
index b9f538b3439..0c96bda6c22 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedChunkLoaderTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/read/reader/chunk/MemAlignedChunkLoaderTest.java
@@ -37,6 +37,7 @@ import org.mockito.Mockito;
 import java.io.IOException;
 import java.util.Arrays;
 import java.util.List;
+import java.util.Optional;
 
 import static 
org.apache.iotdb.tsfile.read.reader.series.PaginationController.UNLIMITED_PAGINATION_CONTROLLER;
 import static org.junit.Assert.assertEquals;
@@ -83,7 +84,7 @@ public class MemAlignedChunkLoaderTest {
 
     Mockito.when(chunkMetadata1.getStatistics()).thenReturn(timeStatistics);
     
Mockito.when(chunkMetadata1.getTimeStatistics()).thenReturn(timeStatistics);
-    
Mockito.when(chunkMetadata1.getMeasurementStatistics(0).orElse(null)).thenReturn(statistics1);
+    
Mockito.when(chunkMetadata1.getMeasurementStatistics(0)).thenReturn(Optional.of(statistics1));
 
     MemAlignedChunkReader chunkReader =
         (MemAlignedChunkReader) 
memAlignedChunkLoader.getChunkReader(chunkMetadata1, null);
diff --git 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/TimeFilter.java
 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/TimeFilter.java
index 17bb9fd24ec..e1c8baae0b8 100644
--- 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/TimeFilter.java
+++ 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/TimeFilter.java
@@ -20,7 +20,9 @@
 package org.apache.iotdb.tsfile.read.filter.basic;
 
 import org.apache.iotdb.tsfile.file.metadata.IMetadata;
-import org.apache.iotdb.tsfile.file.metadata.statistics.TimeStatistics;
+import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics;
+
+import java.io.Serializable;
 
 public abstract class TimeFilter extends Filter {
 
@@ -44,13 +46,13 @@ public abstract class TimeFilter extends Filter {
 
   @Override
   public boolean canSkip(IMetadata metadata) {
-    TimeStatistics timeStatistics = (TimeStatistics) 
metadata.getTimeStatistics();
+    Statistics<? extends Serializable> timeStatistics = 
metadata.getTimeStatistics();
     return !satisfyStartEndTime(timeStatistics.getStartTime(), 
timeStatistics.getEndTime());
   }
 
   @Override
   public boolean allSatisfy(IMetadata metadata) {
-    TimeStatistics timeStatistics = (TimeStatistics) 
metadata.getTimeStatistics();
+    Statistics<? extends Serializable> timeStatistics = 
metadata.getTimeStatistics();
     return containStartEndTime(timeStatistics.getStartTime(), 
timeStatistics.getEndTime());
   }
 }
diff --git 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/ValueFilterOperators.java
 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/ValueFilterOperators.java
index 641d2f396fe..68369f54e31 100644
--- 
a/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/ValueFilterOperators.java
+++ 
b/iotdb-core/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/ValueFilterOperators.java
@@ -51,7 +51,7 @@ public final class ValueFilterOperators {
   }
 
   private static final String CONSTANT_CANNOT_BE_NULL_MSG = "constant cannot 
be null";
-  private static final String CANNOT_PUSH_DOWN_MSG = " operator can not be 
pushed down.";
+  public static final String CANNOT_PUSH_DOWN_MSG = " operator can not be 
pushed down.";
 
   private static final String OPERATOR_TO_STRING_FORMAT = "measurements[%s] %s 
%s";
 
@@ -647,7 +647,7 @@ public final class ValueFilterOperators {
 
     @Override
     public boolean valueSatisfy(Object value) {
-      throw new NotImplementedException();
+      return value != null;
     }
 
     @Override
diff --git 
a/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/OperatorTest.java
 
b/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/OperatorTest.java
index c9116a4dbba..cdffbb82e47 100644
--- 
a/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/OperatorTest.java
+++ 
b/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/OperatorTest.java
@@ -28,6 +28,8 @@ import org.apache.iotdb.tsfile.utils.Binary;
 import org.junit.Assert;
 import org.junit.Test;
 
+import static 
org.apache.iotdb.tsfile.read.filter.operator.ValueFilterOperators.CANNOT_PUSH_DOWN_MSG;
+
 public class OperatorTest {
 
   private static final long TESTED_TIMESTAMP = 1513585371L;
@@ -50,8 +52,12 @@ public class OperatorTest {
   @Test
   public void testIsNull() {
     Filter isNullFilter = ValueFilterApi.isNull(0);
-    Assert.assertTrue(isNullFilter.satisfyRow(100, new Object[] {null}));
-    Assert.assertFalse(isNullFilter.satisfyRow(100, new Object[] {1}));
+    try {
+      isNullFilter.satisfyRow(100, new Object[] {null});
+      Assert.fail();
+    } catch (IllegalArgumentException e) {
+      Assert.assertTrue(e.getMessage().contains(CANNOT_PUSH_DOWN_MSG));
+    }
   }
 
   @Test
diff --git 
a/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/StatisticsFilterTest.java
 
b/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/StatisticsFilterTest.java
index 40cc884de1c..2e69838605a 100644
--- 
a/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/StatisticsFilterTest.java
+++ 
b/iotdb-core/tsfile/src/test/java/org/apache/iotdb/tsfile/read/filter/StatisticsFilterTest.java
@@ -33,6 +33,7 @@ import org.junit.Test;
 import static 
org.apache.iotdb.tsfile.read.filter.FilterTestUtil.newAlignedMetadata;
 import static org.apache.iotdb.tsfile.read.filter.FilterTestUtil.newMetadata;
 import static 
org.apache.iotdb.tsfile.read.filter.operator.Not.CONTAIN_NOT_ERR_MSG;
+import static 
org.apache.iotdb.tsfile.read.filter.operator.ValueFilterOperators.CANNOT_PUSH_DOWN_MSG;
 import static org.junit.Assert.fail;
 
 public class StatisticsFilterTest {
@@ -233,13 +234,19 @@ public class StatisticsFilterTest {
   public void testIsNull() {
     Filter valueIsNull = ValueFilterApi.isNull(0);
 
-    Assert.assertTrue(valueIsNull.canSkip(alignedMetadata1));
-    Assert.assertFalse(valueIsNull.canSkip(alignedMetadata2));
-    Assert.assertFalse(valueIsNull.canSkip(alignedMetadata3));
+    try {
+      valueIsNull.canSkip(alignedMetadata1);
+      fail();
+    } catch (IllegalArgumentException e) {
+      Assert.assertTrue(e.getMessage().contains(CANNOT_PUSH_DOWN_MSG));
+    }
 
-    Assert.assertFalse(valueIsNull.allSatisfy(alignedMetadata1));
-    Assert.assertFalse(valueIsNull.allSatisfy(alignedMetadata2));
-    Assert.assertTrue(valueIsNull.allSatisfy(alignedMetadata3));
+    try {
+      valueIsNull.allSatisfy(alignedMetadata1);
+      fail();
+    } catch (IllegalArgumentException e) {
+      Assert.assertTrue(e.getMessage().contains(CANNOT_PUSH_DOWN_MSG));
+    }
   }
 
   @Test

Reply via email to