This is an automated email from the ASF dual-hosted git repository. leirui pushed a commit to branch research/LTS-visualization in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 358f8e7f7886feed43a4d828f7090f31000c9537 Author: Lei Rui <[email protected]> AuthorDate: Wed Jan 31 16:56:40 2024 +0800 fix DOUBLE.MIN_VALUE POSITIVE BUG --- server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java | 2 +- .../db/query/dataset/groupby/LocalGroupByExecutorTri_M4.java | 2 +- .../db/query/dataset/groupby/LocalGroupByExecutorTri_MinMax.java | 2 +- .../java/org/apache/iotdb/db/query/udf/builtin/UDTFM4MAC.java | 8 ++++---- .../java/org/apache/iotdb/db/query/udf/builtin/UDTFMinMax.java | 8 ++++---- .../iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java | 3 ++- .../iotdb/tsfile/file/metadata/statistics/FloatStatistics.java | 2 +- .../iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java | 2 +- .../iotdb/tsfile/file/metadata/statistics/LongStatistics.java | 2 +- .../apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java | 2 +- 10 files changed, 17 insertions(+), 16 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java index 583c6debd53..902b48ad0b6 100644 --- a/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java +++ b/server/src/main/java/org/apache/iotdb/db/conf/IoTDBConfig.java @@ -433,7 +433,7 @@ public class IoTDBConfig { private boolean enableCPV = false; - private String enableTri = ""; // MinMax, MinMaxLTTB, M4, LTTB, ILTS + private String enableTri = "MinMax"; // MinMax, MinMaxLTTB, M4, LTTB, ILTS private long p1t; private double p1v; diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_M4.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_M4.java index eb01687ddc6..196e3bb0b9d 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_M4.java +++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_M4.java @@ -329,7 +329,7 @@ public class LocalGroupByExecutorTri_M4 implements GroupByExecutor { double minVal = Double.MAX_VALUE; long bottomTime = -1; - double maxVal = Double.MIN_VALUE; + double maxVal = -Double.MAX_VALUE; // Double.MIN_VALUE is positive so do not use it!!! long topTime = -1; long firstTime = -1; double firstValue = 0; diff --git a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_MinMax.java b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_MinMax.java index 86acd06573a..abf98948ec6 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_MinMax.java +++ b/server/src/main/java/org/apache/iotdb/db/query/dataset/groupby/LocalGroupByExecutorTri_MinMax.java @@ -301,7 +301,7 @@ public class LocalGroupByExecutorTri_MinMax implements GroupByExecutor { double minVal = Double.MAX_VALUE; long bottomTime = -1; - double maxVal = Double.MIN_VALUE; + double maxVal = -Double.MAX_VALUE; // Double.MIN_VALUE is positive so do not use it!!! long topTime = -1; // 1. load page data if it hasn't been loaded diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFM4MAC.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFM4MAC.java index 654221963f7..9629a23dc51 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFM4MAC.java +++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFM4MAC.java @@ -94,10 +94,10 @@ public class UDTFM4MAC implements UDTF { this.floatMinV = Float.MAX_VALUE; this.doubleMinV = Double.MAX_VALUE; - this.intMaxV = Integer.MIN_VALUE; - this.longMaxV = Long.MIN_VALUE; - this.floatMaxV = Float.MIN_VALUE; - this.doubleMaxV = Double.MIN_VALUE; + this.intMaxV = -Integer.MAX_VALUE; + this.longMaxV = -Long.MAX_VALUE; + this.floatMaxV = -Float.MAX_VALUE; + this.doubleMaxV = -Double.MAX_VALUE; // Double.MIN_VALUE is positive so do not use it!!! } @Override diff --git a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMinMax.java b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMinMax.java index 6a8b1e1695a..b2fa3663e17 100644 --- a/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMinMax.java +++ b/server/src/main/java/org/apache/iotdb/db/query/udf/builtin/UDTFMinMax.java @@ -66,10 +66,10 @@ public class UDTFMinMax implements UDTF { this.floatMinV = Float.MAX_VALUE; this.doubleMinV = Double.MAX_VALUE; - this.intMaxV = Integer.MIN_VALUE; - this.longMaxV = Long.MIN_VALUE; - this.floatMaxV = Float.MIN_VALUE; - this.doubleMaxV = Double.MIN_VALUE; + this.intMaxV = -Integer.MAX_VALUE; + this.longMaxV = -Long.MAX_VALUE; + this.floatMaxV = -Float.MAX_VALUE; + this.doubleMaxV = -Double.MAX_VALUE; // Double.MIN_VALUE is positive so do not use it!!! } @Override diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java index 8771ff089dd..4d4ed492022 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatistics.java @@ -43,7 +43,8 @@ public class DoubleStatistics extends Statistics<Double> { /** @author Yuyuan Kang */ public DoubleStatistics() { this.minInfo = new MinMaxInfo<>(Double.MAX_VALUE, -1); - this.maxInfo = new MinMaxInfo<>(Double.MIN_VALUE, -1); + this.maxInfo = new MinMaxInfo<>(-Double.MAX_VALUE, -1); + // Double.MIN_VALUE is positive so do not use it!!! } @Override diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java index c79aafb0a9f..c0a09a8d907 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatistics.java @@ -44,7 +44,7 @@ public class FloatStatistics extends Statistics<Float> { /** @author Yuyuan Kang */ public FloatStatistics() { minInfo = new MinMaxInfo<>(Float.MAX_VALUE, -1); - maxInfo = new MinMaxInfo<>(Float.MIN_VALUE, -1); + maxInfo = new MinMaxInfo<>(-Float.MAX_VALUE, -1); } @Override diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java index 2bb2052ee30..f4af9e41cdb 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatistics.java @@ -50,7 +50,7 @@ public class IntegerStatistics extends Statistics<Integer> { /** @author Yuyuan Kang */ public IntegerStatistics() { minInfo = new MinMaxInfo<>(Integer.MAX_VALUE, -1); - maxInfo = new MinMaxInfo<>(Integer.MIN_VALUE, -1); + maxInfo = new MinMaxInfo<>(-Integer.MAX_VALUE, -1); } /** @author Yuyuan Kang */ diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java index 2ab67480fb5..4daa3aec587 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatistics.java @@ -48,7 +48,7 @@ public class LongStatistics extends Statistics<Long> { /** @author Yuyuan Kang */ public LongStatistics() { this.minInfo = new MinMaxInfo<>(Long.MAX_VALUE, -1); - this.maxInfo = new MinMaxInfo<>(Long.MIN_VALUE, -1); + this.maxInfo = new MinMaxInfo<>(-Long.MAX_VALUE, -1); } /** @author Yuyuan Kang */ diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java index 4d973cb2663..ad049901770 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/StepRegress.java @@ -310,7 +310,7 @@ public class StepRegress { */ private void checkOrder() throws IOException { double tiltIntercept = Double.MAX_VALUE; - double levelIntercept = Double.MIN_VALUE; + double levelIntercept = -Double.MAX_VALUE; // Double.MIN_VALUE is positive so do not use it!!! for (int i = 0; i < segmentIntercepts.size(); i++) { double intercept = segmentIntercepts.get(i); if (i % 2 == 0) {
