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