You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by yu...@apache.org on 2022/01/25 17:27:48 UTC
[iotdb] branch kyy-2022 updated: single timestamp
This is an automated email from the ASF dual-hosted git repository.
yuyuankang pushed a commit to branch kyy-2022
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/kyy-2022 by this push:
new ee1ac3f single timestamp
ee1ac3f is described below
commit ee1ac3f88150a3364e8eb5204fd8744f5f777140
Author: Ring-k <yu...@hotmail.com>
AuthorDate: Wed Jan 26 01:26:54 2022 +0800
single timestamp
---
.../db/query/aggregation/AggregateResult.java | 4 +-
.../query/aggregation/impl/MaxValueAggrResult.java | 27 ++---
.../query/aggregation/impl/MinValueAggrResult.java | 29 ++----
.../iotdb/db/integration/IOTDBGroupByIT.java | 8 +-
.../aggregation/IoTDBAggregationLargeDataIT.java | 112 ++++++++++-----------
.../file/metadata/statistics/BinaryStatistics.java | 19 +---
.../metadata/statistics/BooleanStatistics.java | 69 +------------
.../file/metadata/statistics/DoubleStatistics.java | 98 ++----------------
.../file/metadata/statistics/FloatStatistics.java | 98 ++----------------
.../metadata/statistics/IntegerStatistics.java | 98 ++----------------
.../file/metadata/statistics/LongStatistics.java | 98 ++----------------
.../file/metadata/statistics/MinMaxInfo.java | 32 ++----
.../file/metadata/statistics/Statistics.java | 11 +-
.../tsfile/read/reader/chunk/ChunkReader.java | 1 +
.../iotdb/tsfile/utils/ReadWriteIOUtils.java | 23 +----
.../metadata/statistics/DoubleStatisticsTest.java | 86 +++++++---------
.../metadata/statistics/FloatStatisticsTest.java | 86 +++++++---------
.../metadata/statistics/IntegerStatisticsTest.java | 85 +++++++---------
.../metadata/statistics/LongStatisticsTest.java | 86 +++++++---------
19 files changed, 285 insertions(+), 785 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/query/aggregation/AggregateResult.java b/server/src/main/java/org/apache/iotdb/db/query/aggregation/AggregateResult.java
index a639f37..e616fbd 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/aggregation/AggregateResult.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/aggregation/AggregateResult.java
@@ -281,9 +281,7 @@ public abstract class AggregateResult {
case MIN_MAX_FLOAT:
case MIN_MAX_INT32:
case MIN_MAX_INT64:
- if (minMaxInfo != null && minMaxInfo.val.equals(((MinMaxInfo) v).val)) {
- minMaxInfo.timestamps.addAll(((MinMaxInfo) v).timestamps);
- } else {
+ if (minMaxInfo == null || !minMaxInfo.val.equals(((MinMaxInfo) v).val)) {
minMaxInfo = (MinMaxInfo) v;
}
break;
diff --git a/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MaxValueAggrResult.java b/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MaxValueAggrResult.java
index 95ebcd3..6c859ea 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MaxValueAggrResult.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MaxValueAggrResult.java
@@ -30,8 +30,6 @@ import org.apache.iotdb.tsfile.read.common.BatchData;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
public class MaxValueAggrResult extends AggregateResult {
@@ -60,20 +58,17 @@ public class MaxValueAggrResult extends AggregateResult {
@Override
public void updateResultFromPageData(BatchData dataInThisPage, long minBound, long maxBound) {
Comparable<Object> maxVal = null;
- Set<Long> topTimestamps = new HashSet<>();
+ long topTimestamp = -1;
while (dataInThisPage.hasCurrent()
&& dataInThisPage.currentTime() < maxBound
&& dataInThisPage.currentTime() >= minBound) {
if (maxVal == null || maxVal.compareTo(dataInThisPage.currentValue()) < 0) {
maxVal = (Comparable<Object>) dataInThisPage.currentValue();
- topTimestamps.clear();
- topTimestamps.add(dataInThisPage.currentTime());
- } else if (maxVal.compareTo(dataInThisPage.currentValue()) == 0) {
- topTimestamps.add(dataInThisPage.currentTime());
+ topTimestamp = dataInThisPage.currentTime();
}
dataInThisPage.next();
}
- updateResult(new MinMaxInfo<>(maxVal, topTimestamps));
+ updateResult(new MinMaxInfo<>(maxVal, topTimestamp));
}
/** @author Yuyuan Kang */
@@ -81,32 +76,26 @@ public class MaxValueAggrResult extends AggregateResult {
public void updateResultUsingTimestamps(
long[] timestamps, int length, IReaderByTimestamp dataReader) throws IOException {
Comparable<Object> maxVal = null;
- Set<Long> topTimestamps = new HashSet<>();
+ long topTimestamp = -1;
Object[] values = dataReader.getValuesInTimestamps(timestamps, length);
for (int i = 0; i < length; i++) {
if (values[i] != null && (maxVal == null || maxVal.compareTo(values[i]) < 0)) {
maxVal = (Comparable<Object>) values[i];
- topTimestamps.clear();
- topTimestamps.add(timestamps[i]);
- } else if (values[i] != null && maxVal.compareTo(values[i]) == 0) {
- topTimestamps.add(timestamps[i]);
+ topTimestamp = timestamps[i];
}
}
- updateResult(new MinMaxInfo<>(maxVal, topTimestamps));
+ updateResult(new MinMaxInfo<>(maxVal, topTimestamp));
}
/** @author Yuyuan Kang */
@Override
public void updateResultUsingValues(long[] timestamps, int length, Object[] values) {
Comparable<Object> maxVal = null;
- Set<Long> topTimestamps = new HashSet<>();
+ long topTimestamps = -1;
for (int i = 0; i < length; i++) {
if (values[i] != null && (maxVal == null || maxVal.compareTo(values[i]) < 0)) {
maxVal = (Comparable<Object>) values[i];
- topTimestamps.clear();
- topTimestamps.add(timestamps[i]);
- } else if (values[i] != null && maxVal.compareTo(values[i]) == 0) {
- topTimestamps.add(timestamps[i]);
+ topTimestamps = timestamps[i];
}
}
updateResult(new MinMaxInfo(maxVal, topTimestamps));
diff --git a/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MinValueAggrResult.java b/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MinValueAggrResult.java
index c29486c..55950ed 100644
--- a/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MinValueAggrResult.java
+++ b/server/src/main/java/org/apache/iotdb/db/query/aggregation/impl/MinValueAggrResult.java
@@ -30,8 +30,6 @@ import org.apache.iotdb.tsfile.read.common.BatchData;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
public class MinValueAggrResult extends AggregateResult {
@@ -61,20 +59,17 @@ public class MinValueAggrResult extends AggregateResult {
@Override
public void updateResultFromPageData(BatchData dataInThisPage, long minBound, long maxBound) {
Comparable<Object> minVal = null;
- Set<Long> bottomTimestamps = new HashSet<>();
+ long bottomTimestamp = -1;
while (dataInThisPage.hasCurrent()
&& dataInThisPage.currentTime() < maxBound
&& dataInThisPage.currentTime() >= minBound) {
if (minVal == null || minVal.compareTo(dataInThisPage.currentValue()) > 0) {
minVal = (Comparable<Object>) dataInThisPage.currentValue();
- bottomTimestamps.clear();
- bottomTimestamps.add(dataInThisPage.currentTime());
- } else if (minVal.compareTo(dataInThisPage.currentValue()) == 0) {
- bottomTimestamps.add(dataInThisPage.currentTime());
+ bottomTimestamp = dataInThisPage.currentTime();
}
dataInThisPage.next();
}
- updateResult(new MinMaxInfo<>(minVal, bottomTimestamps));
+ updateResult(new MinMaxInfo<>(minVal, bottomTimestamp));
}
/** @author Yuyuan Kang */
@@ -82,35 +77,29 @@ public class MinValueAggrResult extends AggregateResult {
public void updateResultUsingTimestamps(
long[] timestamps, int length, IReaderByTimestamp dataReader) throws IOException {
Comparable<Object> minVal = null;
- Set<Long> bottomTimes = new HashSet<>();
+ long bottomTime = -1;
Object[] values = dataReader.getValuesInTimestamps(timestamps, length);
for (int i = 0; i < length; i++) {
if (values[i] != null && (minVal == null || minVal.compareTo(values[i]) > 0)) {
minVal = (Comparable<Object>) values[i];
- bottomTimes.clear();
- bottomTimes.add(timestamps[i]);
- } else if (values[i] != null && minVal.compareTo(values[i]) == 0) {
- bottomTimes.add(timestamps[i]);
+ bottomTime = timestamps[i];
}
}
- updateResult(new MinMaxInfo<>(minVal, bottomTimes));
+ updateResult(new MinMaxInfo<>(minVal, bottomTime));
}
/** @author Yuyuan Kang */
@Override
public void updateResultUsingValues(long[] timestamps, int length, Object[] values) {
Comparable<Object> minVal = null;
- Set<Long> bottomTimes = new HashSet<>();
+ long bottomTime = -1;
for (int i = 0; i < length; i++) {
if (values[i] != null && (minVal == null || minVal.compareTo(values[i]) > 0)) {
minVal = (Comparable<Object>) values[i];
- bottomTimes.clear();
- bottomTimes.add(timestamps[i]);
- } else if (values[i] != null && minVal.compareTo(values[i]) == 0) {
- bottomTimes.add(timestamps[i]);
+ bottomTime = timestamps[i];
}
}
- updateResult(new MinMaxInfo<>(minVal, bottomTimes));
+ updateResult(new MinMaxInfo<>(minVal, bottomTime));
}
@Override
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java b/server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java
index f166d0b..77fe75f 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/IOTDBGroupByIT.java
@@ -619,8 +619,8 @@ public class IOTDBGroupByIT {
@Test
public void largeIntervalTest() {
System.out.println("largeIntervalTest");
- String[] retArray1 = new String[] {"0,4.4[4],12,300,4", "340,100.1[500, 580],10,620,500"};
- String[] retArray2 = new String[] {"0,3.3[3],13,300,3", "340,100.1[500, 580],10,620,500"};
+ String[] retArray1 = new String[] {"0,4.4[4],12,300,4", "340,100.1[500],10,620,500"};
+ String[] retArray2 = new String[] {"0,3.3[3],13,300,3", "340,100.1[500],10,620,500"};
try (Connection connection =
DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
@@ -678,8 +678,8 @@ public class IOTDBGroupByIT {
Assert.assertEquals(retArray2.length, cnt);
}
- retArray1 = new String[] {"0,4.4[4],12,300,4", "340,100.1[580, 500],10,620,500"};
- retArray2 = new String[] {"0,3.3[3],13,300,3", "340,100.1[580, 500],10,620,500"};
+ retArray1 = new String[] {"0,4.4[4],12,300,4", "340,100.1[580],10,620,500"};
+ retArray2 = new String[] {"0,3.3[3],13,300,3", "340,100.1[580],10,620,500"};
// order by time desc
hasResultSet =
statement.execute(
diff --git a/server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java b/server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java
index 787ea92..f5900d8 100644
--- a/server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java
+++ b/server/src/test/java/org/apache/iotdb/db/integration/aggregation/IoTDBAggregationLargeDataIT.java
@@ -33,10 +33,6 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
import static org.apache.iotdb.db.constant.TestConstant.avg;
import static org.apache.iotdb.db.constant.TestConstant.count;
@@ -510,60 +506,50 @@ public class IoTDBAggregationLargeDataIT {
}
}
- /** @author Yuyuan Kang */
- private boolean compareArrayString(String s1, String s2) {
- List<Integer> indexOfLeft = new ArrayList<>();
- List<Integer> indexOfRight = new ArrayList<>();
- boolean compare = true;
- for (int i = 0; i < s1.length(); i++) {
-
- if (s1.charAt(i) == '[') {
- indexOfLeft.add(i);
- compare = false;
- continue;
- } else if (s1.charAt(i) == ']') {
- indexOfRight.add(i);
- compare = true;
- continue;
- }
- if (compare && s1.charAt(i) != s2.charAt(i)) {
- return false;
- }
- }
- Assert.assertEquals(indexOfLeft.size(), indexOfRight.size());
- for (int i = 0; i < indexOfLeft.size(); i++) {
- String sub1 = s1.substring(indexOfLeft.get(i) + 1, indexOfRight.get(i));
- String[] vals1 = sub1.split(", ");
- Set<Integer> set1 = new HashSet<>();
- for (String s : vals1) {
- set1.add(Integer.valueOf(s));
- }
- String sub2 = s2.substring(indexOfLeft.get(i) + 1, indexOfRight.get(i));
- String[] vals2 = sub2.split(", ");
- Set<Integer> set2 = new HashSet<>();
- for (String s : vals2) {
- set2.add(Integer.valueOf(s));
- }
- if (!set1.equals(set2)) {
- return false;
- }
- }
- return true;
- }
+ // /** @author Yuyuan Kang */
+ // private boolean compareArrayString(String s1, String s2) {
+ // List<Integer> indexOfLeft = new ArrayList<>();
+ // List<Integer> indexOfRight = new ArrayList<>();
+ // boolean compare = true;
+ // for (int i = 0; i < s1.length(); i++) {
+ //
+ // if (s1.charAt(i) == '[') {
+ // indexOfLeft.add(i);
+ // compare = false;
+ // continue;
+ // } else if (s1.charAt(i) == ']') {
+ // indexOfRight.add(i);
+ // compare = true;
+ // continue;
+ // }
+ // if (compare && s1.charAt(i) != s2.charAt(i)) {
+ // return false;
+ // }
+ // }
+ // Assert.assertEquals(indexOfLeft.size(), indexOfRight.size());
+ // for (int i = 0; i < indexOfLeft.size(); i++) {
+ // String sub1 = s1.substring(indexOfLeft.get(i) + 1, indexOfRight.get(i));
+ // String[] vals1 = sub1.split(", ");
+ // Set<Integer> set1 = new HashSet<>();
+ // for (String s : vals1) {
+ // set1.add(Integer.valueOf(s));
+ // }
+ // String sub2 = s2.substring(indexOfLeft.get(i) + 1, indexOfRight.get(i));
+ // String[] vals2 = sub2.split(", ");
+ // Set<Integer> set2 = new HashSet<>();
+ // for (String s : vals2) {
+ // set2.add(Integer.valueOf(s));
+ // }
+ // if (!set1.equals(set2)) {
+ // return false;
+ // }
+ // }
+ // return true;
+ // }
/** @author Yuyuan Kang */
private void minValueAggreWithSingleFilterTest() {
- String[] retArray =
- new String[] {
- "0,"
- + "0[3920, 3850, 3710],"
- + "0[3264, 3009, 3587, 3332, 3077, 3468, 3213, 3536, 3920, 3281, 3026, 3349, 3094, "
- + "3800, 3417, 3162, 3553, 3298, 3043, 3366, 3111, 3880, 3434, 3179, 3502, 3247, 3760,"
- + " 3383, 3128, 3451, 3196, 3519],"
- + "0.0[3168, 3234, 3586, 3813, 3014, 3366, 3432, 3146, "
- + "3498, 3212, 3564, 3278, 3344, 3058, 3124, 3476, 3542, 3256, 3322, 3036, 3388, 3102,"
- + " 3454]"
- };
+ String[] retArray = new String[] {"0,0[3710],0[3009],0.0[3014]"};
try (Connection connection =
DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
@@ -586,13 +572,16 @@ public class IoTDBAggregationLargeDataIT {
+ resultSet.getString(min_value(d0s1))
+ ","
+ resultSet.getString(min_value(d0s2));
- Assert.assertEquals(ans, retArray[cnt]);
+ System.out.println(ans);
+ Assert.assertEquals(retArray[cnt], ans);
cnt++;
}
Assert.assertEquals(1, cnt);
}
}
+ retArray = new String[] {"0,0[3920],0[3920],0.0[3813]"};
+
hasResultSet =
statement.execute(
"select min_value(s0),min_value(s1),min_value(s2)"
@@ -611,7 +600,7 @@ public class IoTDBAggregationLargeDataIT {
+ resultSet.getString(min_value(d0s1))
+ ","
+ resultSet.getString(min_value(d0s2));
- Assert.assertTrue(compareArrayString(ans, retArray[cnt]));
+ Assert.assertEquals(retArray[cnt], ans);
// Assert.assertEquals(ans, retArray[cnt]);
cnt++;
}
@@ -626,8 +615,7 @@ public class IoTDBAggregationLargeDataIT {
/** @author Yuyuan Kang */
private void maxValueAggreWithSingleFilterTest() {
- String[] retArray =
- new String[] {"0,99[3299, 3399, 105, 3099, 3499, 3199, 3599],40000[2],122.0[3812, 3935]"};
+ String[] retArray = new String[] {"0,99[105],40000[2],122.0[3812]"};
try (Connection connection =
DriverManager.getConnection("jdbc:iotdb://127.0.0.1:6667/", "root", "root");
@@ -651,13 +639,15 @@ public class IoTDBAggregationLargeDataIT {
+ resultSet.getString(max_value(d0s1))
+ ","
+ resultSet.getString(max_value(d0s2));
- Assert.assertEquals(ans, retArray[cnt]);
+ Assert.assertEquals(retArray[cnt], ans);
cnt++;
}
Assert.assertEquals(1, cnt);
}
}
+ retArray = new String[] {"0,99[3599],40000[2],122.0[3935]"};
+
hasResultSet =
statement.execute(
"select max_value(s0),max_value(s1),max_value(s2)"
@@ -676,7 +666,7 @@ public class IoTDBAggregationLargeDataIT {
+ resultSet.getString(max_value(d0s1))
+ ","
+ resultSet.getString(max_value(d0s2));
- Assert.assertTrue(compareArrayString(ans, retArray[cnt]));
+ Assert.assertEquals(retArray[cnt], ans);
cnt++;
}
Assert.assertEquals(1, cnt);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
index e398380..4d15179 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BinaryStatistics.java
@@ -28,7 +28,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.Set;
/** Statistics for string type. */
public class BinaryStatistics extends Statistics<Binary> {
@@ -104,14 +103,14 @@ public class BinaryStatistics extends Statistics<Binary> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
+ public long getBottomTimestamp() {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Binary", "min"));
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
+ public long getTopTimestamp() {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Binary", "max"));
}
@@ -164,25 +163,11 @@ public class BinaryStatistics extends Statistics<Binary> {
/** @author Yuyuan Kang */
@Override
- public void updateMinInfo(Binary val, Set<Long> timestamps) {
- throw new StatisticsClassException(
- String.format(OPERATION_NOT_SUPPORT_FORMAT, "Binary", "min"));
- }
-
- /** @author Yuyuan Kang */
- @Override
public void updateMaxInfo(Binary val, long timestamp) {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Binary", "max"));
}
- /** @author Yuyuan Kang */
- @Override
- public void updateMaxInfo(Binary val, Set<Long> timestamps) {
- throw new StatisticsClassException(
- String.format(OPERATION_NOT_SUPPORT_FORMAT, "Binary", "max"));
- }
-
@Override
void updateStats(Binary value) {
if (isEmpty) {
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
index 9600b80..b751175 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/BooleanStatistics.java
@@ -26,7 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.Set;
public class BooleanStatistics extends Statistics<Boolean> {
@@ -131,14 +130,14 @@ public class BooleanStatistics extends Statistics<Boolean> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
+ public long getBottomTimestamp() {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Boolean", "min"));
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
+ public long getTopTimestamp() {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Boolean", "max"));
}
@@ -165,31 +164,6 @@ public class BooleanStatistics extends Statistics<Boolean> {
return sumValue;
}
- // @Override
- // public ByteBuffer getMinValueBuffer() {
- // throw new StatisticsClassException("Boolean statistics do not support: min");
- // }
-
- // @Override
- // public ByteBuffer getMaxValueBuffer() {
- // throw new StatisticsClassException("Boolean statistics do not support: max");
- // }
- //
- // @Override
- // public ByteBuffer getFirstValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(firstValue);
- // }
- //
- // @Override
- // public ByteBuffer getLastValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(lastValue);
- // }
- //
- // @Override
- // public ByteBuffer getSumValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(sumValue);
- // }
-
@Override
protected void mergeStatisticsValue(Statistics stats) {
BooleanStatistics boolStats = (BooleanStatistics) stats;
@@ -215,50 +189,11 @@ public class BooleanStatistics extends Statistics<Boolean> {
/** @author Yuyuan Kang */
@Override
- public void updateMinInfo(Boolean val, Set<Long> timestamps) {
- throw new StatisticsClassException(
- String.format(OPERATION_NOT_SUPPORT_FORMAT, "Boolean", "min"));
- }
-
- /** @author Yuyuan Kang */
- @Override
public void updateMaxInfo(Boolean val, long timestamp) {
throw new StatisticsClassException(
String.format(OPERATION_NOT_SUPPORT_FORMAT, "Boolean", "max"));
}
- /** @author Yuyuan Kang */
- @Override
- public void updateMaxInfo(Boolean val, Set<Long> timestamps) {
- throw new StatisticsClassException(
- String.format(OPERATION_NOT_SUPPORT_FORMAT, "Boolean", "max"));
- }
-
- // @Override
- // public byte[] getMinInfoBytes() {
- // throw new StatisticsClassException("Boolean statistics does not support: min");
- // }
- //
- // @Override
- // public byte[] getMaxInfoBytes() {
- // throw new StatisticsClassException("Boolean statistics does not support: max");
- // }
- //
- // @Override
- // public byte[] getFirstValueBytes() {
- // return BytesUtils.boolToBytes(firstValue);
- // }
- //
- // @Override
- // public byte[] getLastValueBytes() {
- // return BytesUtils.boolToBytes(lastValue);
- // }
- //
- // @Override
- // public byte[] getSumValueBytes() {
- // return BytesUtils.longToBytes(sumValue);
- // }
-
@Override
public int serializeStats(OutputStream outputStream) throws IOException {
int byteLen = 0;
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 ccc08f2..48b7722 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
@@ -26,8 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
public class DoubleStatistics extends Statistics<Double> {
@@ -44,8 +42,8 @@ public class DoubleStatistics extends Statistics<Double> {
/** @author Yuyuan Kang */
public DoubleStatistics() {
- this.minInfo = new MinMaxInfo<>(Double.MAX_VALUE, new HashSet<>());
- this.maxInfo = new MinMaxInfo<>(Double.MIN_VALUE, new HashSet<>());
+ this.minInfo = new MinMaxInfo<>(Double.MAX_VALUE, -1);
+ this.maxInfo = new MinMaxInfo<>(Double.MIN_VALUE, -1);
}
@Override
@@ -58,12 +56,10 @@ public class DoubleStatistics extends Statistics<Double> {
int len = 0;
// min info
len += 8; // value of min info, double
- len += 4; // size of bottom timestamps, int
- len += 8 * minInfo.timestamps.size(); // timestamps of min info, double(s)
+ len += 8; // timestamps of min info, long
// max info
len += 8; // value of max info, double
- len += 4; // size of top timestamps, int
- len += 8 * maxInfo.timestamps.size(); // timestamps of max info, double(s)
+ len += 8; // timestamps of max info, long
len += 24; // first value, last value and sum value
return len;
}
@@ -103,18 +99,6 @@ public class DoubleStatistics extends Statistics<Double> {
public void updateMinInfo(Double val, long timestamp) {
if (val < this.minInfo.val) {
this.minInfo.reset(val, timestamp);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMinInfo(Double val, Set<Long> timestamps) {
- if (val < this.minInfo.val) {
- this.minInfo.reset(val, timestamps);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.addAll(timestamps);
}
}
@@ -123,18 +107,6 @@ public class DoubleStatistics extends Statistics<Double> {
public void updateMaxInfo(Double val, long timestamp) {
if (val > this.maxInfo.val) {
this.maxInfo.reset(val, timestamp);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMaxInfo(Double val, Set<Long> timestamps) {
- if (val > this.maxInfo.val) {
- this.maxInfo.reset(val, timestamps);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.addAll(timestamps);
}
}
@@ -161,8 +133,8 @@ public class DoubleStatistics extends Statistics<Double> {
double sumValue,
long startTime,
long endTime) {
- updateMinInfo(minInfo.val, minInfo.timestamps);
- updateMaxInfo(maxInfo.val, maxInfo.timestamps);
+ updateMinInfo(minInfo.val, minInfo.timestamp);
+ updateMaxInfo(maxInfo.val, maxInfo.timestamp);
this.sumValue += sumValue;
// only if endTime greater or equals to the current endTime need we update the last value
// only if startTime less or equals to the current startTime need we update the first value
@@ -231,14 +203,14 @@ public class DoubleStatistics extends Statistics<Double> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
- return this.minInfo.timestamps;
+ public long getBottomTimestamp() {
+ return this.minInfo.timestamp;
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
- return this.maxInfo.timestamps;
+ public long getTopTimestamp() {
+ return this.maxInfo.timestamp;
}
@Override
@@ -285,56 +257,6 @@ public class DoubleStatistics extends Statistics<Double> {
}
}
- // @Override
- // public byte[] getMinInfoBytes() {
- // return BytesUtils.doubleToBytes(minValue);
- // }
- //
- // @Override
- // public byte[] getMaxInfoBytes() {
- // return BytesUtils.doubleToBytes(maxValue);
- // }
- //
- // @Override
- // public byte[] getFirstValueBytes() {
- // return BytesUtils.doubleToBytes(firstValue);
- // }
- //
- // @Override
- // public byte[] getLastValueBytes() {
- // return BytesUtils.doubleToBytes(lastValue);
- // }
- //
- // @Override
- // public byte[] getSumValueBytes() {
- // return BytesUtils.doubleToBytes(sumValue);
- // }
- //
- // @Override
- // public ByteBuffer getMinValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(minValue);
- // }
- //
- // @Override
- // public ByteBuffer getMaxValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(maxValue);
- // }
- //
- // @Override
- // public ByteBuffer getFirstValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(firstValue);
- // }
- //
- // @Override
- // public ByteBuffer getLastValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(lastValue);
- // }
- //
- // @Override
- // public ByteBuffer getSumValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(sumValue);
- // }
-
/** @author Yuyuan Kang */
@Override
public int serializeStats(OutputStream outputStream) throws IOException {
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 c999936..d084152 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
@@ -26,8 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
/** Statistics for float type. */
public class FloatStatistics extends Statistics<Float> {
@@ -45,8 +43,8 @@ public class FloatStatistics extends Statistics<Float> {
/** @author Yuyuan Kang */
public FloatStatistics() {
- minInfo = new MinMaxInfo<>(Float.MAX_VALUE, new HashSet<>());
- maxInfo = new MinMaxInfo<>(Float.MIN_VALUE, new HashSet<>());
+ minInfo = new MinMaxInfo<>(Float.MAX_VALUE, -1);
+ maxInfo = new MinMaxInfo<>(Float.MIN_VALUE, -1);
}
@Override
@@ -60,12 +58,10 @@ public class FloatStatistics extends Statistics<Float> {
int len = 0;
// min info
len += 8; // value of min info, float
- len += 4; // size of bottom timestamps, int
- len += 8 * minInfo.timestamps.size(); // timestamps of min info, float(s)
+ len += 8; // timestamps of min info, long
// max info
len += 8; // value of max info, float
- len += 4; // size of top timestamps, int
- len += 8 * maxInfo.timestamps.size(); // timestamps of max info, float(s)
+ len += 8; // timestamps of max info, long
len += 24; // first value, last value and sum value
return len;
}
@@ -75,18 +71,6 @@ public class FloatStatistics extends Statistics<Float> {
public void updateMinInfo(Float val, long timestamp) {
if (val < this.minInfo.val) {
this.minInfo.reset(val, timestamp);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMinInfo(Float val, Set<Long> timestamps) {
- if (val < this.minInfo.val) {
- this.minInfo.reset(val, timestamps);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.addAll(timestamps);
}
}
@@ -95,18 +79,6 @@ public class FloatStatistics extends Statistics<Float> {
public void updateMaxInfo(Float val, long timestamp) {
if (val > this.maxInfo.val) {
this.maxInfo.reset(val, timestamp);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMaxInfo(Float val, Set<Long> timestamps) {
- if (val > this.maxInfo.val) {
- this.maxInfo.reset(val, timestamps);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.addAll(timestamps);
}
}
@@ -163,8 +135,8 @@ public class FloatStatistics extends Statistics<Float> {
double sumValue,
long startTime,
long endTime) {
- updateMinInfo(minInfo.val, minInfo.timestamps);
- updateMaxInfo(maxInfo.val, maxInfo.timestamps);
+ updateMinInfo(minInfo.val, minInfo.timestamp);
+ updateMaxInfo(maxInfo.val, maxInfo.timestamp);
this.sumValue += sumValue;
// only if endTime greater or equals to the current endTime need we update the last value
// only if startTime less or equals to the current startTime need we update the first value
@@ -233,14 +205,14 @@ public class FloatStatistics extends Statistics<Float> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
- return this.minInfo.timestamps;
+ public long getBottomTimestamp() {
+ return this.minInfo.timestamp;
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
- return this.maxInfo.timestamps;
+ public long getTopTimestamp() {
+ return this.maxInfo.timestamp;
}
@Override
@@ -287,56 +259,6 @@ public class FloatStatistics extends Statistics<Float> {
}
}
- // @Override
- // public byte[] getMinInfoBytes() {
- // return BytesUtils.floatToBytes(minValue);
- // }
- //
- // @Override
- // public byte[] getMaxInfoBytes() {
- // return BytesUtils.floatToBytes(maxValue);
- // }
- //
- // @Override
- // public byte[] getFirstValueBytes() {
- // return BytesUtils.floatToBytes(firstValue);
- // }
- //
- // @Override
- // public byte[] getLastValueBytes() {
- // return BytesUtils.floatToBytes(lastValue);
- // }
- //
- // @Override
- // public byte[] getSumValueBytes() {
- // return BytesUtils.doubleToBytes(sumValue);
- // }
- //
- // @Override
- // public ByteBuffer getMinValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(minValue);
- // }
- //
- // @Override
- // public ByteBuffer getMaxValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(maxValue);
- // }
- //
- // @Override
- // public ByteBuffer getFirstValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(firstValue);
- // }
- //
- // @Override
- // public ByteBuffer getLastValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(lastValue);
- // }
- //
- // @Override
- // public ByteBuffer getSumValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(sumValue);
- // }
-
/** @author Yuyuan Kang */
@Override
public int serializeStats(OutputStream outputStream) throws IOException {
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 993103d..6ee9cbf 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
@@ -26,8 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
/** Statistics for int type. */
public class IntegerStatistics extends Statistics<Integer> {
@@ -51,8 +49,8 @@ public class IntegerStatistics extends Statistics<Integer> {
/** @author Yuyuan Kang */
public IntegerStatistics() {
- minInfo = new MinMaxInfo<>(Integer.MAX_VALUE, new HashSet<>());
- maxInfo = new MinMaxInfo<>(Integer.MIN_VALUE, new HashSet<>());
+ minInfo = new MinMaxInfo<>(Integer.MAX_VALUE, -1);
+ maxInfo = new MinMaxInfo<>(Integer.MIN_VALUE, -1);
}
/** @author Yuyuan Kang */
@@ -61,12 +59,10 @@ public class IntegerStatistics extends Statistics<Integer> {
int len = 0;
// min info
len += 4; // value of min info, int
- len += 4; // size of bottom timestamps, int
- len += 4 * minInfo.timestamps.size(); // timestamps of min info, int(s)
+ len += 8; // timestamps of min info, long
// max info
len += 4; // value of max info, int
- len += 4; // size of top timestamps, int
- len += 4 * maxInfo.timestamps.size(); // timestamps of max info, int(s)
+ len += 8; // timestamps of max info, long
len += 16; // first value, last value and sum value
return len;
}
@@ -124,8 +120,8 @@ public class IntegerStatistics extends Statistics<Integer> {
long sumValue,
long startTime,
long endTime) {
- updateMinInfo(minInfo.val, minInfo.timestamps);
- updateMaxInfo(maxInfo.val, maxInfo.timestamps);
+ updateMinInfo(minInfo.val, minInfo.timestamp);
+ updateMaxInfo(maxInfo.val, maxInfo.timestamp);
this.sumValue += sumValue;
// only if endTime greater or equals to the current endTime need we update the last value
// only if startTime less or equals to the current startTime need we update the first value
@@ -194,14 +190,14 @@ public class IntegerStatistics extends Statistics<Integer> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
- return this.minInfo.timestamps;
+ public long getBottomTimestamp() {
+ return this.minInfo.timestamp;
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
- return this.maxInfo.timestamps;
+ public long getTopTimestamp() {
+ return this.maxInfo.timestamp;
}
@Override
@@ -253,18 +249,6 @@ public class IntegerStatistics extends Statistics<Integer> {
public void updateMinInfo(Integer val, long timestamp) {
if (val < this.minInfo.val) {
this.minInfo.reset(val, timestamp);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMinInfo(Integer val, Set<Long> timestamps) {
- if (val < this.minInfo.val) {
- this.minInfo.reset(val, timestamps);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.addAll(timestamps);
}
}
@@ -273,73 +257,11 @@ public class IntegerStatistics extends Statistics<Integer> {
public void updateMaxInfo(Integer val, long timestamp) {
if (val > this.maxInfo.val) {
this.maxInfo.reset(val, timestamp);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.add(timestamp);
}
}
/** @author Yuyuan Kang */
@Override
- public void updateMaxInfo(Integer val, Set<Long> timestamps) {
- if (val > this.maxInfo.val) {
- this.maxInfo.reset(val, timestamps);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.addAll(timestamps);
- }
- }
-
- // @Override
- // public ByteBuffer getMinValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(minValue);
- // }
- //
- // @Override
- // public ByteBuffer getMaxValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(maxValue);
- // }
- //
- // @Override
- // public ByteBuffer getFirstValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(firstValue);
- // }
- //
- // @Override
- // public ByteBuffer getLastValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(lastValue);
- // }
- //
- // @Override
- // public ByteBuffer getSumValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(sumValue);
- // }
- //
- // @Override
- // public byte[] getMinInfoBytes() {
- // return BytesUtils.intToBytes(minValue);
- // }
- //
- // @Override
- // public byte[] getMaxInfoBytes() {
- // return BytesUtils.intToBytes(maxValue);
- // }
- //
- // @Override
- // public byte[] getFirstValueBytes() {
- // return BytesUtils.intToBytes(firstValue);
- // }
- //
- // @Override
- // public byte[] getLastValueBytes() {
- // return BytesUtils.intToBytes(lastValue);
- // }
- //
- // @Override
- // public byte[] getSumValueBytes() {
- // return BytesUtils.longToBytes(sumValue);
- // }
-
- /** @author Yuyuan Kang */
- @Override
public int serializeStats(OutputStream outputStream) throws IOException {
int byteLen = 0;
byteLen += ReadWriteIOUtils.write(minInfo, minMaxDataType, outputStream);
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 9c36702..e21949f 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
@@ -26,8 +26,6 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
-import java.util.HashSet;
-import java.util.Set;
public class LongStatistics extends Statistics<Long> {
@@ -49,8 +47,8 @@ public class LongStatistics extends Statistics<Long> {
/** @author Yuyuan Kang */
public LongStatistics() {
- this.minInfo = new MinMaxInfo<>(Long.MAX_VALUE, new HashSet<>());
- this.maxInfo = new MinMaxInfo<>(Long.MIN_VALUE, new HashSet<>());
+ this.minInfo = new MinMaxInfo<>(Long.MAX_VALUE, -1);
+ this.maxInfo = new MinMaxInfo<>(Long.MIN_VALUE, -1);
}
/** @author Yuyuan Kang */
@@ -59,12 +57,10 @@ public class LongStatistics extends Statistics<Long> {
int len = 0;
// min info
len += 8; // value of min info, long
- len += 4; // size of bottom timestamps, int
- len += 8 * minInfo.timestamps.size(); // timestamps of min info, long(s)
+ len += 8; // timestamps of min info, long
// max info
len += 8; // value of max info, long
- len += 4; // size of top timestamps, int
- len += 8 * maxInfo.timestamps.size(); // timestamps of max info, long(s)
+ len += 8; // timestamps of max info, long
len += 24; // first value, last value and sum value
return len;
}
@@ -118,8 +114,8 @@ public class LongStatistics extends Statistics<Long> {
double sumValue,
long startTime,
long endTime) {
- updateMinInfo(minInfo.val, minInfo.timestamps);
- updateMaxInfo(maxInfo.val, maxInfo.timestamps);
+ updateMinInfo(minInfo.val, minInfo.timestamp);
+ updateMaxInfo(maxInfo.val, maxInfo.timestamp);
this.sumValue += sumValue;
// only if endTime greater or equals to the current endTime need we update the last value
// only if startTime less or equals to the current startTime need we update the first value
@@ -164,14 +160,14 @@ public class LongStatistics extends Statistics<Long> {
/** @author Yuyuan Kang */
@Override
- public Set<Long> getBottomTimestamps() {
- return this.minInfo.timestamps;
+ public long getBottomTimestamp() {
+ return this.minInfo.timestamp;
}
/** @author Yuyuan Kang */
@Override
- public Set<Long> getTopTimestamps() {
- return this.maxInfo.timestamps;
+ public long getTopTimestamp() {
+ return this.maxInfo.timestamp;
}
@Override
@@ -254,18 +250,6 @@ public class LongStatistics extends Statistics<Long> {
public void updateMinInfo(Long val, long timestamp) {
if (val < this.minInfo.val) {
this.minInfo.reset(val, timestamp);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.add(timestamp);
- }
- }
-
- /** @author Yuyuan Kang */
- @Override
- public void updateMinInfo(Long val, Set<Long> timestamps) {
- if (val < this.minInfo.val) {
- this.minInfo.reset(val, timestamps);
- } else if (val.equals(this.minInfo.val)) {
- this.minInfo.timestamps.addAll(timestamps);
}
}
@@ -274,73 +258,11 @@ public class LongStatistics extends Statistics<Long> {
public void updateMaxInfo(Long val, long timestamp) {
if (val > this.maxInfo.val) {
this.maxInfo.reset(val, timestamp);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.add(timestamp);
}
}
/** @author Yuyuan Kang */
@Override
- public void updateMaxInfo(Long val, Set<Long> timestamps) {
- if (val > this.maxInfo.val) {
- this.maxInfo.reset(val, timestamps);
- } else if (val.equals(this.maxInfo.val)) {
- this.maxInfo.timestamps.addAll(timestamps);
- }
- }
-
- // @Override
- // public byte[] getMinInfoBytes() {
- // return BytesUtils.longToBytes(minValue);
- // }
- //
- // @Override
- // public byte[] getMaxInfoBytes() {
- // return BytesUtils.longToBytes(maxValue);
- // }
- //
- // @Override
- // public byte[] getFirstValueBytes() {
- // return BytesUtils.longToBytes(firstValue);
- // }
- //
- // @Override
- // public byte[] getLastValueBytes() {
- // return BytesUtils.longToBytes(lastValue);
- // }
- //
- // @Override
- // public byte[] getSumValueBytes() {
- // return BytesUtils.doubleToBytes(sumValue);
- // }
- //
- // @Override
- // public ByteBuffer getMinValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(minValue);
- // }
- //
- // @Override
- // public ByteBuffer getMaxValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(maxValue);
- // }
- //
- // @Override
- // public ByteBuffer getFirstValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(firstValue);
- // }
- //
- // @Override
- // public ByteBuffer getLastValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(lastValue);
- // }
- //
- // @Override
- // public ByteBuffer getSumValueBuffer() {
- // return ReadWriteIOUtils.getByteBuffer(sumValue);
- // }
-
- /** @author Yuyuan Kang */
- @Override
public int serializeStats(OutputStream outputStream) throws IOException {
int byteLen = 0;
byteLen += ReadWriteIOUtils.write(minInfo, minMaxDataType, outputStream);
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/MinMaxInfo.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/MinMaxInfo.java
index 28ad5ca..d8da22f 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/MinMaxInfo.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/MinMaxInfo.java
@@ -18,15 +18,11 @@
*/
package org.apache.iotdb.tsfile.file.metadata.statistics;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
/** @author Yuyuan Kang */
public class MinMaxInfo<K> implements Comparable {
public K val;
- public Set<Long> timestamps;
+ public Long timestamp;
// public MinMaxInfo(T val, Set<Long> timestamps) {
// this.val = val;
@@ -37,45 +33,29 @@ public class MinMaxInfo<K> implements Comparable {
public MinMaxInfo(K val, long timestamp) {
this.val = val;
- this.timestamps = new HashSet<>();
- this.timestamps.add(timestamp);
+ this.timestamp = timestamp;
}
public MinMaxInfo(MinMaxInfo<K> minMaxInfo) {
this.val = minMaxInfo.val;
- this.timestamps = new HashSet<>();
- timestamps.addAll(minMaxInfo.timestamps);
- }
-
- public MinMaxInfo(K val, Set<Long> timestamps) {
- this.val = val;
- this.timestamps = timestamps;
+ this.timestamp = minMaxInfo.timestamp;
}
public void reset(K val, long timestamp) {
this.val = val;
- this.timestamps.clear();
- this.timestamps.add(timestamp);
- }
-
- public void reset(K val, Set<Long> timestamps) {
- this.val = val;
- this.timestamps.clear();
- this.timestamps.addAll(timestamps);
+ this.timestamp = timestamp;
}
@Override
public String toString() {
- String ret = val.toString();
- ret += Arrays.toString(timestamps.toArray());
- return ret;
+ return val.toString() + "[" + timestamp + "]";
}
@Override
public boolean equals(Object minMaxInfo) {
if (minMaxInfo.getClass() == this.getClass()) {
return this.val.equals(((MinMaxInfo<K>) minMaxInfo).val)
- && this.timestamps.equals(((MinMaxInfo<K>) minMaxInfo).timestamps);
+ && this.timestamp.equals(((MinMaxInfo<K>) minMaxInfo).timestamp);
} else {
return false;
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
index 564b0a4..947805c 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
@@ -33,7 +33,6 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.nio.ByteBuffer;
import java.util.Objects;
-import java.util.Set;
/**
* This class is used for recording statistic information of each measurement in a delta file. While
@@ -145,10 +144,10 @@ public abstract class Statistics<T> {
public abstract T getMaxValue();
/** @author Yuyuan Kang */
- public abstract Set<Long> getBottomTimestamps();
+ public abstract long getBottomTimestamp();
/** @author Yuyuan Kang */
- public abstract Set<Long> getTopTimestamps();
+ public abstract long getTopTimestamp();
public abstract T getFirstValue();
@@ -358,14 +357,8 @@ public abstract class Statistics<T> {
public abstract void updateMinInfo(T val, long timestamp);
/** @author Yuyuan Kang */
- public abstract void updateMinInfo(T val, Set<Long> timestamps);
-
- /** @author Yuyuan Kang */
public abstract void updateMaxInfo(T val, long timestamp);
- /** @author Yuyuan Kang */
- public abstract void updateMaxInfo(T val, Set<Long> timestamps);
-
void updateStats(boolean value) {
throw new UnsupportedOperationException();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/ChunkReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/ChunkReader.java
index 2a4e1f7..f6d307f 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/ChunkReader.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/ChunkReader.java
@@ -157,6 +157,7 @@ public class ChunkReader implements IChunkReader {
unCompressor.uncompress(
compressedPageBody, 0, compressedPageBodyLength, uncompressedPageData, 0);
} catch (Exception e) {
+ System.out.println("???");
throw new IOException(
"Uncompress error! uncompress size: "
+ pageHeader.getUncompressedSize()
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java
index 61f2b6f..b31ed90 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/utils/ReadWriteIOUtils.java
@@ -36,11 +36,9 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
-import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
-import java.util.Set;
import static org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.BINARY;
import static org.apache.iotdb.tsfile.utils.ReadWriteIOUtils.ClassSerializeId.BOOLEAN;
@@ -374,10 +372,7 @@ public class ReadWriteIOUtils {
}
len += bytes.length;
outputStream.write(bytes);
- len += write(minMaxInfo.timestamps.size(), outputStream);
- for (Object timestamp : minMaxInfo.timestamps) {
- len += write((long) timestamp, outputStream);
- }
+ len += write(minMaxInfo.timestamp, outputStream);
return len;
}
@@ -621,12 +616,8 @@ public class ReadWriteIOUtils {
throw new IllegalArgumentException(
String.format(KNOWN_MINMAX_DATA_TYPE_ERROR, minMaxDataType.toString()));
}
- int len = readInt(inputStream);
- Set<Long> timestamps = new HashSet<>();
- for (int i = 0; i < len; i++) {
- timestamps.add(readLong(inputStream));
- }
- return new MinMaxInfo(val, timestamps);
+ long timestamp = readLong(inputStream);
+ return new MinMaxInfo(val, timestamp);
}
/** string length's type is varInt */
@@ -676,12 +667,8 @@ public class ReadWriteIOUtils {
throw new IllegalArgumentException(
String.format(KNOWN_MINMAX_DATA_TYPE_ERROR, minMaxDataType.toString()));
}
- int len = byteBuffer.getInt();
- Set<Long> timestamps = new HashSet<>();
- for (int i = 0; i < len; i++) {
- timestamps.add(byteBuffer.getLong());
- }
- return new MinMaxInfo(val, timestamps);
+ long timestamp = byteBuffer.getLong();
+ return new MinMaxInfo(val, timestamp);
}
/** string length's type is varInt */
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatisticsTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatisticsTest.java
index 2143f97..99e1f46 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatisticsTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/DoubleStatisticsTest.java
@@ -20,10 +20,6 @@ package org.apache.iotdb.tsfile.file.metadata.statistics;
import org.junit.Test;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -71,9 +67,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(2783647123649L);
assertFalse(doubleStatistics.isEmpty());
assertEquals(7607.41005d, doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(7607.41005d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123649L, (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, doubleStatistics.getStartTime());
// assertEquals(2783647123649L, doubleStatistics.getEndTime());
assertEquals(7607.41005d, doubleStatistics.getFirstValue(), maxError);
@@ -83,9 +79,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(2783647123650L);
assertFalse(doubleStatistics.isEmpty());
assertEquals(7607.41005d, doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(4027.54405d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123650L), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123650L, (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, doubleStatistics.getStartTime());
// assertEquals(2783647123650L, doubleStatistics.getEndTime());
assertEquals(7607.41005d, doubleStatistics.getFirstValue(), maxError);
@@ -100,9 +96,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(2783647123656L);
assertEquals(8193.24925d, doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123651L), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123651L, (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(351.58025d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123656L), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123656L, (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, doubleStatistics.getStartTime());
// assertEquals(2783647123656L, doubleStatistics.getEndTime());
assertEquals(7607.41005d, doubleStatistics.getFirstValue(), maxError);
@@ -154,9 +150,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(times[0]);
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[0], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[0], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -166,12 +162,10 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(times[1]);
assertFalse(doubleStatistics.isEmpty());
assertEquals(7607.41005d, doubleStatistics.getMaxInfo().val, maxError);
- Set<Long> expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[0]);
- expectedTimestamps.add(times[1]);
- assertEquals(expectedTimestamps, doubleStatistics.getMaxInfo().timestamps);
+ long expectedTimestamp = times[0];
+ assertEquals(expectedTimestamp, (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(7607.41005d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(expectedTimestamps, doubleStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, doubleStatistics.getStartTime());
// assertEquals(2783647123650L, doubleStatistics.getEndTime());
assertEquals(7607.41005d, doubleStatistics.getFirstValue(), maxError);
@@ -181,10 +175,9 @@ public class DoubleStatisticsTest {
doubleStatistics.updateStats(vals[3], times[3]);
doubleStatistics.setEndTime(times[3]);
assertEquals(7607.41005d, doubleStatistics.getMaxInfo().val, maxError);
- expectedTimestamps.add(times[2]);
- assertEquals(expectedTimestamps, doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(1380.64375d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[3], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -197,13 +190,10 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(times[7]);
assertEquals(7813.17305d, doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123653L), doubleStatistics.getMaxInfo().timestamps);
-
- expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[6]);
- expectedTimestamps.add(times[7]);
+ assertEquals(2783647123653L, (long) doubleStatistics.getMaxInfo().timestamp);
+ expectedTimestamp = times[6];
assertEquals(351.58025d, doubleStatistics.getMinInfo().val, maxError);
- assertEquals(expectedTimestamps, doubleStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[7], doubleStatistics.getEndTime());
@@ -256,9 +246,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(times[0]);
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[0], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) doubleStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) doubleStatistics.getMinInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[0], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -269,9 +259,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 2));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[1], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[1]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[0], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[1], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -282,9 +272,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 3));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[1], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[1]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[2], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -295,9 +285,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 4));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[3], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[3], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -308,9 +298,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 5));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[3], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[4], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -321,9 +311,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 6));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[3], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[5], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -334,9 +324,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 7));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[3], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[6], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -347,9 +337,9 @@ public class DoubleStatisticsTest {
doubleStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 8));
assertFalse(doubleStatistics.isEmpty());
assertEquals(vals[7], doubleStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[7]), doubleStatistics.getMinInfo().timestamps);
+ assertEquals(times[7], (long) doubleStatistics.getMinInfo().timestamp);
assertEquals(vals[2], doubleStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), doubleStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) doubleStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], doubleStatistics.getStartTime());
// assertEquals(times[7], doubleStatistics.getEndTime());
assertEquals(vals[0], doubleStatistics.getFirstValue(), maxError);
@@ -380,9 +370,9 @@ public class DoubleStatisticsTest {
doubleStatistics1.mergeStatistics(doubleStatistics2);
assertFalse(doubleStatistics1.isEmpty());
assertEquals(100.5d, doubleStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(1000L), doubleStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) doubleStatistics1.getMinInfo().timestamp);
assertEquals(10000.5d, doubleStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(5000L), doubleStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) doubleStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, doubleStatistics1.getStartTime());
// assertEquals(7000L, doubleStatistics1.getEndTime());
assertEquals(100.5d, doubleStatistics1.getFirstValue(), maxError);
@@ -401,9 +391,9 @@ public class DoubleStatisticsTest {
doubleStatistics1.mergeStatistics(doubleStatistics2);
assertFalse(doubleStatistics1.isEmpty());
assertEquals(100.5d, doubleStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(1000L), doubleStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) doubleStatistics1.getMinInfo().timestamp);
assertEquals(80000.5d, doubleStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(7000L), doubleStatistics1.getMaxInfo().timestamps);
+ assertEquals(7000L, (long) doubleStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, doubleStatistics1.getStartTime());
// assertEquals(7000L, doubleStatistics1.getEndTime());
assertEquals(100.5d, doubleStatistics1.getFirstValue(), maxError);
@@ -422,9 +412,9 @@ public class DoubleStatisticsTest {
doubleStatistics1.mergeStatistics(doubleStatistics2);
assertFalse(doubleStatistics1.isEmpty());
assertEquals(10.5d, doubleStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(6000L), doubleStatistics1.getMinInfo().timestamps);
+ assertEquals(6000L, (long) doubleStatistics1.getMinInfo().timestamp);
assertEquals(10000.5d, doubleStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(5000L), doubleStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) doubleStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, doubleStatistics1.getStartTime());
// assertEquals(7000L, doubleStatistics1.getEndTime());
assertEquals(100.5d, doubleStatistics1.getFirstValue(), maxError);
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatisticsTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatisticsTest.java
index 33f220c..fb4842c 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatisticsTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/FloatStatisticsTest.java
@@ -20,10 +20,6 @@ package org.apache.iotdb.tsfile.file.metadata.statistics;
import org.junit.Test;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -71,9 +67,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(2783647123649L);
assertFalse(floatStatistics.isEmpty());
assertEquals(7607.41005f, floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(7607.41005f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), floatStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123649L, (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, floatStatistics.getStartTime());
// assertEquals(2783647123649L, floatStatistics.getEndTime());
assertEquals(7607.41005f, floatStatistics.getFirstValue(), maxError);
@@ -83,9 +79,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(2783647123650L);
assertFalse(floatStatistics.isEmpty());
assertEquals(7607.41005f, floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123649L), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(4027.54405f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123650L), floatStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123650L, (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, floatStatistics.getStartTime());
// assertEquals(2783647123650L, floatStatistics.getEndTime());
assertEquals(7607.41005f, floatStatistics.getFirstValue(), maxError);
@@ -100,9 +96,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(2783647123656L);
assertEquals(8193.24925f, floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123651L), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123651L, (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(351.58025f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123656L), floatStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123656L, (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, floatStatistics.getStartTime());
// assertEquals(2783647123656L, floatStatistics.getEndTime());
assertEquals(7607.41005f, floatStatistics.getFirstValue(), maxError);
@@ -154,9 +150,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(times[0]);
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[0], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[0], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -166,12 +162,10 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(times[1]);
assertFalse(floatStatistics.isEmpty());
assertEquals(7607.41005f, floatStatistics.getMaxInfo().val, maxError);
- Set<Long> expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[0]);
- expectedTimestamps.add(times[1]);
- assertEquals(expectedTimestamps, floatStatistics.getMaxInfo().timestamps);
+ long expectedTimestamp = times[0];
+ assertEquals(expectedTimestamp, (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(7607.41005f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(expectedTimestamps, floatStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, floatStatistics.getStartTime());
// assertEquals(2783647123650L, floatStatistics.getEndTime());
assertEquals(7607.41005f, floatStatistics.getFirstValue(), maxError);
@@ -181,10 +175,9 @@ public class FloatStatisticsTest {
floatStatistics.updateStats(vals[3], times[3]);
floatStatistics.setEndTime(times[3]);
assertEquals(7607.41005f, floatStatistics.getMaxInfo().val, maxError);
- expectedTimestamps.add(times[2]);
- assertEquals(expectedTimestamps, floatStatistics.getMaxInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(1380.64375f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[3], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -197,13 +190,12 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(times[7]);
assertEquals(7813.17305f, floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(2783647123653L), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123653L, (long) floatStatistics.getMaxInfo().timestamp);
+
+ expectedTimestamp = times[6];
- expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[6]);
- expectedTimestamps.add(times[7]);
assertEquals(351.58025f, floatStatistics.getMinInfo().val, maxError);
- assertEquals(expectedTimestamps, floatStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[7], floatStatistics.getEndTime());
@@ -256,9 +248,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(times[0]);
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[0], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) floatStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) floatStatistics.getMinInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[0], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -269,9 +261,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 2));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[1], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[1]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[0], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[0]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[1], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -282,9 +274,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 3));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[1], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[1]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[2], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -295,9 +287,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 4));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[3], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[3], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -308,9 +300,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 5));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[3], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[4], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -321,9 +313,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 6));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[3], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[5], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -334,9 +326,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 7));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[3], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[3]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[6], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -347,9 +339,9 @@ public class FloatStatisticsTest {
floatStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 8));
assertFalse(floatStatistics.isEmpty());
assertEquals(vals[7], floatStatistics.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(times[7]), floatStatistics.getMinInfo().timestamps);
+ assertEquals(times[7], (long) floatStatistics.getMinInfo().timestamp);
assertEquals(vals[2], floatStatistics.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(times[2]), floatStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) floatStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], floatStatistics.getStartTime());
// assertEquals(times[7], floatStatistics.getEndTime());
assertEquals(vals[0], floatStatistics.getFirstValue(), maxError);
@@ -380,9 +372,9 @@ public class FloatStatisticsTest {
floatStatistics1.mergeStatistics(floatStatistics2);
assertFalse(floatStatistics1.isEmpty());
assertEquals(100.5f, floatStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(1000L), floatStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) floatStatistics1.getMinInfo().timestamp);
assertEquals(10000.5f, floatStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(5000L), floatStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) floatStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, floatStatistics1.getStartTime());
// assertEquals(7000L, floatStatistics1.getEndTime());
assertEquals(100.5f, floatStatistics1.getFirstValue(), maxError);
@@ -401,9 +393,9 @@ public class FloatStatisticsTest {
floatStatistics1.mergeStatistics(floatStatistics2);
assertFalse(floatStatistics1.isEmpty());
assertEquals(100.5f, floatStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(1000L), floatStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) floatStatistics1.getMinInfo().timestamp);
assertEquals(80000.5f, floatStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(7000L), floatStatistics1.getMaxInfo().timestamps);
+ assertEquals(7000L, (long) floatStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, floatStatistics1.getStartTime());
// assertEquals(7000L, floatStatistics1.getEndTime());
assertEquals(100.5f, floatStatistics1.getFirstValue(), maxError);
@@ -422,9 +414,9 @@ public class FloatStatisticsTest {
floatStatistics1.mergeStatistics(floatStatistics2);
assertFalse(floatStatistics1.isEmpty());
assertEquals(10.5f, floatStatistics1.getMinInfo().val, maxError);
- assertEquals(Collections.singleton(6000L), floatStatistics1.getMinInfo().timestamps);
+ assertEquals(6000L, (long) floatStatistics1.getMinInfo().timestamp);
assertEquals(10000.5f, floatStatistics1.getMaxInfo().val, maxError);
- assertEquals(Collections.singleton(5000L), floatStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) floatStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, floatStatistics1.getStartTime());
// assertEquals(7000L, floatStatistics1.getEndTime());
assertEquals(100.5f, floatStatistics1.getFirstValue(), maxError);
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatisticsTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatisticsTest.java
index 993cf37..36b2960 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatisticsTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/IntegerStatisticsTest.java
@@ -20,10 +20,6 @@ package org.apache.iotdb.tsfile.file.metadata.statistics;
import org.junit.Test;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -60,9 +56,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(2783647123649L);
assertFalse(integerStatistics.isEmpty());
assertEquals(76074100, (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123649L), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(76074100, (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123649L), integerStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123649L, (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, integerStatistics.getStartTime());
// assertEquals(2783647123649L, integerStatistics.getEndTime());
assertEquals(76074100, (long) integerStatistics.getFirstValue());
@@ -72,9 +68,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(2783647123650L);
assertFalse(integerStatistics.isEmpty());
assertEquals(76074100, (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123649L), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(40275440, (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123650L), integerStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123650L, (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, integerStatistics.getStartTime());
// assertEquals(2783647123650L, integerStatistics.getEndTime());
assertEquals(76074100, (long) integerStatistics.getFirstValue());
@@ -89,9 +85,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(2783647123656L);
assertEquals(81932492, (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123651L), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123651L, (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(3515802, (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123656L), integerStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123656L, (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, integerStatistics.getStartTime());
// assertEquals(2783647123656L, integerStatistics.getEndTime());
assertEquals(76074100, (long) integerStatistics.getFirstValue());
@@ -134,9 +130,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(times[0]);
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[0], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[0]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[0], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -146,12 +142,10 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(times[1]);
assertFalse(integerStatistics.isEmpty());
assertEquals(76074100, (long) integerStatistics.getMaxInfo().val);
- Set<Long> expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[0]);
- expectedTimestamps.add(times[1]);
- assertEquals(expectedTimestamps, integerStatistics.getMaxInfo().timestamps);
+ long expectedTimestamp = times[0];
+ assertEquals(expectedTimestamp, (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(76074100, (long) integerStatistics.getMinInfo().val);
- assertEquals(expectedTimestamps, integerStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, integerStatistics.getStartTime());
// assertEquals(2783647123650L, integerStatistics.getEndTime());
assertEquals(76074100, (long) integerStatistics.getFirstValue());
@@ -161,10 +155,9 @@ public class IntegerStatisticsTest {
integerStatistics.updateStats(vals[3], times[3]);
integerStatistics.setEndTime(times[3]);
assertEquals(76074100, (long) integerStatistics.getMaxInfo().val);
- expectedTimestamps.add(times[2]);
- assertEquals(expectedTimestamps, integerStatistics.getMaxInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(13806437, (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[3], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -177,13 +170,11 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(times[7]);
assertEquals(78131730, (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123653L), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123653L, (long) integerStatistics.getMaxInfo().timestamp);
- expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[6]);
- expectedTimestamps.add(times[7]);
+ expectedTimestamp = times[6];
assertEquals(3515802, (long) integerStatistics.getMinInfo().val);
- assertEquals(expectedTimestamps, integerStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[7], integerStatistics.getEndTime());
@@ -227,9 +218,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(times[0]);
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[0], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) integerStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[0]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) integerStatistics.getMinInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[0], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -240,9 +231,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 2));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[1], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[1]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[0], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[1], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -253,9 +244,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 3));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[1], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[1]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[2], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -266,9 +257,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 4));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[3], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[3], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -279,9 +270,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 5));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[3], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[4], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -292,9 +283,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 6));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[3], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[5], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -305,9 +296,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 7));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[3], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[6], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -318,9 +309,9 @@ public class IntegerStatisticsTest {
integerStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 8));
assertFalse(integerStatistics.isEmpty());
assertEquals(vals[7], (long) integerStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[7]), integerStatistics.getMinInfo().timestamps);
+ assertEquals(times[7], (long) integerStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) integerStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), integerStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) integerStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], integerStatistics.getStartTime());
// assertEquals(times[7], integerStatistics.getEndTime());
assertEquals(vals[0], (long) integerStatistics.getFirstValue());
@@ -351,9 +342,9 @@ public class IntegerStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(100, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(1000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(10000, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(5000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100L, (long) longStatistics1.getFirstValue());
@@ -372,9 +363,9 @@ public class IntegerStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(100, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(1000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(80000, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(7000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(7000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100, (long) longStatistics1.getFirstValue());
@@ -393,9 +384,9 @@ public class IntegerStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(10, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(6000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(6000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(10000, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(5000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100, (long) longStatistics1.getFirstValue());
diff --git a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatisticsTest.java b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatisticsTest.java
index 7b31b18..e5f8413 100644
--- a/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatisticsTest.java
+++ b/tsfile/src/test/java/org/apache/iotdb/tsfile/file/metadata/statistics/LongStatisticsTest.java
@@ -20,10 +20,6 @@ package org.apache.iotdb.tsfile.file.metadata.statistics;
import org.junit.Test;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Set;
-
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
@@ -62,9 +58,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(2783647123649L);
assertFalse(longStatistics.isEmpty());
assertEquals(76074100L, (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123649L), longStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) longStatistics.getMaxInfo().timestamp);
assertEquals(76074100L, (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123649L), longStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123649L, (long) longStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, longStatistics.getStartTime());
// assertEquals(2783647123649L, longStatistics.getEndTime());
assertEquals(76074100L, (long) longStatistics.getFirstValue());
@@ -74,9 +70,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(2783647123650L);
assertFalse(longStatistics.isEmpty());
assertEquals(76074100L, (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123649L), longStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123649L, (long) longStatistics.getMaxInfo().timestamp);
assertEquals(40275440L, (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123650L), longStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123650L, (long) longStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, longStatistics.getStartTime());
// assertEquals(2783647123650L, longStatistics.getEndTime());
assertEquals(76074100L, (long) longStatistics.getFirstValue());
@@ -91,9 +87,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(2783647123656L);
assertEquals(81932492L, (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123651L), longStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123651L, (long) longStatistics.getMaxInfo().timestamp);
assertEquals(3515802L, (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(2783647123656L), longStatistics.getMinInfo().timestamps);
+ assertEquals(2783647123656L, (long) longStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, longStatistics.getStartTime());
// assertEquals(2783647123656L, longStatistics.getEndTime());
assertEquals(76074100L, (long) longStatistics.getFirstValue());
@@ -138,9 +134,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(times[0]);
assertFalse(longStatistics.isEmpty());
assertEquals(vals[0], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) longStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[0]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) longStatistics.getMinInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[0], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -150,12 +146,11 @@ public class LongStatisticsTest {
longStatistics.setEndTime(times[1]);
assertFalse(longStatistics.isEmpty());
assertEquals(76074100L, (long) longStatistics.getMaxInfo().val);
- Set<Long> expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[0]);
- expectedTimestamps.add(times[1]);
- assertEquals(expectedTimestamps, longStatistics.getMaxInfo().timestamps);
+
+ long expectedTimestamp = times[0];
+ assertEquals(expectedTimestamp, (long) longStatistics.getMaxInfo().timestamp);
assertEquals(76074100L, (long) longStatistics.getMinInfo().val);
- assertEquals(expectedTimestamps, longStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) longStatistics.getMinInfo().timestamp);
// assertEquals(2783647123649L, longStatistics.getStartTime());
// assertEquals(2783647123650L, longStatistics.getEndTime());
assertEquals(76074100L, (long) longStatistics.getFirstValue());
@@ -165,10 +160,9 @@ public class LongStatisticsTest {
longStatistics.updateStats(vals[3], times[3]);
longStatistics.setEndTime(times[3]);
assertEquals(76074100L, (long) longStatistics.getMaxInfo().val);
- expectedTimestamps.add(times[2]);
- assertEquals(expectedTimestamps, longStatistics.getMaxInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) longStatistics.getMaxInfo().timestamp);
assertEquals(13806437L, (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) longStatistics.getMinInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[3], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -181,13 +175,11 @@ public class LongStatisticsTest {
longStatistics.setEndTime(times[7]);
assertEquals(78131730L, (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(2783647123653L), longStatistics.getMaxInfo().timestamps);
+ assertEquals(2783647123653L, (long) longStatistics.getMaxInfo().timestamp);
- expectedTimestamps = new HashSet<>();
- expectedTimestamps.add(times[6]);
- expectedTimestamps.add(times[7]);
+ expectedTimestamp = times[6];
assertEquals(3515802L, (long) longStatistics.getMinInfo().val);
- assertEquals(expectedTimestamps, longStatistics.getMinInfo().timestamps);
+ assertEquals(expectedTimestamp, (long) longStatistics.getMinInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[7], longStatistics.getEndTime());
@@ -233,9 +225,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(times[0]);
assertFalse(longStatistics.isEmpty());
assertEquals(vals[0], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) longStatistics.getMaxInfo().timestamp);
assertEquals(vals[0], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[0]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[0], (long) longStatistics.getMinInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[0], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -246,9 +238,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 2));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[1], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[1]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[0], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[0]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[0], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[1], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -259,9 +251,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 3));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[1], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[1]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[1], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[2], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -272,9 +264,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 4));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[3], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[3], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -285,9 +277,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 5));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[3], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[4], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -298,9 +290,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 6));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[3], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[5], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -311,9 +303,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 7));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[3], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[3]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[3], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[6], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -324,9 +316,9 @@ public class LongStatisticsTest {
longStatistics.setEndTime(MaxMinUtils.maxLong(times, 0, 8));
assertFalse(longStatistics.isEmpty());
assertEquals(vals[7], (long) longStatistics.getMinInfo().val);
- assertEquals(Collections.singleton(times[7]), longStatistics.getMinInfo().timestamps);
+ assertEquals(times[7], (long) longStatistics.getMinInfo().timestamp);
assertEquals(vals[2], (long) longStatistics.getMaxInfo().val);
- assertEquals(Collections.singleton(times[2]), longStatistics.getMaxInfo().timestamps);
+ assertEquals(times[2], (long) longStatistics.getMaxInfo().timestamp);
// assertEquals(times[0], longStatistics.getStartTime());
// assertEquals(times[7], longStatistics.getEndTime());
assertEquals(vals[0], (long) longStatistics.getFirstValue());
@@ -357,9 +349,9 @@ public class LongStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(100L, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(1000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(10000L, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(5000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100L, (long) longStatistics1.getFirstValue());
@@ -378,9 +370,9 @@ public class LongStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(100L, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(1000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(1000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(80000L, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(7000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(7000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100L, (long) longStatistics1.getFirstValue());
@@ -399,9 +391,9 @@ public class LongStatisticsTest {
longStatistics1.mergeStatistics(longStatistics2);
assertFalse(longStatistics1.isEmpty());
assertEquals(10L, (long) longStatistics1.getMinInfo().val);
- assertEquals(Collections.singleton(6000L), longStatistics1.getMinInfo().timestamps);
+ assertEquals(6000L, (long) longStatistics1.getMinInfo().timestamp);
assertEquals(10000L, (long) longStatistics1.getMaxInfo().val);
- assertEquals(Collections.singleton(5000L), longStatistics1.getMaxInfo().timestamps);
+ assertEquals(5000L, (long) longStatistics1.getMaxInfo().timestamp);
// assertEquals(1000L, longStatistics1.getStartTime());
// assertEquals(7000L, longStatistics1.getEndTime());
assertEquals(100L, (long) longStatistics1.getFirstValue());