This is an automated email from the ASF dual-hosted git repository. hui pushed a commit to branch lmh/fixSonar in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 8f113472b89e8419c76d2dd75b614b7c0d3310ce Author: Minghui Liu <[email protected]> AuthorDate: Tue Jun 20 17:18:53 2023 +0800 fix sonar (tsfile/read) --- .../apache/iotdb/tsfile/read/TimeValuePair.java | 1 + .../iotdb/tsfile/read/TsFileCheckStatus.java | 4 + .../iotdb/tsfile/read/TsFileDeviceIterator.java | 2 +- .../org/apache/iotdb/tsfile/read/TsFileReader.java | 1 + .../iotdb/tsfile/read/TsFileSequenceReader.java | 20 ++- .../iotdb/tsfile/read/UnClosedTsFileReader.java | 1 + .../apache/iotdb/tsfile/read/common/BatchData.java | 21 ++- .../org/apache/iotdb/tsfile/read/common/Chunk.java | 3 +- .../tsfile/read/common/DescReadBatchData.java | 4 +- .../tsfile/read/common/DescReadWriteBatchData.java | 7 +- .../tsfile/read/common/ExceptionBatchData.java | 37 ----- .../org/apache/iotdb/tsfile/read/common/Field.java | 3 +- .../org/apache/iotdb/tsfile/read/common/Path.java | 1 + .../apache/iotdb/tsfile/read/common/RowRecord.java | 1 + .../iotdb/tsfile/read/common/SignalBatchData.java | 1 + .../apache/iotdb/tsfile/read/common/TimeRange.java | 7 +- .../iotdb/tsfile/read/common/block/TsBlock.java | 33 +++-- .../tsfile/read/common/block/TsBlockBuilder.java | 1 + .../read/common/block/TsBlockBuilderStatus.java | 1 + .../tsfile/read/common/block/TsBlockMetadata.java | 41 ------ .../tsfile/read/common/block/TsBlockUtil.java | 4 +- .../read/common/block/column/BinaryColumn.java | 1 + .../common/block/column/BinaryColumnBuilder.java | 1 + .../read/common/block/column/BooleanColumn.java | 1 + .../common/block/column/BooleanColumnBuilder.java | 1 + .../tsfile/read/common/block/column/Column.java | 1 + .../read/common/block/column/ColumnBuilder.java | 1 + .../common/block/column/ColumnBuilderStatus.java | 1 + .../common/block/column/ColumnEncoderFactory.java | 4 + .../read/common/block/column/ColumnUtil.java | 1 + .../read/common/block/column/DoubleColumn.java | 1 + .../common/block/column/DoubleColumnBuilder.java | 1 + .../read/common/block/column/FloatColumn.java | 1 + .../common/block/column/FloatColumnBuilder.java | 1 + .../tsfile/read/common/block/column/IntColumn.java | 1 + .../read/common/block/column/IntColumnBuilder.java | 1 + .../read/common/block/column/LongColumn.java | 1 + .../common/block/column/LongColumnBuilder.java | 1 + .../read/common/block/column/NullColumn.java | 5 +- .../block/column/RunLengthEncodedColumn.java | 1 + .../read/common/block/column/TimeColumn.java | 1 + .../common/block/column/TimeColumnBuilder.java | 1 + .../read/common/parser/PathNodesGenerator.java | 12 +- .../tsfile/read/common/parser/PathParseError.java | 1 + .../tsfile/read/common/parser/PathVisitor.java | 1 + .../iotdb/tsfile/read/common/type/TypeFactory.java | 5 + .../read/controller/CachedChunkLoaderImpl.java | 1 + .../iotdb/tsfile/read/controller/IChunkLoader.java | 1 + .../read/controller/IChunkMetadataLoader.java | 1 + .../tsfile/read/controller/IMetadataQuerier.java | 1 + .../read/controller/MetadataQuerierByFileImpl.java | 1 + .../tsfile/read/expression/ExpressionType.java | 1 + .../tsfile/read/expression/IBinaryExpression.java | 1 + .../iotdb/tsfile/read/expression/IExpression.java | 1 + .../tsfile/read/expression/IUnaryExpression.java | 1 + .../tsfile/read/expression/QueryExpression.java | 1 + .../read/expression/impl/BinaryExpression.java | 9 +- .../read/expression/impl/GlobalTimeExpression.java | 1 + .../expression/impl/SingleSeriesExpression.java | 1 + .../read/expression/util/ExpressionOptimizer.java | 3 +- .../read/expression/util/ExpressionPrinter.java | 60 -------- .../iotdb/tsfile/read/filter/GroupByFilter.java | 1 + .../tsfile/read/filter/GroupByMonthFilter.java | 1 + .../read/filter/PredicateRemoveNotRewriter.java | 4 + .../iotdb/tsfile/read/filter/TimeFilter.java | 4 +- .../iotdb/tsfile/read/filter/ValueFilter.java | 161 +-------------------- .../tsfile/read/filter/basic/BinaryFilter.java | 8 +- .../iotdb/tsfile/read/filter/basic/Filter.java | 1 + .../tsfile/read/filter/basic/UnaryFilter.java | 6 +- .../tsfile/read/filter/factory/FilterFactory.java | 5 + .../tsfile/read/filter/factory/FilterType.java | 1 + .../tsfile/read/filter/operator/AndFilter.java | 9 +- .../iotdb/tsfile/read/filter/operator/Eq.java | 1 + .../iotdb/tsfile/read/filter/operator/Gt.java | 1 + .../iotdb/tsfile/read/filter/operator/GtEq.java | 1 + .../iotdb/tsfile/read/filter/operator/In.java | 1 + .../iotdb/tsfile/read/filter/operator/Like.java | 22 +-- .../iotdb/tsfile/read/filter/operator/Lt.java | 1 + .../iotdb/tsfile/read/filter/operator/LtEq.java | 1 + .../iotdb/tsfile/read/filter/operator/NotEq.java | 1 + .../tsfile/read/filter/operator/NotFilter.java | 1 + .../tsfile/read/filter/operator/OrFilter.java | 9 +- .../iotdb/tsfile/read/filter/operator/Regexp.java | 1 + .../query/dataset/DataSetWithTimeGenerator.java | 3 +- .../query/dataset/DataSetWithoutTimeGenerator.java | 17 ++- .../tsfile/read/query/dataset/QueryDataSet.java | 18 +-- .../query/executor/ExecutorWithTimeGenerator.java | 5 +- .../tsfile/read/query/executor/QueryExecutor.java | 1 + .../tsfile/read/query/executor/TsFileExecutor.java | 1 + .../read/query/timegenerator/TimeGenerator.java | 1 + .../query/timegenerator/TsFileTimeGenerator.java | 1 + .../read/query/timegenerator/node/AndNode.java | 1 + .../read/query/timegenerator/node/LeafNode.java | 1 + .../tsfile/read/query/timegenerator/node/Node.java | 1 + .../read/query/timegenerator/node/NodeType.java | 1 + .../read/query/timegenerator/node/OrNode.java | 1 + .../tsfile/read/reader/IAlignedPageReader.java | 1 + .../iotdb/tsfile/read/reader/IBatchReader.java | 1 + .../iotdb/tsfile/read/reader/IChunkReader.java | 1 + .../iotdb/tsfile/read/reader/IPageReader.java | 1 + .../iotdb/tsfile/read/reader/IPointReader.java | 1 + .../iotdb/tsfile/read/reader/LocalTsFileInput.java | 1 + .../iotdb/tsfile/read/reader/TsFileInput.java | 1 + .../read/reader/chunk/AlignedChunkReader.java | 10 +- .../tsfile/read/reader/chunk/ChunkReader.java | 4 +- .../tsfile/read/reader/page/AlignedPageReader.java | 2 + .../iotdb/tsfile/read/reader/page/PageReader.java | 5 +- .../tsfile/read/reader/page/TimePageReader.java | 1 + .../tsfile/read/reader/page/ValuePageReader.java | 1 + .../reader/series/AbstractFileSeriesReader.java | 2 +- .../read/reader/series/FileSeriesReader.java | 1 + .../reader/series/FileSeriesReaderByTimestamp.java | 1 + .../read/reader/series/PaginationController.java | 3 +- 113 files changed, 259 insertions(+), 396 deletions(-) diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TimeValuePair.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TimeValuePair.java index 86a4aea1ebf..4bc768471c7 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TimeValuePair.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TimeValuePair.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read; import org.apache.iotdb.tsfile.utils.TsPrimitiveType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileCheckStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileCheckStatus.java index d63aa834999..8f9c693d9ca 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileCheckStatus.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileCheckStatus.java @@ -24,4 +24,8 @@ public class TsFileCheckStatus { public static final long FILE_EXISTS_MISTAKES = -1; public static final long INCOMPATIBLE_FILE = -2; public static final long FILE_NOT_FOUND = -3; + + private TsFileCheckStatus() { + // forbidding instantiation + } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileDeviceIterator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileDeviceIterator.java index 76609747c37..a37566ba93b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileDeviceIterator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileDeviceIterator.java @@ -57,7 +57,7 @@ public class TsFileDeviceIterator implements Iterator<Pair<String, Boolean>> { public boolean hasNext() { if (!queue.isEmpty()) { return true; - } else if (leafDeviceNodeOffsetList.size() == 0) { + } else if (leafDeviceNodeOffsetList.isEmpty()) { // device queue is empty and all device leaf node has been read return false; } else { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileReader.java index 04e3ed2104f..18a6476af7e 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read; import org.apache.iotdb.tsfile.read.controller.CachedChunkLoaderImpl; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java index 8e760edaef4..ca3eddefdaf 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/TsFileSequenceReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read; import org.apache.iotdb.tsfile.common.conf.TSFileConfig; @@ -80,6 +81,7 @@ import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.NoSuchElementException; +import java.util.Objects; import java.util.Queue; import java.util.Set; import java.util.TreeMap; @@ -681,7 +683,7 @@ public class TsFileSequenceReader implements AutoCloseable { private void getDevicesOfLeafNode( MetadataIndexNode deviceLeafNode, Queue<Pair<String, long[]>> measurementNodeOffsetQueue) { if (!deviceLeafNode.getNodeType().equals(MetadataIndexNodeType.LEAF_DEVICE)) { - throw new RuntimeException("the first param should be device leaf node."); + throw new IllegalStateException("the first param should be device leaf node."); } List<MetadataIndexEntry> childrenEntries = deviceLeafNode.getChildren(); for (int i = 0; i < childrenEntries.size(); i++) { @@ -704,7 +706,7 @@ public class TsFileSequenceReader implements AutoCloseable { private void getAllDeviceLeafNodeOffset( MetadataIndexNode deviceInternalNode, List<long[]> leafDeviceNodeOffsets) throws IOException { if (!deviceInternalNode.getNodeType().equals(MetadataIndexNodeType.INTERNAL_DEVICE)) { - throw new RuntimeException("the first param should be device internal node."); + throw new IllegalStateException("the first param should be device internal node."); } try { int metadataIndexListSize = deviceInternalNode.getChildren().size(); @@ -2250,8 +2252,20 @@ public class TsFileSequenceReader implements AutoCloseable { } } + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + TsFileSequenceReader reader = (TsFileSequenceReader) o; + return file.equals(reader.file); + } + @Override public int hashCode() { - return file.hashCode(); + return Objects.hash(file); } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/UnClosedTsFileReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/UnClosedTsFileReader.java index a77727ab16c..fb0e320fde5 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/UnClosedTsFileReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/UnClosedTsFileReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read; import org.apache.iotdb.tsfile.exception.NotImplementedException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchData.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchData.java index 3ff8c5f7ac1..4d57583d80a 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchData.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/BatchData.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.common.conf.TSFileConfig; @@ -60,7 +61,7 @@ public class BatchData { protected TSDataType dataType; - protected BatchDataType batchDataType = BatchDataType.Ordinary; + protected BatchDataType batchDataType = BatchDataType.ORDINARY; // outer list index for read protected int readCurListIndex; @@ -731,11 +732,15 @@ public class BatchData { case INT32: outputStream.writeInt(value.getInt()); break; + default: + throw new IllegalArgumentException("Unknown data type for BatchData:" + dataType); } } } } break; + default: + throw new IllegalArgumentException("Unknown data type for BatchData:" + dataType); } } @@ -770,9 +775,9 @@ public class BatchData { } public enum BatchDataType { - Ordinary, - DescRead, - DescReadWrite; + ORDINARY, + DESC_READ, + DESC_READ_WRITE; BatchDataType() {} @@ -851,7 +856,9 @@ public class BatchData { } @Override - public void close() {} + public void close() { + // do nothing + } } private class VectorBatchDataIterator extends BatchDataIterator { @@ -873,7 +880,7 @@ public class BatchData { @Override public boolean hasNext(long minBound, long maxBound) { while (BatchData.this.hasCurrent() && currentValue() == null) { - if (currentTime() < minBound || currentTime() >= maxBound) { + if (super.currentTime() < minBound || super.currentTime() >= maxBound) { break; } super.next(); @@ -896,7 +903,7 @@ public class BatchData { int readCurListIndexSave = BatchData.this.readCurListIndex; while (hasNext()) { cnt++; - next(); + super.next(); } BatchData.this.readCurArrayIndex = readCurArrayIndexSave; BatchData.this.readCurListIndex = readCurListIndexSave; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Chunk.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Chunk.java index bc51e33112d..039257e3bdf 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Chunk.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Chunk.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.file.MetaMarker; @@ -38,8 +39,6 @@ public class Chunk { /** A list of deleted intervals. */ private List<TimeRange> deleteIntervalList; - private long ramSize; - public Chunk( ChunkHeader header, ByteBuffer buffer, diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadBatchData.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadBatchData.java index ebfc20434a6..16e359f16a5 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadBatchData.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadBatchData.java @@ -29,12 +29,12 @@ import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; public class DescReadBatchData extends BatchData { public DescReadBatchData() { - batchDataType = BatchDataType.DescRead; + batchDataType = BatchDataType.DESC_READ; } public DescReadBatchData(TSDataType dataType) { super(dataType); - batchDataType = BatchDataType.DescRead; + batchDataType = BatchDataType.DESC_READ; } @Override diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadWriteBatchData.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadWriteBatchData.java index fe8f481d2ba..6d9e15c1218 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadWriteBatchData.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/DescReadWriteBatchData.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; @@ -37,7 +38,7 @@ public class DescReadWriteBatchData extends DescReadBatchData { public DescReadWriteBatchData(TSDataType dataType) { super(); - this.batchDataType = BatchDataType.DescReadWrite; + this.batchDataType = BatchDataType.DESC_READ_WRITE; this.dataType = dataType; this.readCurListIndex = 0; this.readCurArrayIndex = 0; @@ -484,11 +485,15 @@ public class DescReadWriteBatchData extends DescReadBatchData { case INT32: outputStream.writeInt(value.getInt()); break; + default: + throw new UnSupportedDataTypeException(String.valueOf(dataType)); } } } } break; + default: + throw new UnSupportedDataTypeException(String.valueOf(dataType)); } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ExceptionBatchData.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ExceptionBatchData.java deleted file mode 100644 index b26284b7836..00000000000 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ExceptionBatchData.java +++ /dev/null @@ -1,37 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.iotdb.tsfile.read.common; - -public class ExceptionBatchData extends BatchData { - - private Throwable throwable; - - public ExceptionBatchData(Throwable throwable) { - this.throwable = throwable; - } - - @Override - public boolean hasCurrent() { - throw new UnsupportedOperationException("hasCurrent is not supported for ExceptionBatchData"); - } - - public Throwable getThrowable() { - return throwable; - } -} diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java index b15a4aa3105..82c580d97be 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Field.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.exception.NullFieldException; @@ -30,7 +31,7 @@ import org.apache.iotdb.tsfile.utils.TsPrimitiveType; */ public class Field { - private TSDataType dataType; + private final TSDataType dataType; private boolean boolV; private int intV; private long longV; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java index 043a950099e..bff37836eea 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/Path.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.common.constant.TsFileConstant; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/RowRecord.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/RowRecord.java index 51d04e22706..5fb65793fcd 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/RowRecord.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/RowRecord.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/SignalBatchData.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/SignalBatchData.java index 31aaa4fecb7..fea8f782d5b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/SignalBatchData.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/SignalBatchData.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; /** It is an empty signal to notify the caller that there is no more batch data after it. */ diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/TimeRange.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/TimeRange.java index bd7ff50fb32..77ddb5ad60e 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/TimeRange.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/TimeRange.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common; import org.apache.iotdb.tsfile.read.expression.IExpression; @@ -234,11 +235,9 @@ public class TimeRange implements Comparable<TimeRange> { } else if (!this.rightClose && !rhs.leftClose && rhs.min + 1 >= this.max) { // e.g., this:[1,5) does not overlap with rhs:(4,6] return false; - } else if (this.rightClose && rhs.leftClose && rhs.min > this.max) { - // e.g., this:[1,5] does not overlap with rhs:[6,8] - return false; } else { - return true; + // e.g., this:[1,5] does not overlap with rhs:[6,8] + return !this.rightClose || !rhs.leftClose || rhs.min <= this.max; } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java index 9f37f4b780d..a22793fa486 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlock.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block; import org.apache.iotdb.tsfile.read.TimeValuePair; @@ -29,6 +30,7 @@ import org.openjdk.jol.info.ClassLayout; import java.util.Arrays; import java.util.Iterator; +import java.util.NoSuchElementException; import static java.lang.String.format; import static java.util.Objects.requireNonNull; @@ -108,7 +110,6 @@ public class TsBlock { } public long getRetainedSizeInBytes() { - long retainedSizeInBytes = this.retainedSizeInBytes; if (retainedSizeInBytes < 0) { return updateRetainedSize(); } @@ -312,7 +313,9 @@ public class TsBlock { } @Override - public void close() {} + public void close() { + // do nothing + } public long getEndTime() { return TsBlock.this.getEndTime(); @@ -350,13 +353,17 @@ public class TsBlock { /** @return A row in the TsBlock. The timestamp is at the last column. */ @Override public Object[] next() { - int columnCount = getValueColumnCount(); - Object[] row = new Object[columnCount + 1]; - for (int i = 0; i < columnCount; ++i) { + if (!hasNext()) { + throw new NoSuchElementException(); + } + + int curColumnCount = getValueColumnCount(); + Object[] row = new Object[curColumnCount + 1]; + for (int i = 0; i < curColumnCount; ++i) { final Column column = valueColumns[i]; row[i] = column.isNull(rowIndex) ? null : column.getObject(rowIndex); } - row[columnCount] = timeColumn.getObject(rowIndex); + row[curColumnCount] = timeColumn.getObject(rowIndex); rowIndex++; @@ -441,7 +448,9 @@ public class TsBlock { } @Override - public void close() {} + public void close() { + // do nothing + } public long getEndTime() { return TsBlock.this.getEndTime(); @@ -470,13 +479,13 @@ public class TsBlock { } private long updateRetainedSize() { - long retainedSizeInBytes = INSTANCE_SIZE; - retainedSizeInBytes += timeColumn.getRetainedSizeInBytes(); + long newRetainedSizeInBytes = INSTANCE_SIZE; + newRetainedSizeInBytes += timeColumn.getRetainedSizeInBytes(); for (Column column : valueColumns) { - retainedSizeInBytes += column.getRetainedSizeInBytes(); + newRetainedSizeInBytes += column.getRetainedSizeInBytes(); } - this.retainedSizeInBytes = retainedSizeInBytes; - return retainedSizeInBytes; + this.retainedSizeInBytes = newRetainedSizeInBytes; + return newRetainedSizeInBytes; } public int getTotalInstanceSize() { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java index c309835a09f..29370d2735f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block; import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java index 15d585800c1..47fae34ea3d 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockBuilderStatus.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block; import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockMetadata.java deleted file mode 100644 index 0f16f1e5c4c..00000000000 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockMetadata.java +++ /dev/null @@ -1,41 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.iotdb.tsfile.read.common.block; - -import java.util.List; - -public class TsBlockMetadata { - // list of all columns in current TsBlock - // The column list not only contains the series column, but also contains other column to - // construct the final result - // set such as timestamp and deviceName - private List<String> columnList; - - // Indicate whether the result set should be aligned by device. This parameter can be used for - // downstream operators - // when processing data from current TsBlock. The RowRecord produced by TsBlock with - // `alignedByDevice = true` will contain - // n + 2 fields which are n series field, 1 deviceName field and 1 timestamp. - // For example, when the FilterOperator execute the filter operation, it may need the deviceName - // field when matching - // the series with corresponding column in Tablet - // - // If alignedByDevice is true, the owned series should belong to one device - private boolean alignedByDevice; -} diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockUtil.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockUtil.java index 34f1cd42dc6..8e10bcea023 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockUtil.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockUtil.java @@ -41,7 +41,9 @@ public class TsBlockUtil { TsBlock tsBlock, TimeRange targetTimeRange, boolean ascending) { TimeColumn timeColumn = tsBlock.getTimeColumn(); long targetTime = ascending ? targetTimeRange.getMin() : targetTimeRange.getMax(); - int left = 0, right = timeColumn.getPositionCount() - 1, mid; + int left = 0; + int right = timeColumn.getPositionCount() - 1; + int mid; while (left < right) { mid = (left + right) >> 1; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java index 0aa80cff18e..0c82f97cf30 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java index ad1e05ac61b..48706a317d9 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BinaryColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java index 39995db4e14..6d64b841cc2 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java index ba408840230..37958d67884 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/BooleanColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java index 203ea58b25d..5cc8385daea 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/Column.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java index cf88949d74f..14b946dbb83 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java index 86dca2ee503..afe8fa8e05c 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnBuilderStatus.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilderStatus; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnEncoderFactory.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnEncoderFactory.java index 2ac585643a5..f6055a8b5ee 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnEncoderFactory.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnEncoderFactory.java @@ -24,6 +24,10 @@ import java.util.Map; public class ColumnEncoderFactory { + private ColumnEncoderFactory() { + // util class + } + private static final Map<ColumnEncoding, ColumnEncoder> encodingToEncoder = new HashMap<>(); static { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnUtil.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnUtil.java index 150f713d18c..ddf5db413fe 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnUtil.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/ColumnUtil.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import static java.lang.Math.ceil; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java index c7966f1653b..7324123b12c 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java index 78f9faa068a..52de139ed02 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/DoubleColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java index cd96c17812a..69694acfaae 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java index c5f97b77fc6..27823f72950 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/FloatColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java index b0ac59aef55..8eee589c906 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java index 00e6863cea3..78030eb1072 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/IntColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java index cf7e64da5d6..47dd972a28d 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java index 5f0037f6881..76f3cc554c4 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/LongColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java index b50bc77a2f9..ffd70136d73 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/NullColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; @@ -96,7 +97,9 @@ public class NullColumn implements Column { } @Override - public void reverse() {} + public void reverse() { + // do nothing + } public static Column create(TSDataType dataType, int positionCount) { requireNonNull(dataType, "dataType is null"); diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java index 54174d47763..449471a703f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/RunLengthEncodedColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java index ee6e6d3699a..89261c6a32b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumn.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java index 59157916be6..c5bca16b88f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/column/TimeColumnBuilder.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.block.column; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathNodesGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathNodesGenerator.java index 30033ef65d3..5aa49cffbd2 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathNodesGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathNodesGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.parser; import org.apache.iotdb.db.qp.sql.PathParser; @@ -31,7 +32,12 @@ import org.antlr.v4.runtime.tree.ParseTree; /** convert String path to String[] nodes * */ public class PathNodesGenerator { - private static PathVisitor pathVisitor = new PathVisitor(); + + private PathNodesGenerator() { + // forbidding instantiation + } + + private static final PathVisitor pathVisitor = new PathVisitor(); public static String[] splitPathToNodes(String path) throws PathParseException { try { @@ -69,8 +75,8 @@ public class PathNodesGenerator { try { // STAGE 1: try with simpler/faster SLL(*) tree = pathParser1.path(); - // if we get here, there was no syntax error and SLL(*) was enough; - // there is no need to try full LL(*) + // if we get here, there was no syntax error and SLL(*) was enough; there is no need to try + // full LL(*) } catch (Exception ex) { CharStream charStream2 = CharStreams.fromString(path); diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathParseError.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathParseError.java index e106c408e37..f99912ddeeb 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathParseError.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathParseError.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.parser; import org.antlr.v4.runtime.BaseErrorListener; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java index 9347e2a0e74..e5a1514a41b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/parser/PathVisitor.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.common.parser; import org.apache.iotdb.db.qp.sql.PathParser; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/type/TypeFactory.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/type/TypeFactory.java index d292465f55b..ed52a9fef95 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/type/TypeFactory.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/type/TypeFactory.java @@ -22,6 +22,11 @@ package org.apache.iotdb.tsfile.read.common.type; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; public class TypeFactory { + + private TypeFactory() { + // forbidding instantiation + } + public static Type getType(TSDataType tsDataType) { switch (tsDataType) { case INT32: diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/CachedChunkLoaderImpl.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/CachedChunkLoaderImpl.java index c0f76b52d62..77733ca2af9 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/CachedChunkLoaderImpl.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/CachedChunkLoaderImpl.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.controller; import org.apache.iotdb.tsfile.common.cache.LRUCache; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkLoader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkLoader.java index 27554c2563d..96e59abb2a5 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkLoader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkLoader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.controller; import org.apache.iotdb.tsfile.file.metadata.ChunkMetadata; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkMetadataLoader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkMetadataLoader.java index fffe261bea7..a158ae7cd87 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkMetadataLoader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IChunkMetadataLoader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.controller; import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IMetadataQuerier.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IMetadataQuerier.java index 77eb09dfd5e..d3f1c9cf675 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IMetadataQuerier.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/IMetadataQuerier.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.controller; import org.apache.iotdb.tsfile.exception.write.NoMeasurementException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java index c5fea77b217..d0feaececfd 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/controller/MetadataQuerierByFileImpl.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.controller; import org.apache.iotdb.tsfile.common.cache.LRUCache; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/ExpressionType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/ExpressionType.java index a71cd2c61be..ad4ef2cdab3 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/ExpressionType.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/ExpressionType.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression; public enum ExpressionType { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IBinaryExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IBinaryExpression.java index 3a8e77d26cb..a1198a6bf2a 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IBinaryExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IBinaryExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression; public interface IBinaryExpression extends IExpression { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IExpression.java index 7633af840a7..6cfd38144db 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression; import java.io.Serializable; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IUnaryExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IUnaryExpression.java index 99de4ff0fee..e206e798f2b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IUnaryExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/IUnaryExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression; import org.apache.iotdb.tsfile.read.filter.basic.Filter; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java index f2de9957031..8f647923ce0 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/QueryExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/BinaryExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/BinaryExpression.java index 5bd88aab3f4..27da325f68f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/BinaryExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/BinaryExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression.impl; import org.apache.iotdb.tsfile.read.expression.ExpressionType; @@ -44,8 +45,8 @@ public abstract class BinaryExpression implements IBinaryExpression, Serializabl protected static class AndExpression extends BinaryExpression { - public IExpression left; - public IExpression right; + public final IExpression left; + public final IExpression right; public AndExpression(IExpression left, IExpression right) { this.left = left; @@ -116,8 +117,8 @@ public abstract class BinaryExpression implements IBinaryExpression, Serializabl protected static class OrExpression extends BinaryExpression { - public IExpression left; - public IExpression right; + public final IExpression left; + public final IExpression right; public OrExpression(IExpression left, IExpression right) { this.left = left; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/GlobalTimeExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/GlobalTimeExpression.java index 353135ed7f5..7ef8a26b4a2 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/GlobalTimeExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/GlobalTimeExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression.impl; import org.apache.iotdb.tsfile.read.expression.ExpressionType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/SingleSeriesExpression.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/SingleSeriesExpression.java index c4d850bdb41..81f79ca7e3a 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/SingleSeriesExpression.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/impl/SingleSeriesExpression.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression.impl; import org.apache.iotdb.tsfile.read.common.Path; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionOptimizer.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionOptimizer.java index b05628659f2..accd871cc45 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionOptimizer.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionOptimizer.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.expression.util; import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException; @@ -179,7 +180,7 @@ public class ExpressionOptimizer { private IExpression pushGlobalTimeFilterToAllSeries( GlobalTimeExpression timeFilter, List<Path> selectedSeries) throws QueryFilterOptimizationException { - if (selectedSeries.size() == 0) { + if (selectedSeries.isEmpty()) { throw new QueryFilterOptimizationException("size of selectSeries could not be 0"); } IExpression expression = diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionPrinter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionPrinter.java deleted file mode 100644 index 07c966c49a9..00000000000 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionPrinter.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you under the Apache License, Version 2.0 (the - * "License"); you may not use this file except in compliance - * with the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, - * software distributed under the License is distributed on an - * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY - * KIND, either express or implied. See the License for the - * specific language governing permissions and limitations - * under the License. - */ -package org.apache.iotdb.tsfile.read.expression.util; - -import org.apache.iotdb.tsfile.read.expression.IBinaryExpression; -import org.apache.iotdb.tsfile.read.expression.IExpression; -import org.apache.iotdb.tsfile.read.expression.IUnaryExpression; - -public class ExpressionPrinter { - - private static final int MAX_DEPTH = 100; - private static final char PREFIX_CHAR = '\t'; - private static final String[] PREFIX = new String[MAX_DEPTH]; - - static { - StringBuilder stringBuilder = new StringBuilder(); - for (int i = 0; i < MAX_DEPTH; i++) { - PREFIX[i] = stringBuilder.toString(); - stringBuilder.append(PREFIX_CHAR); - } - } - - public static void print(IExpression expression) { - print(expression, 0); - } - - private static void print(IExpression expression, int level) { - if (expression instanceof IUnaryExpression) { - System.out.println(getPrefix(level) + expression); - } else { - System.out.println(getPrefix(level) + expression.getType() + ":"); - print(((IBinaryExpression) expression).getLeft(), level + 1); - print(((IBinaryExpression) expression).getRight(), level + 1); - } - } - - private static String getPrefix(int count) { - if (count < MAX_DEPTH) { - return PREFIX[count]; - } else { - return PREFIX[MAX_DEPTH - 1]; - } - } -} diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java index 9ef5750de6b..6ee54c11875 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByMonthFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByMonthFilter.java index b36ba41cdf8..2f500b6656d 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByMonthFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/GroupByMonthFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter; import org.apache.iotdb.tsfile.read.filter.basic.Filter; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/PredicateRemoveNotRewriter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/PredicateRemoveNotRewriter.java index 4a66d032f9f..b100d93f5dc 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/PredicateRemoveNotRewriter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/PredicateRemoveNotRewriter.java @@ -28,6 +28,10 @@ import org.apache.iotdb.tsfile.read.filter.operator.OrFilter; public class PredicateRemoveNotRewriter { + private PredicateRemoveNotRewriter() { + // forbidden to construct + } + public static Filter rewrite(Filter filter) { return removeNot(filter); } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/TimeFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/TimeFilter.java index 0cbd94dc0a6..04970f079bb 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/TimeFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/TimeFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter; import org.apache.iotdb.tsfile.read.common.TimeRange; @@ -179,7 +180,8 @@ public class TimeFilter { @Override public List<TimeRange> getTimeRanges() { - long left = value1, right = value2; + long left = value1; + long right = value2; if (not) { List<TimeRange> res = new ArrayList<>(); if (left != Long.MIN_VALUE) { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/ValueFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/ValueFilter.java index 79a4bdfd093..23d091f547c 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/ValueFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/ValueFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter; import org.apache.iotdb.tsfile.read.filter.factory.FilterType; @@ -29,7 +30,6 @@ import org.apache.iotdb.tsfile.read.filter.operator.Lt; import org.apache.iotdb.tsfile.read.filter.operator.LtEq; import org.apache.iotdb.tsfile.read.filter.operator.NotEq; import org.apache.iotdb.tsfile.read.filter.operator.Regexp; -import org.apache.iotdb.tsfile.utils.TsPrimitiveType; import java.util.Set; @@ -100,21 +100,6 @@ public class ValueFilter { } } - public static class VectorValueGt<T extends Comparable<T>> extends ValueGt<T> { - - private final int index; - - private VectorValueGt(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.value.compareTo((T) v) < 0; - } - } - public static class ValueGtEq<T extends Comparable<T>> extends GtEq<T> { private ValueGtEq(T value) { @@ -122,21 +107,6 @@ public class ValueFilter { } } - public static class VectorValueGtEq<T extends Comparable<T>> extends ValueGtEq<T> { - - private final int index; - - private VectorValueGtEq(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.value.compareTo((T) v) <= 0; - } - } - public static class ValueLt<T extends Comparable<T>> extends Lt<T> { private ValueLt(T value) { @@ -144,21 +114,6 @@ public class ValueFilter { } } - public static class VectorValueLt<T extends Comparable<T>> extends ValueLt<T> { - - private final int index; - - private VectorValueLt(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.value.compareTo((T) v) > 0; - } - } - public static class ValueLtEq<T extends Comparable<T>> extends LtEq<T> { private ValueLtEq(T value) { @@ -166,21 +121,6 @@ public class ValueFilter { } } - public static class VectorValueLtEq<T extends Comparable<T>> extends ValueLtEq<T> { - - private final int index; - - private VectorValueLtEq(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.value.compareTo((T) v) >= 0; - } - } - public static class ValueEq<T extends Comparable<T>> extends Eq<T> { private ValueEq(T value) { @@ -188,21 +128,6 @@ public class ValueFilter { } } - public static class VectorValueEq<T extends Comparable<T>> extends ValueEq<T> { - - private final int index; - - private VectorValueEq(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.value.equals(v); - } - } - public static class ValueNotEq<T extends Comparable<T>> extends NotEq<T> { private ValueNotEq(T value) { @@ -210,21 +135,6 @@ public class ValueFilter { } } - public static class VectorValueNotEq<T extends Comparable<T>> extends ValueNotEq<T> { - - private final int index; - - private VectorValueNotEq(T value, int index) { - super(value); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return !this.value.equals(v); - } - } - public static class ValueBetween<T extends Comparable<T>> extends Between<T> { private ValueBetween(T value1, T value2, boolean not) { @@ -232,24 +142,6 @@ public class ValueFilter { } } - public static class VectorValueBetween<T extends Comparable<T>> extends ValueBetween<T> { - - private final int index; - - private VectorValueBetween(T value1, T value2, boolean not, int index) { - super(value1, value2, not); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - if (filterType != FilterType.VALUE_FILTER) { - return false; - } - Object v = values[index].getValue(); - return (value1.compareTo((T) v) <= 0 && ((T) v).compareTo(value2) <= 0) ^ not; - } - } - public static class ValueLike<T extends Comparable<T>> extends Like<T> { private ValueLike(String value, boolean not) { @@ -257,67 +149,16 @@ public class ValueFilter { } } - public static class VectorValueLike<T extends Comparable<T>> extends ValueLike<T> { - - private final int index; - - private VectorValueLike(String value, int index, boolean not) { - super(value, not); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - if (filterType != FilterType.VALUE_FILTER) { - return false; - } - Object value = values[index].getValue(); - return pattern.matcher(value.toString()).find() != not; - } - } - public static class ValueRegexp<T extends Comparable<T>> extends Regexp<T> { private ValueRegexp(String value, boolean not) { super(value, FilterType.VALUE_FILTER, not); } } - public static class VectorValueRegexp<T extends Comparable<T>> extends ValueRegexp<T> { - - private final int index; - - private VectorValueRegexp(String value, int index, boolean not) { - super(value, not); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - if (filterType != FilterType.VALUE_FILTER) { - return false; - } - Object value = values[index].getValue(); - return pattern.matcher(new MatcherInput(value.toString(), new AccessCount())).find() != not; - } - } - public static class ValueIn<T extends Comparable<T>> extends In<T> { private ValueIn(Set<T> values, boolean not) { super(values, FilterType.VALUE_FILTER, not); } } - - public static class VectorValueIn<T extends Comparable<T>> extends ValueIn<T> { - - private final int index; - - private VectorValueIn(Set<T> values, boolean not, int index) { - super(values, not); - this.index = index; - } - - public boolean satisfy(long time, TsPrimitiveType[] values) { - Object v = filterType == FilterType.TIME_FILTER ? time : values[index].getValue(); - return this.values.contains(v) != not; - } - } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/BinaryFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/BinaryFilter.java index 0d91b58b081..ba4eeca8a34 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/BinaryFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/BinaryFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.basic; import org.apache.iotdb.tsfile.read.filter.factory.FilterFactory; @@ -34,7 +35,9 @@ public abstract class BinaryFilter implements Filter, Serializable { protected Filter left; protected Filter right; - public BinaryFilter() {} + protected BinaryFilter() { + // do nothing + } protected BinaryFilter(Filter left, Filter right) { this.left = left; @@ -57,9 +60,6 @@ public abstract class BinaryFilter implements Filter, Serializable { return right; } - @Override - public abstract Filter copy(); - @Override public void serialize(DataOutputStream outputStream) { try { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/Filter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/Filter.java index 691cf1030d1..85fa3a09244 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/Filter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/Filter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.basic; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/UnaryFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/UnaryFilter.java index e05ade1588c..14e47bd1941 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/UnaryFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/basic/UnaryFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.basic; import org.apache.iotdb.tsfile.read.filter.factory.FilterType; @@ -39,7 +40,7 @@ public abstract class UnaryFilter<T extends Comparable<T>> implements Filter, Se protected FilterType filterType; - public UnaryFilter() {} + protected UnaryFilter() {} protected UnaryFilter(T value, FilterType filterType) { this.value = value; @@ -61,9 +62,6 @@ public abstract class UnaryFilter<T extends Comparable<T>> implements Filter, Se @Override public abstract String toString(); - @Override - public abstract Filter copy(); - @Override public void serialize(DataOutputStream outputStream) { try { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterFactory.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterFactory.java index 6d647b96c55..4fe31cc0331 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterFactory.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterFactory.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.factory; import org.apache.iotdb.tsfile.read.filter.GroupByFilter; @@ -39,6 +40,10 @@ import java.nio.ByteBuffer; public class FilterFactory { + private FilterFactory() { + // forbidden construction + } + public static AndFilter and(Filter left, Filter right) { return new AndFilter(left, right); } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterType.java index 1751e042206..2b7ad8f9c37 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterType.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/factory/FilterType.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.factory; public enum FilterType { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/AndFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/AndFilter.java index 1488c701352..ca251dc4d83 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/AndFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/AndFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; @@ -87,10 +88,10 @@ public class AndFilter extends BinaryFilter { List<TimeRange> leftTimeRanges = left.getTimeRanges(); List<TimeRange> rightTimeRanges = right.getTimeRanges(); - int leftIndex = 0, - rightIndex = 0, - leftSize = leftTimeRanges.size(), - rightSize = rightTimeRanges.size(); + int leftIndex = 0; + int rightIndex = 0; + int leftSize = leftTimeRanges.size(); + int rightSize = rightTimeRanges.size(); while (leftIndex < leftSize && rightIndex < rightSize) { TimeRange leftRange = leftTimeRanges.get(leftIndex); TimeRange rightRange = rightTimeRanges.get(rightIndex); diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Eq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Eq.java index 922a102c9c7..f8f1798e49c 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Eq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Eq.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java index ffb6c75eabb..41a4941e555 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Gt.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java index f6b3a2cd86c..3feb09f21f2 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/GtEq.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/In.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/In.java index 60d6eed75fc..3699b2da110 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/In.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/In.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Like.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Like.java index d509c00862d..2ff6f56af4c 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Like.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Like.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; @@ -85,7 +86,7 @@ public class Like<T extends Comparable<T>> implements Filter, Serializable { patternStrBuild.append("$"); this.pattern = Pattern.compile(patternStrBuild.toString()); } catch (PatternSyntaxException e) { - throw new PatternSyntaxException("Regular expression error", value.toString(), e.getIndex()); + throw new PatternSyntaxException("Regular expression error", value, e.getIndex()); } } @@ -175,23 +176,24 @@ public class Like<T extends Comparable<T>> implements Filter, Serializable { * we need to use '\' to judege whether to replace this to regexp string */ private String unescapeString(String value) { - String out = ""; - for (int i = 0; i < value.length(); i++) { - String ch = String.valueOf(value.charAt(i)); + StringBuilder out = new StringBuilder(); + int curIndex = 0; + for (; curIndex < value.length(); curIndex++) { + String ch = String.valueOf(value.charAt(curIndex)); if ("\\".equals(ch)) { - if (i < value.length() - 1) { - String nextChar = String.valueOf(value.charAt(i + 1)); + if (curIndex < value.length() - 1) { + String nextChar = String.valueOf(value.charAt(curIndex + 1)); if ("%".equals(nextChar) || "_".equals(nextChar) || "\\".equals(nextChar)) { - out = out + ch; + out.append(ch); } if ("\\".equals(nextChar)) { - i++; + curIndex++; } } } else { - out = out + ch; + out.append(ch); } } - return out; + return out.toString(); } } diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java index c0151d3f636..827db78a47d 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Lt.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java index 4b35f154a17..62d0a94a277 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/LtEq.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java index 45148c5c034..bee588d0a24 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotEq.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java index ef21c14a0c3..538d26a47e4 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/NotFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/OrFilter.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/OrFilter.java index 0a16909e2c5..b5f781f3a04 100755 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/OrFilter.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/OrFilter.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; @@ -89,10 +90,10 @@ public class OrFilter extends BinaryFilter implements Serializable { List<TimeRange> leftTimeRanges = left.getTimeRanges(); List<TimeRange> rightTimeRanges = right.getTimeRanges(); - int leftIndex = 0, - rightIndex = 0, - leftSize = leftTimeRanges.size(), - rightSize = rightTimeRanges.size(); + int leftIndex = 0; + int rightIndex = 0; + int leftSize = leftTimeRanges.size(); + int rightSize = rightTimeRanges.size(); TimeRange range; if (leftTimeRanges.isEmpty() && rightTimeRanges.isEmpty()) { return Collections.emptyList(); diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Regexp.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Regexp.java index 3a154e73208..f3d516f4041 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Regexp.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/filter/operator/Regexp.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.filter.operator; import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithTimeGenerator.java index 1773c6648dc..d9addd6af2f 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithTimeGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithTimeGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.dataset; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; @@ -72,7 +73,7 @@ public class DataSetWithTimeGenerator extends QueryDataSet { for (int i = 0; i < paths.size(); i++) { // get value from readers in time generator - if (cached.get(i)) { + if (Boolean.TRUE.equals(cached.get(i))) { Object value = timeGenerator.getValue(paths.get(i)); if (dataTypes.get(i) == TSDataType.VECTOR) { TsPrimitiveType v = ((TsPrimitiveType[]) value)[0]; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java index bcb6bc56824..6132d5996d7 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/DataSetWithoutTimeGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.dataset; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; @@ -36,7 +37,7 @@ import java.util.Set; /** multi-way merging data set, no need to use TimeGenerator. */ public class DataSetWithoutTimeGenerator extends QueryDataSet { - private List<AbstractFileSeriesReader> readers; + private final List<AbstractFileSeriesReader> readers; private List<BatchData> batchDataList; @@ -89,7 +90,7 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet { @Override public boolean hasNextWithoutConstraint() { - return timeHeap.size() > 0; + return !timeHeap.isEmpty(); } @SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning @@ -97,11 +98,11 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet { public RowRecord nextWithoutConstraint() throws IOException { long minTime = timeHeapGet(); - RowRecord record = new RowRecord(minTime); + RowRecord rowRecord = new RowRecord(minTime); for (int i = 0; i < paths.size(); i++) { - if (!hasDataRemaining.get(i)) { - record.addField(null); + if (Boolean.FALSE.equals(hasDataRemaining.get(i))) { + rowRecord.addField(null); continue; } @@ -127,12 +128,12 @@ public class DataSetWithoutTimeGenerator extends QueryDataSet { } else { timeHeapPut(data.currentTime()); } - record.addField(field); + rowRecord.addField(field); } else { - record.addField(null); + rowRecord.addField(null); } } - return record; + return rowRecord; } /** keep heap from storing duplicate time. */ diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java index 40e6ee3d8f3..e1d83652512 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/dataset/QueryDataSet.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.dataset; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; @@ -89,13 +90,13 @@ public abstract class QueryDataSet { } } - public QueryDataSet() {} + protected QueryDataSet() {} - public QueryDataSet(List<Path> paths, List<TSDataType> dataTypes) { + protected QueryDataSet(List<Path> paths, List<TSDataType> dataTypes) { initQueryDataSetFields(paths, dataTypes, true); } - public QueryDataSet(List<Path> paths, List<TSDataType> dataTypes, boolean ascending) { + protected QueryDataSet(List<Path> paths, List<TSDataType> dataTypes, boolean ascending) { initQueryDataSetFields(paths, dataTypes, ascending); } @@ -150,12 +151,11 @@ public abstract class QueryDataSet { * @return true satisfy false don't satisfy */ public boolean withoutNullFilter(RowRecord rowRecord) { - boolean - anyNullFlag = - (withoutNullColumnsIndex == null) - ? rowRecord.hasNullField() - : (withoutNullColumnsIndex.isEmpty() && rowRecord.hasNullField()), - allNullFlag = (withoutNullColumnsIndex != null) || rowRecord.isAllNull(); + boolean anyNullFlag = + (withoutNullColumnsIndex == null) + ? rowRecord.hasNullField() + : (withoutNullColumnsIndex.isEmpty() && rowRecord.hasNullField()); + boolean allNullFlag = (withoutNullColumnsIndex != null) || rowRecord.isAllNull(); if (withoutNullColumnsIndex != null) { for (int index : withoutNullColumnsIndex) { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java index bfb8ea54374..d0c5b62b887 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/ExecutorWithTimeGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.executor; import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; @@ -77,7 +78,7 @@ public class ExecutorWithTimeGenerator implements QueryExecutor { Path selectedPath = selectedPathIterator.next(); List<IChunkMetadata> chunkMetadataList = metadataQuerier.getChunkMetaDataList(selectedPath); - if (chunkMetadataList.size() != 0) { + if (!chunkMetadataList.isEmpty()) { dataTypes.add(chunkMetadataList.get(0).getDataType()); if (cachedValue) { readersOfSelectedSeries.add(null); @@ -100,7 +101,7 @@ public class ExecutorWithTimeGenerator implements QueryExecutor { IExpression expression, List<Path> selectedPaths, boolean hasOrNode) { List<Boolean> cached = new ArrayList<>(); if (hasOrNode) { - for (Path ignored : selectedPaths) { + for (int i = 0; i < selectedPaths.size(); i++) { cached.add(false); } return cached; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/QueryExecutor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/QueryExecutor.java index ea85712ad69..24e07c2cfea 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/QueryExecutor.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/QueryExecutor.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.executor; import org.apache.iotdb.tsfile.read.expression.QueryExpression; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java index a530cb3dc01..08160ef6969 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/executor/TsFileExecutor.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.executor; import org.apache.iotdb.tsfile.exception.filter.QueryFilterOptimizationException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TimeGenerator.java index 344e56415ad..8e50c363e38 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TimeGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TimeGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator; import org.apache.iotdb.tsfile.exception.write.UnSupportedDataTypeException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java index 25241ccdf6b..40229282afd 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/TsFileTimeGenerator.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator; import org.apache.iotdb.tsfile.file.metadata.IChunkMetadata; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/AndNode.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/AndNode.java index eff83b014d9..ca1a26dc86e 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/AndNode.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/AndNode.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator.node; import java.io.IOException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/LeafNode.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/LeafNode.java index a0b9d699516..46de8daf7a6 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/LeafNode.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/LeafNode.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator.node; import org.apache.iotdb.tsfile.read.common.BatchData; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/Node.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/Node.java index bacc7eddf58..ab27ccb82c0 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/Node.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/Node.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator.node; import java.io.IOException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/NodeType.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/NodeType.java index 9f6ff864ecc..d5f9a9056ec 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/NodeType.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/NodeType.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator.node; /** Type of the node. */ diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/OrNode.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/OrNode.java index a133cbbb183..490768edec2 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/OrNode.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/query/timegenerator/node/OrNode.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.query.timegenerator.node; import java.io.IOException; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IAlignedPageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IAlignedPageReader.java index 662c5c73462..5b590e3b2a6 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IAlignedPageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IAlignedPageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.file.metadata.statistics.Statistics; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IBatchReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IBatchReader.java index 0be65aa4abe..0af0d472452 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IBatchReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IBatchReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.read.common.BatchData; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IChunkReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IChunkReader.java index 9103f7b2705..7c0b144018d 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IChunkReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IChunkReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.read.common.BatchData; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPageReader.java index 27827f5c32b..f88034157a1 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java index 3fdeeda4cff..d29d70d063b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/IPointReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.read.TimeValuePair; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/LocalTsFileInput.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/LocalTsFileInput.java index afb1520d011..168fdd59fb4 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/LocalTsFileInput.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/LocalTsFileInput.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.slf4j.Logger; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/TsFileInput.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/TsFileInput.java index b2e9fc0c47a..14e3848e66d 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/TsFileInput.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/TsFileInput.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader; import org.apache.iotdb.tsfile.utils.ReadWriteForEncodingUtils; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/AlignedChunkReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/AlignedChunkReader.java index f4ada76d4a1..86bd53f5616 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/AlignedChunkReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/chunk/AlignedChunkReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.chunk; import org.apache.iotdb.tsfile.common.conf.TSFileDescriptor; @@ -70,19 +71,18 @@ public class AlignedChunkReader implements IChunkReader { * Constructor of ChunkReader without deserializing chunk into page. This is used for fast * compaction. */ - public AlignedChunkReader(Chunk timeChunk, List<Chunk> valueChunkList) throws IOException { + public AlignedChunkReader(Chunk timeChunk, List<Chunk> valueChunkList) { this.filter = null; this.timeChunkDataBuffer = timeChunk.getData(); this.valueDeleteIntervalList = new ArrayList<>(); this.timeChunkHeader = timeChunk.getHeader(); this.timeUnCompressor = IUnCompressor.getUnCompressor(timeChunkHeader.getCompressionType()); this.currentTimestamp = Long.MIN_VALUE; - List<Statistics> valueChunkStatisticsList = new ArrayList<>(); + valueChunkList.forEach( chunk -> { valueChunkHeaderList.add(chunk == null ? null : chunk.getHeader()); valueChunkDataBufferList.add(chunk == null ? null : chunk.getData()); - valueChunkStatisticsList.add(chunk == null ? null : chunk.getChunkStatistic()); valueDeleteIntervalList.add(chunk == null ? null : chunk.getDeleteIntervalList()); }); } @@ -424,7 +424,9 @@ public class AlignedChunkReader implements IChunkReader { } @Override - public void close() throws IOException {} + public void close() throws IOException { + // do nothing + } @Override public List<IPageReader> loadPageReaderList() { 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 6840a477b39..1feaeffc8a4 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 @@ -271,7 +271,9 @@ public class ChunkReader implements IChunkReader { } @Override - public void close() {} + public void close() { + // do nothing + } public ChunkHeader getChunkHeader() { return chunkHeader; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/AlignedPageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/AlignedPageReader.java index 17e33cf8486..9448626a540 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/AlignedPageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/AlignedPageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.page; import org.apache.iotdb.tsfile.encoding.decoder.Decoder; @@ -56,6 +57,7 @@ public class AlignedPageReader implements IPageReader, IAlignedPageReader { private static final int MASK = 0x80; + @SuppressWarnings("squid:S107") public AlignedPageReader( PageHeader timePageHeader, ByteBuffer timePageData, diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java index 60b74a18703..166a939c6ee 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/PageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.page; import org.apache.iotdb.tsfile.encoding.decoder.Decoder; @@ -350,7 +351,9 @@ public class PageReader implements IPageReader { } @Override - public void initTsBlockBuilder(List<TSDataType> dataTypes) {} + public void initTsBlockBuilder(List<TSDataType> dataTypes) { + // do nothing + } protected boolean isDeleted(long timestamp) { while (deleteIntervalList != null && deleteCursor < deleteIntervalList.size()) { diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java index fc05e2b0ba2..daa7cfad4f9 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/TimePageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.page; import org.apache.iotdb.tsfile.encoding.decoder.Decoder; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/ValuePageReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/ValuePageReader.java index 9d388feef73..79e923c97f0 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/ValuePageReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/page/ValuePageReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.page; import org.apache.iotdb.tsfile.encoding.decoder.Decoder; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java index a3a720b766c..24ff3fdb390 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/AbstractFileSeriesReader.java @@ -40,7 +40,7 @@ public abstract class AbstractFileSeriesReader implements IBatchReader { protected Filter filter; /** constructor of FileSeriesReader. */ - public AbstractFileSeriesReader( + protected AbstractFileSeriesReader( IChunkLoader chunkLoader, List<IChunkMetadata> chunkMetadataList, Filter filter) { this.chunkLoader = chunkLoader; this.chunkMetadataList = chunkMetadataList; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java index 9318839760d..222cc59a5c9 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReader.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.series; import org.apache.iotdb.tsfile.file.metadata.AlignedChunkMetadata; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java index 68376a1fa0d..c9e1ee88a12 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/FileSeriesReaderByTimestamp.java @@ -16,6 +16,7 @@ * specific language governing permissions and limitations * under the License. */ + package org.apache.iotdb.tsfile.read.reader.series; import org.apache.iotdb.tsfile.file.metadata.AlignedChunkMetadata; diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/PaginationController.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/PaginationController.java index 96e7075f19a..108fa0d0a5b 100644 --- a/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/PaginationController.java +++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/read/reader/series/PaginationController.java @@ -74,7 +74,8 @@ public class PaginationController { public TsBlock applyTsBlock(TsBlock resultTsBlock) { - int fromIndex = 0, length = resultTsBlock.getPositionCount(); + int fromIndex = 0; + int length = resultTsBlock.getPositionCount(); if (hasCurOffset()) { fromIndex = (int) Math.min(curOffset, length); length -= fromIndex;
