This is an automated email from the ASF dual-hosted git repository. hui pushed a commit to branch lmh/FixOffsetPushDown in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 97d769e83889602bf470faa6a0c06ccdd81e6462 Author: Minghui Liu <[email protected]> AuthorDate: Mon Apr 17 17:24:08 2023 +0800 fix allSatisfy --- .../org/apache/iotdb/tsfile/read/filter/GroupByFilter.java | 2 +- .../apache/iotdb/tsfile/read/filter/operator/Between.java | 12 ++++++------ .../org/apache/iotdb/tsfile/read/filter/operator/Gt.java | 4 ++-- .../org/apache/iotdb/tsfile/read/filter/operator/GtEq.java | 4 ++-- .../org/apache/iotdb/tsfile/read/filter/operator/Lt.java | 4 ++-- .../org/apache/iotdb/tsfile/read/filter/operator/LtEq.java | 4 ++-- .../org/apache/iotdb/tsfile/read/filter/operator/NotEq.java | 7 +++---- .../apache/iotdb/tsfile/read/filter/operator/NotFilter.java | 4 ++-- 8 files changed, 20 insertions(+), 21 deletions(-) diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java index 50dc156c1f..4542547814 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java @@ -55,7 +55,7 @@ public class GroupByFilter implements Filter, Serializable { @Override public boolean allSatisfy(Statistics statistics) { - return satisfyStartEndTime(statistics.getStartTime(), statistics.getEndTime()); + return false; } @Override diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java index 6277bc270c..a5ee26e95e 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Between.java @@ -105,20 +105,20 @@ public class Between<T extends Comparable<T>> implements Filter { if (filterType == FilterType.TIME_FILTER) { long time1 = (Long) value1, time2 = (Long) value2; if (not) { - return statistics.getStartTime() < time1 || statistics.getEndTime() > time2; + return statistics.getStartTime() > time2 || statistics.getEndTime() < time1; } else { - return statistics.getEndTime() >= time1 || statistics.getStartTime() <= time2; + return statistics.getStartTime() >= time1 && statistics.getEndTime() <= time2; } } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } if (not) { - return ((T) statistics.getMinValue()).compareTo(value1) < 0 - || ((T) statistics.getMaxValue()).compareTo(value2) > 0; + return ((T) statistics.getMinValue()).compareTo(value2) > 0 + || ((T) statistics.getMaxValue()).compareTo(value1) < 0; } else { - return ((T) statistics.getMaxValue()).compareTo(value1) >= 0 - && ((T) statistics.getMinValue()).compareTo(value2) <= 0; + return ((T) statistics.getMinValue()).compareTo(value1) >= 0 + && ((T) statistics.getMaxValue()).compareTo(value2) <= 0; } } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java index 0648bbf2f5..abf9400df9 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java @@ -55,12 +55,12 @@ public class Gt<T extends Comparable<T>> extends UnaryFilter<T> { @Override public boolean allSatisfy(Statistics statistics) { if (filterType == FilterType.TIME_FILTER) { - return ((Long) value) < statistics.getEndTime(); + return ((Long) value) < statistics.getStartTime(); } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } - return value.compareTo((T) statistics.getMaxValue()) < 0; + return value.compareTo((T) statistics.getMinValue()) < 0; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java index 7dcab1443c..df43f49de3 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java @@ -55,12 +55,12 @@ public class GtEq<T extends Comparable<T>> extends UnaryFilter<T> { @Override public boolean allSatisfy(Statistics statistics) { if (filterType == FilterType.TIME_FILTER) { - return ((Long) value) <= statistics.getEndTime(); + return ((Long) value) <= statistics.getStartTime(); } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } - return value.compareTo((T) statistics.getMaxValue()) <= 0; + return value.compareTo((T) statistics.getMinValue()) <= 0; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java index 14d39e2fed..e4b6ef18ed 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java @@ -55,12 +55,12 @@ public class Lt<T extends Comparable<T>> extends UnaryFilter<T> { @Override public boolean allSatisfy(Statistics statistics) { if (filterType == FilterType.TIME_FILTER) { - return ((Long) value) > statistics.getStartTime(); + return ((Long) value) > statistics.getEndTime(); } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } - return value.compareTo((T) statistics.getMinValue()) > 0; + return value.compareTo((T) statistics.getMaxValue()) > 0; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java index 343a325021..028f5bc723 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java @@ -55,12 +55,12 @@ public class LtEq<T extends Comparable<T>> extends UnaryFilter<T> { @Override public boolean allSatisfy(Statistics statistics) { if (filterType == FilterType.TIME_FILTER) { - return ((Long) value) >= statistics.getStartTime(); + return ((Long) value) >= statistics.getEndTime(); } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } - return value.compareTo((T) statistics.getMinValue()) >= 0; + return value.compareTo((T) statistics.getMaxValue()) >= 0; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java index 55be826df0..a301640654 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java @@ -57,14 +57,13 @@ public class NotEq<T extends Comparable<T>> extends UnaryFilter<T> { @Override public boolean allSatisfy(Statistics statistics) { if (filterType == FilterType.TIME_FILTER) { - return !(((Long) value) == statistics.getStartTime() - && (Long) value == statistics.getEndTime()); + return ((Long) value) < statistics.getStartTime() || ((Long) value) > statistics.getEndTime(); } else { if (statistics.getType() == TSDataType.TEXT || statistics.getType() == TSDataType.BOOLEAN) { return false; } - return !(value.compareTo((T) statistics.getMinValue()) == 0 - && value.compareTo((T) statistics.getMaxValue()) == 0); + return value.compareTo((T) statistics.getMinValue()) < 0 + || value.compareTo((T) statistics.getMaxValue()) > 0; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java index 8d46624ff5..2bb3648a3a 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java @@ -46,12 +46,12 @@ public class NotFilter implements Filter, Serializable { @Override public boolean satisfy(Statistics statistics) { - return !that.satisfy(statistics); + return !that.allSatisfy(statistics); } @Override public boolean allSatisfy(Statistics statistics) { - return !that.allSatisfy(statistics); + return !that.satisfy(statistics); } @Override
