You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by le...@apache.org on 2023/02/03 15:50:33 UTC
[iotdb] 13/28: fix bug
This is an automated email from the ASF dual-hosted git repository.
leirui pushed a commit to branch research/M4-visualization
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 3137b42cdfc00b95a9a0e0c2e1cbcc97ba6f568e
Author: Lei Rui <10...@qq.com>
AuthorDate: Fri Jan 27 17:38:16 2023 +0800
fix bug
---
.../iotdb/tsfile/file/metadata/statistics/StepRegress.java | 11 ++++++++---
1 file changed, 8 insertions(+), 3 deletions(-)
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 ec981bd760..d75375d960 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
@@ -241,7 +241,10 @@ public class StepRegress {
this.segmentIntercepts = new DoubleArrayList();
this.segmentKeys.add(timestamps.get(0)); // t1
this.segmentIntercepts.add(1 - slope * timestamps.get(0)); // b1
- } else if (start < segmentIntercepts.size() - 3) {
+ } else if ((start < segmentIntercepts.size() - 3) || equals) {
+ // either the first tilt intercept which is not smaller than the last tilt intercept
+ // is not the second-to-last tilt intercept,
+ // or is the second-to-last tilt intercept but is equal to the last tilt intercept.
if (!equals) {
// remove all segment information after start+1 id, i.e., remove from start+2~end
// note that the level after start tilt is kept since equals=false.
@@ -273,8 +276,10 @@ public class StepRegress {
// TODO debug the first status is level, b1
}
}
- // otherwise start==segmentIntercepts.size()-3 means result is already ready, no
- // disorder to handle
+ // otherwise start==segmentIntercepts.size()-3 && equal=false,
+ // means the first tilt intercept which is bigger than the last tilt intercept
+ // is the second-to-last tilt intercept,
+ // so in this case the result is already ready, no disorder to handle
}
}
}