You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hu...@apache.org on 2023/06/20 09:19:35 UTC

[iotdb] branch lmh/fixSonar updated (2f72b43d4a2 -> 8f113472b89)

This is an automated email from the ASF dual-hosted git repository.

hui pushed a change to branch lmh/fixSonar
in repository https://gitbox.apache.org/repos/asf/iotdb.git


    from 2f72b43d4a2 fix sonar
     new 0b74365951e fix sonar (parser)
     new fa03b7dc40b fix sonar (expression)
     new 7805091af13 fix sonar (common & execution)
     new a445733753b del TestRPCClient
     new 8f113472b89 fix sonar (tsfile/read)

The 5 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../org/apache/iotdb/db/mpp/common/QueryId.java    |  10 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   4 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |   4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |  22 ++-
 .../schematree/visitor/SchemaTreeVisitor.java      |   2 +-
 .../visitor/SchemaTreeVisitorFactory.java          |   5 +
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    | 173 ---------------------
 .../db/mpp/plan/execution/ExecutionResult.java     |   4 +-
 .../db/mpp/plan/execution/QueryExecution.java      |  14 +-
 .../mpp/plan/execution/config/ConfigExecution.java |  12 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   3 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   8 +-
 .../execution/config/metadata/GetRegionIdTask.java |   2 +-
 .../config/metadata/GetSeriesSlotListTask.java     |   2 +-
 .../config/metadata/ShowClusterDetailsTask.java    |   1 +
 .../execution/config/metadata/ShowClusterTask.java |   2 +-
 .../config/metadata/ShowConfigNodesTask.java       |   9 +-
 .../config/metadata/ShowFunctionsTask.java         |   2 +-
 .../config/metadata/model/ShowModelsTask.java      |   4 +-
 .../config/sys/quota/ShowSpaceQuotaTask.java       |   2 +-
 .../config/sys/quota/ShowThrottleQuotaTask.java    |   6 +-
 .../plan/execution/memory/MemorySourceHandle.java  |  12 +-
 .../iotdb/db/mpp/plan/expression/Expression.java   |   3 +-
 .../db/mpp/plan/expression/ExpressionFactory.java  |   4 +
 .../db/mpp/plan/expression/ExpressionType.java     |   8 +-
 .../plan/expression/binary/BinaryExpression.java   |   1 +
 .../plan/expression/multi/FunctionExpression.java  |   8 +-
 .../BuiltInScalarFunctionHelperFactory.java        |   5 +
 .../multi/builtin/helper/CastFunctionHelper.java   |  22 +--
 .../mpp/plan/expression/unary/LikeExpression.java  |  11 +-
 .../BindTypeForTimeSeriesOperandVisitor.java       |   3 +-
 .../visitor/ColumnTransformerVisitor.java          |   9 +-
 .../visitor/CompleteMeasurementSchemaVisitor.java  |  17 +-
 .../plan/expression/visitor/ExpressionVisitor.java |  66 ++++++++
 .../visitor/IntermediateLayerVisitor.java          |  24 ++-
 .../visitor/TransformToViewExpressionVisitor.java  |  95 +++--------
 .../cartesian/BindSchemaForExpressionVisitor.java  |  19 ++-
 .../db/mpp/plan/optimization/PlanOptimizer.java    |   1 +
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       |  62 +++-----
 .../db/mpp/plan/parser/StatementGenerator.java     |  62 ++++----
 .../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 +-
 153 files changed, 557 insertions(+), 821 deletions(-)
 delete mode 100644 server/src/main/java/org/apache/iotdb/db/mpp/plan/TestRPCClient.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/ExceptionBatchData.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/common/block/TsBlockMetadata.java
 delete mode 100644 tsfile/src/main/java/org/apache/iotdb/tsfile/read/expression/util/ExpressionPrinter.java


[iotdb] 05/05: fix sonar (tsfile/read)

Posted by hu...@apache.org.
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 <li...@foxmail.com>
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;


[iotdb] 03/05: fix sonar (common & execution)

Posted by hu...@apache.org.
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 7805091af13752bfd2d94a5606476a25dab43ad5
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Tue Jun 20 16:10:37 2023 +0800

    fix sonar (common & execution)
---
 .../org/apache/iotdb/db/mpp/common/QueryId.java    |  10 +-
 .../db/mpp/common/header/ColumnHeaderConstant.java |   4 +
 .../db/mpp/common/header/DatasetHeaderFactory.java |   4 +
 .../mpp/common/schematree/ClusterSchemaTree.java   |  22 ++--
 .../schematree/visitor/SchemaTreeVisitor.java      |   2 +-
 .../visitor/SchemaTreeVisitorFactory.java          |   5 +
 .../db/mpp/plan/execution/ExecutionResult.java     |   4 +-
 .../db/mpp/plan/execution/QueryExecution.java      |  14 ++-
 .../mpp/plan/execution/config/ConfigExecution.java |  12 +-
 .../plan/execution/config/ConfigTaskVisitor.java   |   3 +-
 .../config/executor/ClusterConfigTaskExecutor.java |   8 +-
 .../execution/config/metadata/GetRegionIdTask.java |   2 +-
 .../config/metadata/GetSeriesSlotListTask.java     |   2 +-
 .../config/metadata/ShowClusterDetailsTask.java    |   1 +
 .../execution/config/metadata/ShowClusterTask.java |   2 +-
 .../config/metadata/ShowConfigNodesTask.java       |   9 +-
 .../config/metadata/ShowFunctionsTask.java         |   2 +-
 .../config/metadata/model/ShowModelsTask.java      |   4 +-
 .../config/sys/quota/ShowSpaceQuotaTask.java       |   2 +-
 .../config/sys/quota/ShowThrottleQuotaTask.java    |   6 +-
 .../plan/execution/memory/MemorySourceHandle.java  |  12 +-
 .../plan/expression/binary/BinaryExpression.java   |   1 +
 .../mpp/plan/expression/unary/LikeExpression.java  |  11 +-
 .../plan/expression/visitor/ExpressionVisitor.java |  66 +++++++++++
 .../visitor/IntermediateLayerVisitor.java          |  21 ++--
 .../visitor/TransformToViewExpressionVisitor.java  | 124 +++++++--------------
 .../db/mpp/plan/optimization/PlanOptimizer.java    |   1 +
 27 files changed, 203 insertions(+), 151 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/QueryId.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/QueryId.java
index 2208e006721..897eb6ea1fe 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/QueryId.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/QueryId.java
@@ -33,13 +33,15 @@ import static java.util.Objects.requireNonNull;
 
 public class QueryId {
 
-  public static QueryId mockQueryId = QueryId.valueOf("mock_query_id");
+  public static final QueryId mockQueryId = QueryId.valueOf("mock_query_id");
 
   private final String id;
 
   private int nextPlanNodeIndex;
   private int nextPlanFragmentIndex;
 
+  private static final String INVALID_ID_ERROR_MSG = "Invalid id %s";
+
   public static QueryId valueOf(String queryId) {
     // ID is verified in the constructor
     return new QueryId(queryId);
@@ -94,8 +96,8 @@ public class QueryId {
     checkArgument(ids.size() == expectedParts, "Invalid %s %s", name, id);
 
     for (String part : ids) {
-      checkArgument(!part.isEmpty(), "Invalid id %s", id);
-      checkArgument(isValidId(part), "Invalid id %s", id);
+      checkArgument(!part.isEmpty(), INVALID_ID_ERROR_MSG, id);
+      checkArgument(isValidId(part), INVALID_ID_ERROR_MSG, id);
     }
     return ids;
   }
@@ -128,7 +130,7 @@ public class QueryId {
   public static String validateId(String id) {
     requireNonNull(id, "id is null");
     checkArgument(!id.isEmpty(), "id is empty");
-    checkArgument(isValidId(id), "Invalid id %s", id);
+    checkArgument(isValidId(id), INVALID_ID_ERROR_MSG, id);
     return id;
   }
 
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
index 304222a7407..09661be29cd 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/ColumnHeaderConstant.java
@@ -27,6 +27,10 @@ import java.util.List;
 
 public class ColumnHeaderConstant {
 
+  private ColumnHeaderConstant() {
+    // forbidding instantiation
+  }
+
   // column names for query statement
   public static final String TIME = "Time";
   public static final String ENDTIME = "__endTime";
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
index 430839e0d6d..a630e6d7ce1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/header/DatasetHeaderFactory.java
@@ -21,6 +21,10 @@ package org.apache.iotdb.db.mpp.common.header;
 
 public class DatasetHeaderFactory {
 
+  private DatasetHeaderFactory() {
+    // forbidding instantiation
+  }
+
   public static DatasetHeader getCountStorageGroupHeader() {
     return new DatasetHeader(ColumnHeaderConstant.countStorageGroupColumnHeaders, true);
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ClusterSchemaTree.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ClusterSchemaTree.java
index 94eb822ba5e..72b187d6f3b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ClusterSchemaTree.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/ClusterSchemaTree.java
@@ -25,6 +25,7 @@ import org.apache.iotdb.commons.schema.view.LogicalViewSchema;
 import org.apache.iotdb.commons.utils.PathUtils;
 import org.apache.iotdb.commons.utils.TestOnly;
 import org.apache.iotdb.db.exception.metadata.PathNotExistException;
+import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.common.schematree.node.SchemaEntityNode;
 import org.apache.iotdb.db.mpp.common.schematree.node.SchemaInternalNode;
 import org.apache.iotdb.db.mpp.common.schematree.node.SchemaMeasurementNode;
@@ -40,7 +41,6 @@ import org.apache.iotdb.tsfile.write.schema.IMeasurementSchema;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
-import java.rmi.UnexpectedException;
 import java.util.ArrayDeque;
 import java.util.ArrayList;
 import java.util.Deque;
@@ -184,11 +184,9 @@ public class ClusterSchemaTree implements ISchemaTree {
       if (node == null) {
         indexOfMissingMeasurements.add(index);
       } else {
-        if (firstNonViewMeasurement) {
-          if (!node.getAsMeasurementNode().isLogicalView()) {
-            schemaComputation.computeDevice(cur.getAsEntityNode().isAligned());
-            firstNonViewMeasurement = false;
-          }
+        if (firstNonViewMeasurement && !node.getAsMeasurementNode().isLogicalView()) {
+          schemaComputation.computeDevice(cur.getAsEntityNode().isAligned());
+          firstNonViewMeasurement = false;
         }
         schemaComputation.computeMeasurement(index, node.getAsMeasurementNode());
       }
@@ -214,16 +212,14 @@ public class ClusterSchemaTree implements ISchemaTree {
       PartialPath fullPath = logicalViewSchema.getSourcePathIfWritable();
       Pair<List<MeasurementPath>, Integer> searchResult = this.searchMeasurementPaths(fullPath);
       List<MeasurementPath> measurementPathList = searchResult.left;
-      if (measurementPathList.size() <= 0) {
-        throw new RuntimeException(
+      if (measurementPathList.isEmpty()) {
+        throw new SemanticException(
             new PathNotExistException(
                 String.format(
                     "The source path of view [%s] does not exist.", fullPath.getFullPath())));
       } else if (measurementPathList.size() > 1) {
-        throw new RuntimeException(
-            new UnexpectedException(
-                String.format(
-                    "The source paths of view [%s] are multiple.", fullPath.getFullPath())));
+        throw new SemanticException(
+            String.format("The source paths of view [%s] are multiple.", fullPath.getFullPath()));
       } else {
         Integer realIndex = schemaComputation.getIndexListOfLogicalViewPaths().get(index);
         MeasurementPath measurementPath = measurementPathList.get(0);
@@ -407,7 +403,7 @@ public class ClusterSchemaTree implements ISchemaTree {
         return database;
       }
     }
-    throw new RuntimeException("No matched database. Please check the path " + pathName);
+    throw new SemanticException("No matched database. Please check the path " + pathName);
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitor.java
index 7ddab681367..b42a96439e2 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitor.java
@@ -31,7 +31,7 @@ public abstract class SchemaTreeVisitor<R> extends AbstractTreeVisitor<SchemaNod
 
   protected SchemaTreeVisitor() {}
 
-  public SchemaTreeVisitor(SchemaNode root, PartialPath pathPattern, boolean isPrefixMatch) {
+  protected SchemaTreeVisitor(SchemaNode root, PartialPath pathPattern, boolean isPrefixMatch) {
     super(root, pathPattern, isPrefixMatch);
     initStack();
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitorFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitorFactory.java
index 2c7e7365aa4..6a2e6ae631e 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitorFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/common/schematree/visitor/SchemaTreeVisitorFactory.java
@@ -23,6 +23,11 @@ import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.mpp.common.schematree.node.SchemaNode;
 
 public class SchemaTreeVisitorFactory {
+
+  private SchemaTreeVisitorFactory() {
+    // forbidden instantiation
+  }
+
   public static SchemaTreeDeviceVisitor createSchemaTreeDeviceVisitor(
       SchemaNode root, PartialPath pathPattern, boolean isPrefixMatch) {
     return new SchemaTreeDeviceVisitor(root, pathPattern, isPrefixMatch);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/ExecutionResult.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/ExecutionResult.java
index 4ac05aabee3..8d778289dd4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/ExecutionResult.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/ExecutionResult.java
@@ -22,8 +22,8 @@ import org.apache.iotdb.common.rpc.thrift.TSStatus;
 import org.apache.iotdb.db.mpp.common.QueryId;
 
 public class ExecutionResult {
-  public QueryId queryId;
-  public TSStatus status;
+  public final QueryId queryId;
+  public final TSStatus status;
 
   public ExecutionResult(QueryId queryId, TSStatus status) {
     this.queryId = queryId;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
index 8c4200fe391..ac5e0d912c8 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/QueryExecution.java
@@ -148,6 +148,7 @@ public class QueryExecution implements IQueryExecution {
   private static final PerformanceOverviewMetrics PERFORMANCE_OVERVIEW_METRICS =
       PerformanceOverviewMetrics.getInstance();
 
+  @SuppressWarnings("squid:S107")
   public QueryExecution(
       Statement statement,
       MPPQueryContext context,
@@ -601,11 +602,16 @@ public class QueryExecution implements IQueryExecution {
       }
       // TODO: (xingtanzjr) use more TSStatusCode if the QueryState isn't FINISHED
       return getExecutionResult(state);
-    } catch (InterruptedException | ExecutionException e) {
+    } catch (InterruptedException e) {
       // TODO: (xingtanzjr) use more accurate error handling
-      if (e instanceof InterruptedException) {
-        Thread.currentThread().interrupt();
-      }
+      Thread.currentThread().interrupt();
+      return new ExecutionResult(
+          context.getQueryId(),
+          stateMachine.getFailureStatus() == null
+              ? RpcUtils.getStatus(
+                  TSStatusCode.INTERNAL_SERVER_ERROR, stateMachine.getFailureMessage())
+              : stateMachine.getFailureStatus());
+    } catch (ExecutionException e) {
       return new ExecutionResult(
           context.getQueryId(),
           stateMachine.getFailureStatus() == null
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
index 20a4aa9f82d..2b323f99ef0 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigExecution.java
@@ -145,13 +145,19 @@ public class ConfigExecution implements IQueryExecution {
   }
 
   @Override
-  public void stop(Throwable t) {}
+  public void stop(Throwable t) {
+    // do nothing
+  }
 
   @Override
-  public void stopAndCleanup() {}
+  public void stopAndCleanup() {
+    // do nothing
+  }
 
   @Override
-  public void stopAndCleanup(Throwable t) {}
+  public void stopAndCleanup(Throwable t) {
+    // do nothing
+  }
 
   @Override
   public void cancel() {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
index 3ed3b35696f..90afc38cd67 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/ConfigTaskVisitor.java
@@ -379,7 +379,7 @@ public class ConfigTaskVisitor
   @Override
   public IConfigTask visitShowConfigNodes(
       ShowConfigNodesStatement showConfigNodesStatement, TaskContext context) {
-    return new ShowConfigNodesTask(showConfigNodesStatement);
+    return new ShowConfigNodesTask();
   }
 
   @Override
@@ -449,6 +449,7 @@ public class ConfigTaskVisitor
     return new GetTimeSlotListTask(getTimeSlotListStatement);
   }
 
+  @Override
   public IConfigTask visitCountTimeSlotList(
       CountTimeSlotListStatement countTimeSlotListStatement, TaskContext context) {
     return new CountTimeSlotListTask(countTimeSlotListStatement);
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
index 2cd03420959..cf1f75c3d9b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/executor/ClusterConfigTaskExecutor.java
@@ -1085,7 +1085,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     if (showClusterStatement.isDetails()) {
       ShowClusterDetailsTask.buildTSBlock(showClusterResp, future);
     } else {
-      ShowClusterTask.buildTSBlock(showClusterResp, future);
+      ShowClusterTask.buildTsBlock(showClusterResp, future);
     }
 
     return future;
@@ -1872,7 +1872,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     } catch (Exception e) {
       future.setException(e);
     }
-    GetRegionIdTask.buildTSBlock(resp, future);
+    GetRegionIdTask.buildTsBlock(resp, future);
     return future;
   }
 
@@ -1895,7 +1895,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
     } catch (Exception e) {
       future.setException(e);
     }
-    GetSeriesSlotListTask.buildTSBlock(resp, future);
+    GetSeriesSlotListTask.buildTsBlock(resp, future);
     return future;
   }
 
@@ -2153,7 +2153,7 @@ public class ClusterConfigTaskExecutor implements IConfigTaskExecutor {
       // Send request to some API server
       TSpaceQuotaResp showSpaceQuotaResp = configNodeClient.showSpaceQuota(databases);
       // build TSBlock
-      ShowSpaceQuotaTask.buildTSBlock(showSpaceQuotaResp, future);
+      ShowSpaceQuotaTask.buildTsBlock(showSpaceQuotaResp, future);
     } catch (Exception e) {
       future.setException(e);
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
index c1568149321..be6552fd107 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetRegionIdTask.java
@@ -60,7 +60,7 @@ public class GetRegionIdTask implements IConfigTask {
     builder.declarePosition();
   }
 
-  public static void buildTSBlock(
+  public static void buildTsBlock(
       TGetRegionIdResp getRegionIdResp, SettableFuture<ConfigTaskResult> future) {
     List<TSDataType> outputDataTypes =
         ColumnHeaderConstant.getRegionIdColumnHeaders.stream()
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetSeriesSlotListTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetSeriesSlotListTask.java
index 5da8c5c7ed7..9f4ebd896f3 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetSeriesSlotListTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/GetSeriesSlotListTask.java
@@ -61,7 +61,7 @@ public class GetSeriesSlotListTask implements IConfigTask {
     builder.declarePosition();
   }
 
-  public static void buildTSBlock(
+  public static void buildTsBlock(
       TGetSeriesSlotListResp getSeriesSlotListResp, SettableFuture<ConfigTaskResult> future) {
     List<TSDataType> outputDataTypes =
         ColumnHeaderConstant.getSeriesSlotListColumnHeaders.stream()
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterDetailsTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterDetailsTask.java
index 6549ee3ffc6..7b6b1b9f623 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterDetailsTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterDetailsTask.java
@@ -73,6 +73,7 @@ public class ShowClusterDetailsTask implements IConfigTask {
     builder.declarePosition();
   }
 
+  @SuppressWarnings("squid:S107")
   private static void buildDataNodesTsBlock(
       TsBlockBuilder builder,
       int nodeId,
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterTask.java
index b1cf6a2e953..d4cabb17375 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowClusterTask.java
@@ -72,7 +72,7 @@ public class ShowClusterTask implements IConfigTask {
     builder.declarePosition();
   }
 
-  public static void buildTSBlock(
+  public static void buildTsBlock(
       TShowClusterResp clusterNodeInfos, SettableFuture<ConfigTaskResult> future) {
     List<TSDataType> outputDataTypes =
         ColumnHeaderConstant.showClusterColumnHeaders.stream()
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowConfigNodesTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowConfigNodesTask.java
index cb4a1268910..6fdb6c9fe86 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowConfigNodesTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowConfigNodesTask.java
@@ -28,7 +28,6 @@ import org.apache.iotdb.db.mpp.common.header.DatasetHeaderFactory;
 import org.apache.iotdb.db.mpp.plan.execution.config.ConfigTaskResult;
 import org.apache.iotdb.db.mpp.plan.execution.config.IConfigTask;
 import org.apache.iotdb.db.mpp.plan.execution.config.executor.IConfigTaskExecutor;
-import org.apache.iotdb.db.mpp.plan.statement.metadata.ShowConfigNodesStatement;
 import org.apache.iotdb.rpc.TSStatusCode;
 import org.apache.iotdb.tsfile.file.metadata.enums.TSDataType;
 import org.apache.iotdb.tsfile.read.common.block.TsBlockBuilder;
@@ -42,12 +41,8 @@ import java.util.stream.Collectors;
 
 public class ShowConfigNodesTask implements IConfigTask {
 
-  private ShowConfigNodesStatement showConfigNodesStatement;
-
-  public ShowConfigNodesTask() {}
-
-  public ShowConfigNodesTask(ShowConfigNodesStatement showConfigNodesStatement) {
-    this.showConfigNodesStatement = showConfigNodesStatement;
+  public ShowConfigNodesTask() {
+    // do nothing
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowFunctionsTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowFunctionsTask.java
index 96fa09fc3db..31edbc373b4 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowFunctionsTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/ShowFunctionsTask.java
@@ -120,7 +120,7 @@ public class ShowFunctionsTask implements IConfigTask {
   }
 
   private static String getFunctionType(UDFInformation udfInformation) {
-    String functionType = FUNCTION_TYPE_EXTERNAL_UDTF;
+    String functionType = null;
     try {
       if (udfInformation.isBuiltin()) {
         if (UDFManagementService.getInstance().isUDTF(udfInformation.getFunctionName())) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowModelsTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowModelsTask.java
index 750e0dd5ae3..b6493d590ab 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowModelsTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/metadata/model/ShowModelsTask.java
@@ -42,7 +42,9 @@ import java.util.stream.Collectors;
 
 public class ShowModelsTask implements IConfigTask {
 
-  public ShowModelsTask() {}
+  public ShowModelsTask() {
+    // do nothing
+  }
 
   @Override
   public ListenableFuture<ConfigTaskResult> execute(IConfigTaskExecutor configTaskExecutor)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowSpaceQuotaTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowSpaceQuotaTask.java
index 961a9ccda35..d069c925ccc 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowSpaceQuotaTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowSpaceQuotaTask.java
@@ -57,7 +57,7 @@ public class ShowSpaceQuotaTask implements IConfigTask {
     return configTaskExecutor.showSpaceQuota(showSpaceQuotaStatement);
   }
 
-  public static void buildTSBlock(TSpaceQuotaResp resp, SettableFuture<ConfigTaskResult> future) {
+  public static void buildTsBlock(TSpaceQuotaResp resp, SettableFuture<ConfigTaskResult> future) {
     List<TSDataType> outputDataTypes =
         ColumnHeaderConstant.showSpaceQuotaColumnHeaders.stream()
             .map(ColumnHeader::getColumnType)
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowThrottleQuotaTask.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowThrottleQuotaTask.java
index 8533e59a581..67c99a7beeb 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowThrottleQuotaTask.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/config/sys/quota/ShowThrottleQuotaTask.java
@@ -141,7 +141,7 @@ public class ShowThrottleQuotaTask implements IConfigTask {
       case REQUEST_SIZE:
         return "";
       default:
-        throw new RuntimeException("Wrong request type");
+        throw new IllegalArgumentException("Wrong request type");
     }
   }
 
@@ -170,7 +170,7 @@ public class ShowThrottleQuotaTask implements IConfigTask {
               + toTimeUnit(timedQuota.getTimeUnit());
         }
       default:
-        throw new RuntimeException("Wrong request type");
+        throw new IllegalArgumentException("Wrong request type");
     }
   }
 
@@ -185,7 +185,7 @@ public class ShowThrottleQuotaTask implements IConfigTask {
       case IoTDBConstant.DAY:
         return IoTDBConstant.DAY_UNIT;
       default:
-        throw new RuntimeException("Wrong unit type");
+        throw new IllegalArgumentException("Wrong unit type");
     }
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/memory/MemorySourceHandle.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/memory/MemorySourceHandle.java
index a071b4b83c7..d307952288a 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/memory/MemorySourceHandle.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/execution/memory/MemorySourceHandle.java
@@ -98,7 +98,9 @@ public class MemorySourceHandle implements ISourceHandle {
   }
 
   @Override
-  public void abort() {}
+  public void abort() {
+    // do nothing
+  }
 
   @Override
   public void abort(Throwable t) {
@@ -106,8 +108,12 @@ public class MemorySourceHandle implements ISourceHandle {
   }
 
   @Override
-  public void close() {}
+  public void close() {
+    // do nothing
+  }
 
   @Override
-  public void setMaxBytesCanReserve(long maxBytesCanReserve) {}
+  public void setMaxBytesCanReserve(long maxBytesCanReserve) {
+    // do nothing
+  }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
index d6a5c89f9ce..5eda9e2c80c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/binary/BinaryExpression.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.db.mpp.plan.expression.binary;
 
 import org.apache.iotdb.db.mpp.common.NodeRef;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
index 13b51495ad8..ee0ebb1b26e 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/unary/LikeExpression.java
@@ -96,16 +96,17 @@ public class LikeExpression extends UnaryExpression {
    */
   private String unescapeString(String value) {
     StringBuilder stringBuilder = new StringBuilder();
-    for (int i = 0; i < value.length(); i++) {
-      String ch = String.valueOf(value.charAt(i));
+    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)) {
             stringBuilder.append(ch);
           }
           if ("\\".equals(nextChar)) {
-            i++;
+            curIndex++;
           }
         }
       } else {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ExpressionVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ExpressionVisitor.java
index cbfed82bb82..428f596295d 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ExpressionVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ExpressionVisitor.java
@@ -20,10 +20,23 @@
 package org.apache.iotdb.db.mpp.plan.expression.visitor;
 
 import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.AdditionExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.ArithmeticBinaryExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.CompareBinaryExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.DivisionExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.EqualToExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.GreaterThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LessThanExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicAndExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.LogicBinaryExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.LogicOrExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.ModuloExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
+import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.WhenThenExpression;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.LeafOperand;
@@ -94,15 +107,68 @@ public abstract class ExpressionVisitor<R, C> {
     return visitBinaryExpression(arithmeticBinaryExpression, context);
   }
 
+  public R visitAdditionExpression(AdditionExpression additionExpression, C context) {
+    return visitArithmeticBinaryExpression(additionExpression, context);
+  }
+
+  public R visitSubtractionExpression(SubtractionExpression subtractionExpression, C context) {
+    return visitArithmeticBinaryExpression(subtractionExpression, context);
+  }
+
+  public R visitMultiplicationExpression(
+      MultiplicationExpression multiplicationExpression, C context) {
+    return visitArithmeticBinaryExpression(multiplicationExpression, context);
+  }
+
+  public R visitDivisionExpression(DivisionExpression divisionExpression, C context) {
+    return visitArithmeticBinaryExpression(divisionExpression, context);
+  }
+
+  public R visitModuloExpression(ModuloExpression moduloExpression, C context) {
+    return visitArithmeticBinaryExpression(moduloExpression, context);
+  }
+
   public R visitLogicBinaryExpression(LogicBinaryExpression logicBinaryExpression, C context) {
     return visitBinaryExpression(logicBinaryExpression, context);
   }
 
+  public R visitLogicAndExpression(LogicAndExpression logicAndExpression, C context) {
+    return visitLogicBinaryExpression(logicAndExpression, context);
+  }
+
+  public R visitLogicOrExpression(LogicOrExpression logicOrExpression, C context) {
+    return visitLogicBinaryExpression(logicOrExpression, context);
+  }
+
   public R visitCompareBinaryExpression(
       CompareBinaryExpression compareBinaryExpression, C context) {
     return visitBinaryExpression(compareBinaryExpression, context);
   }
 
+  public R visitEqualToExpression(EqualToExpression equalToExpression, C context) {
+    return visitCompareBinaryExpression(equalToExpression, context);
+  }
+
+  public R visitNonEqualExpression(NonEqualExpression nonEqualExpression, C context) {
+    return visitCompareBinaryExpression(nonEqualExpression, context);
+  }
+
+  public R visitGreaterThanExpression(GreaterThanExpression greaterThanExpression, C context) {
+    return visitCompareBinaryExpression(greaterThanExpression, context);
+  }
+
+  public R visitGreaterEqualExpression(GreaterEqualExpression greaterEqualExpression, C context) {
+    return visitCompareBinaryExpression(greaterEqualExpression, context);
+  }
+
+  public R visitLessThanExpression(LessThanExpression lessThanExpression, C context) {
+    return visitCompareBinaryExpression(lessThanExpression, context);
+  }
+
+  public R visitLessEqualExpression(LessEqualExpression lessEqualExpression, C context) {
+    return visitCompareBinaryExpression(lessEqualExpression, context);
+  }
+
   public R visitTernaryExpression(TernaryExpression ternaryExpression, C context) {
     return visitExpression(ternaryExpression, context);
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
index 432cb85d1d1..1a0b254128f 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.mpp.plan.expression.visitor;
 import org.apache.iotdb.db.exception.query.QueryProcessException;
 import org.apache.iotdb.db.mpp.common.NodeRef;
 import org.apache.iotdb.db.mpp.plan.expression.Expression;
+import org.apache.iotdb.db.mpp.plan.expression.ExpressionType;
 import org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
@@ -376,18 +377,16 @@ public class IntermediateLayerVisitor
       LayerPointReader firstParentLayerPointReader,
       LayerPointReader secondParentLayerPointReader,
       LayerPointReader thirdParentLayerPointReader) {
-    switch (expression.getExpressionType()) {
-      case BETWEEN:
-        BetweenExpression betweenExpression = (BetweenExpression) expression;
-        return new BetweenTransformer(
-            firstParentLayerPointReader,
-            secondParentLayerPointReader,
-            thirdParentLayerPointReader,
-            betweenExpression.isNotBetween());
-      default:
-        throw new UnsupportedOperationException(
-            "Unsupported Expression Type: " + expression.getExpressionType());
+    if (expression.getExpressionType() == ExpressionType.BETWEEN) {
+      BetweenExpression betweenExpression = (BetweenExpression) expression;
+      return new BetweenTransformer(
+          firstParentLayerPointReader,
+          secondParentLayerPointReader,
+          thirdParentLayerPointReader,
+          betweenExpression.isNotBetween());
     }
+    throw new UnsupportedOperationException(
+        "Unsupported Expression Type: " + expression.getExpressionType());
   }
 
   private UDFQueryTransformer getUdfTransformer(
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
index b74a625bb12..17c0afff95b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
@@ -64,24 +64,19 @@ import org.apache.iotdb.db.mpp.plan.expression.binary.MultiplicationExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.NonEqualExpression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.SubtractionExpression;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.ConstantOperand;
-import org.apache.iotdb.db.mpp.plan.expression.leaf.LeafOperand;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.NullOperand;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.TimeSeriesOperand;
 import org.apache.iotdb.db.mpp.plan.expression.leaf.TimestampOperand;
 import org.apache.iotdb.db.mpp.plan.expression.multi.FunctionExpression;
 import org.apache.iotdb.db.mpp.plan.expression.ternary.BetweenExpression;
-import org.apache.iotdb.db.mpp.plan.expression.ternary.TernaryExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.InExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.IsNullExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.LikeExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.LogicNotExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.NegationExpression;
 import org.apache.iotdb.db.mpp.plan.expression.unary.RegularExpression;
-import org.apache.iotdb.db.mpp.plan.expression.unary.UnaryExpression;
 import org.apache.iotdb.tsfile.utils.Pair;
 
-import javax.ws.rs.NotSupportedException;
-
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
 import java.util.List;
@@ -96,16 +91,12 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
 
   @Override
   public ViewExpression visitExpression(Expression expression, Void context) {
-    throw new RuntimeException(
-        new NotSupportedException(
-            "visitExpression in TransformToViewExpressionVisitor is not supported."));
+    throw new UnsupportedOperationException(
+        "Unsupported expression type in TransformToViewExpressionVisitor: "
+            + expression.getExpressionType());
   }
 
   // region leaf operand
-  @Override
-  public ViewExpression visitLeafOperand(LeafOperand leafOperand, Void context) {
-    throw new RuntimeException(new NotSupportedException("Can not construct abstract class."));
-  }
 
   @Override
   public ViewExpression visitConstantOperand(ConstantOperand constantOperand, Void context) {
@@ -129,10 +120,6 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   // endregion
 
   // region Unary Expressions
-  @Override
-  public ViewExpression visitUnaryExpression(UnaryExpression unaryExpression, Void context) {
-    throw new RuntimeException(new NotSupportedException("Can not construct abstract class."));
-  }
 
   @Override
   public ViewExpression visitInExpression(InExpression inExpression, Void context) {
@@ -187,9 +174,9 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
     } else if (binaryExpression instanceof LogicBinaryExpression) {
       return this.visitLogicBinaryExpression((LogicBinaryExpression) binaryExpression, context);
     }
-    throw new RuntimeException(
-        new NotSupportedException(
-            "unsupported expression type:" + binaryExpression.getExpressionType()));
+    throw new UnsupportedOperationException(
+        "Unsupported expression type in TransformToViewExpressionVisitor: "
+            + binaryExpression.getExpressionType());
   }
 
   private Pair<ViewExpression, ViewExpression> getExpressionsForBinaryExpression(
@@ -201,50 +188,39 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
 
   // region Binary : Arithmetic Binary Expression
   @Override
-  public ViewExpression visitArithmeticBinaryExpression(
-      ArithmeticBinaryExpression arithmeticBinaryExpression, Void context) {
-    if (arithmeticBinaryExpression instanceof AdditionExpression) {
-      return this.visitAdditionExpression((AdditionExpression) arithmeticBinaryExpression);
-    } else if (arithmeticBinaryExpression instanceof DivisionExpression) {
-      return this.visitDivisionExpression((DivisionExpression) arithmeticBinaryExpression);
-    } else if (arithmeticBinaryExpression instanceof ModuloExpression) {
-      return this.visitModuloExpression((ModuloExpression) arithmeticBinaryExpression);
-    } else if (arithmeticBinaryExpression instanceof MultiplicationExpression) {
-      return this.visitMultiplicationExpression(
-          (MultiplicationExpression) arithmeticBinaryExpression);
-    } else if (arithmeticBinaryExpression instanceof SubtractionExpression) {
-      return this.visitSubtractionExpression((SubtractionExpression) arithmeticBinaryExpression);
-    }
-    throw new UnsupportedOperationException(
-        "unsupported expression type:" + arithmeticBinaryExpression.getExpressionType());
-  }
-
-  public ViewExpression visitAdditionExpression(AdditionExpression additionExpression) {
+  public ViewExpression visitAdditionExpression(
+      AdditionExpression additionExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(additionExpression);
     return new AdditionViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitDivisionExpression(DivisionExpression divisionExpression) {
+  @Override
+  public ViewExpression visitDivisionExpression(
+      DivisionExpression divisionExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(divisionExpression);
     return new DivisionViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitModuloExpression(ModuloExpression moduloExpression) {
+  @Override
+  public ViewExpression visitModuloExpression(ModuloExpression moduloExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(moduloExpression);
     return new ModuloViewExpression(pair.left, pair.right);
   }
 
+  @Override
   public ViewExpression visitMultiplicationExpression(
-      MultiplicationExpression multiplicationExpression) {
+      MultiplicationExpression multiplicationExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(multiplicationExpression);
     return new MultiplicationViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitSubtractionExpression(SubtractionExpression subtractionExpression) {
+  @Override
+  public ViewExpression visitSubtractionExpression(
+      SubtractionExpression subtractionExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(subtractionExpression);
     return new SubtractionViewExpression(pair.left, pair.right);
@@ -252,57 +228,49 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   // endregion
 
   // region Binary: Compare Binary Expression
-  @Override
-  public ViewExpression visitCompareBinaryExpression(
-      CompareBinaryExpression compareBinaryExpression, Void context) {
-    if (compareBinaryExpression instanceof EqualToExpression) {
-      return this.visitEqualToExpression((EqualToExpression) compareBinaryExpression);
-    } else if (compareBinaryExpression instanceof GreaterEqualExpression) {
-      return this.visitGreaterEqualExpression((GreaterEqualExpression) compareBinaryExpression);
-    } else if (compareBinaryExpression instanceof GreaterThanExpression) {
-      return this.visitGreaterThanExpression((GreaterThanExpression) compareBinaryExpression);
-    } else if (compareBinaryExpression instanceof LessEqualExpression) {
-      return this.visitLessEqualExpression((LessEqualExpression) compareBinaryExpression);
-    } else if (compareBinaryExpression instanceof LessThanExpression) {
-      return this.visitLessThanExpression((LessThanExpression) compareBinaryExpression);
-    } else if (compareBinaryExpression instanceof NonEqualExpression) {
-      return this.visitNonEqualExpression((NonEqualExpression) compareBinaryExpression);
-    }
-    throw new UnsupportedOperationException(
-        "unsupported expression type:" + compareBinaryExpression.getExpressionType());
-  }
 
-  public ViewExpression visitEqualToExpression(EqualToExpression equalToExpression) {
+  @Override
+  public ViewExpression visitEqualToExpression(EqualToExpression equalToExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(equalToExpression);
     return new EqualToViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitGreaterEqualExpression(GreaterEqualExpression greaterEqualExpression) {
+  @Override
+  public ViewExpression visitGreaterEqualExpression(
+      GreaterEqualExpression greaterEqualExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(greaterEqualExpression);
     return new GreaterEqualViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitGreaterThanExpression(GreaterThanExpression greaterThanExpression) {
+  @Override
+  public ViewExpression visitGreaterThanExpression(
+      GreaterThanExpression greaterThanExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(greaterThanExpression);
     return new GreaterThanViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLessEqualExpression(LessEqualExpression lessEqualExpression) {
+  @Override
+  public ViewExpression visitLessEqualExpression(
+      LessEqualExpression lessEqualExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(lessEqualExpression);
     return new LessEqualViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLessThanExpression(LessThanExpression lessThanExpression) {
+  @Override
+  public ViewExpression visitLessThanExpression(
+      LessThanExpression lessThanExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(lessThanExpression);
     return new LessThanViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitNonEqualExpression(NonEqualExpression nonEqualExpression) {
+  @Override
+  public ViewExpression visitNonEqualExpression(
+      NonEqualExpression nonEqualExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(nonEqualExpression);
     return new NonEqualViewExpression(pair.left, pair.right);
@@ -310,25 +278,17 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   // endregion
 
   // region Binary : Logic Binary Expression
-  @Override
-  public ViewExpression visitLogicBinaryExpression(
-      LogicBinaryExpression logicBinaryExpression, Void context) {
-    if (logicBinaryExpression instanceof LogicAndExpression) {
-      return this.visitLogicAndExpression((LogicAndExpression) logicBinaryExpression);
-    } else if (logicBinaryExpression instanceof LogicOrExpression) {
-      return this.visitLogicOrExpression((LogicOrExpression) logicBinaryExpression);
-    }
-    throw new UnsupportedOperationException(
-        "unsupported expression type:" + logicBinaryExpression.getExpressionType());
-  }
 
-  public ViewExpression visitLogicAndExpression(LogicAndExpression logicAndExpression) {
+  @Override
+  public ViewExpression visitLogicAndExpression(
+      LogicAndExpression logicAndExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(logicAndExpression);
     return new LogicAndViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLogicOrExpression(LogicOrExpression logicOrExpression) {
+  @Override
+  public ViewExpression visitLogicOrExpression(LogicOrExpression logicOrExpression, Void context) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(logicOrExpression);
     return new LogicOrViewExpression(pair.left, pair.right);
@@ -338,10 +298,6 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   // endregion
 
   // region Ternary Expressions
-  @Override
-  public ViewExpression visitTernaryExpression(TernaryExpression ternaryExpression, Void context) {
-    throw new NotSupportedException("Can not construct abstract class.");
-  }
 
   @Override
   public ViewExpression visitBetweenExpression(BetweenExpression betweenExpression, Void context) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/optimization/PlanOptimizer.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/optimization/PlanOptimizer.java
index a2b1f860ab0..d3eff3a5a26 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/optimization/PlanOptimizer.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/optimization/PlanOptimizer.java
@@ -16,6 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 package org.apache.iotdb.db.mpp.plan.optimization;
 
 import org.apache.iotdb.db.mpp.common.MPPQueryContext;


[iotdb] 04/05: del TestRPCClient

Posted by hu...@apache.org.
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 a445733753bfb0efcb249e9f135095c7c1d89217
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Tue Jun 20 16:15:27 2023 +0800

    del TestRPCClient
---
 .../apache/iotdb/db/mpp/plan/TestRPCClient.java    | 173 ---------------------
 1 file changed, 173 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/TestRPCClient.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/TestRPCClient.java
deleted file mode 100644
index 006b6d36f04..00000000000
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/TestRPCClient.java
+++ /dev/null
@@ -1,173 +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.db.mpp.plan;
-
-import org.apache.iotdb.common.rpc.thrift.TDataNodeLocation;
-import org.apache.iotdb.common.rpc.thrift.TEndPoint;
-import org.apache.iotdb.common.rpc.thrift.TRegionReplicaSet;
-import org.apache.iotdb.common.rpc.thrift.TSStatus;
-import org.apache.iotdb.commons.client.ClientPoolFactory;
-import org.apache.iotdb.commons.client.IClientManager;
-import org.apache.iotdb.commons.client.sync.SyncDataNodeInternalServiceClient;
-import org.apache.iotdb.commons.consensus.DataRegionId;
-import org.apache.iotdb.consensus.config.IoTConsensusConfig;
-import org.apache.iotdb.consensus.iot.client.IoTConsensusClientPool;
-import org.apache.iotdb.consensus.iot.client.SyncIoTConsensusServiceClient;
-import org.apache.iotdb.consensus.iot.thrift.TInactivatePeerReq;
-import org.apache.iotdb.consensus.iot.thrift.TInactivatePeerRes;
-import org.apache.iotdb.consensus.iot.thrift.TTriggerSnapshotLoadReq;
-import org.apache.iotdb.consensus.iot.thrift.TTriggerSnapshotLoadRes;
-import org.apache.iotdb.mpp.rpc.thrift.TCreateDataRegionReq;
-import org.apache.iotdb.mpp.rpc.thrift.TMaintainPeerReq;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class TestRPCClient {
-  private static final IClientManager<TEndPoint, SyncDataNodeInternalServiceClient>
-      INTERNAL_SERVICE_CLIENT_MANAGER =
-          new IClientManager.Factory<TEndPoint, SyncDataNodeInternalServiceClient>()
-              .createClientManager(
-                  new ClientPoolFactory.SyncDataNodeInternalServiceClientPoolFactory());
-
-  private final IClientManager<TEndPoint, SyncIoTConsensusServiceClient> syncClientManager;
-
-  public TestRPCClient() {
-    syncClientManager =
-        new IClientManager.Factory<TEndPoint, SyncIoTConsensusServiceClient>()
-            .createClientManager(
-                new IoTConsensusClientPool.SyncIoTConsensusServiceClientPoolFactory(
-                    new IoTConsensusConfig.Builder().build()));
-  }
-
-  public static void main(String[] args) {
-    TestRPCClient client = new TestRPCClient();
-    //    client.removeRegionPeer();
-    client.addPeer();
-    //    client.loadSnapshot();
-  }
-
-  private void loadSnapshot() {
-    try (SyncIoTConsensusServiceClient client =
-        syncClientManager.borrowClient(new TEndPoint("127.0.0.1", 40011))) {
-      TTriggerSnapshotLoadRes res =
-          client.triggerSnapshotLoad(
-              new TTriggerSnapshotLoadReq(
-                  new DataRegionId(1).convertToTConsensusGroupId(), "snapshot_1_1662370255552"));
-      System.out.println(res.status);
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  private void testAddPeer() {
-    try (SyncIoTConsensusServiceClient client =
-        syncClientManager.borrowClient(new TEndPoint("127.0.0.1", 40012))) {
-      TInactivatePeerRes res =
-          client.inactivatePeer(
-              new TInactivatePeerReq(new DataRegionId(1).convertToTConsensusGroupId()));
-      System.out.println(res.status);
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  private void removeRegionPeer() {
-    try (SyncDataNodeInternalServiceClient client =
-        INTERNAL_SERVICE_CLIENT_MANAGER.borrowClient(new TEndPoint("127.0.0.1", 9003))) {
-      client.removeRegionPeer(
-          new TMaintainPeerReq(new DataRegionId(1).convertToTConsensusGroupId(), getLocation2(3)));
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  private void addPeer() {
-    try (SyncDataNodeInternalServiceClient client =
-        INTERNAL_SERVICE_CLIENT_MANAGER.borrowClient(new TEndPoint("127.0.0.1", 9003))) {
-      client.addRegionPeer(
-          new TMaintainPeerReq(new DataRegionId(1).convertToTConsensusGroupId(), getLocation2(3)));
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  private TDataNodeLocation getLocation3(int dataNodeId) {
-    return new TDataNodeLocation(
-        dataNodeId,
-        new TEndPoint("127.0.0.1", 6669),
-        new TEndPoint("127.0.0.1", 10732),
-        new TEndPoint("127.0.0.1", 10742),
-        new TEndPoint("127.0.0.1", 10762),
-        new TEndPoint("127.0.0.1", 10752));
-  }
-
-  private TDataNodeLocation getLocation2(int dataNodeId) {
-    return new TDataNodeLocation(
-        dataNodeId,
-        new TEndPoint("127.0.0.1", 6668),
-        new TEndPoint("127.0.0.1", 10731),
-        new TEndPoint("127.0.0.1", 10741),
-        new TEndPoint("127.0.0.1", 10761),
-        new TEndPoint("127.0.0.1", 10751));
-  }
-
-  private void createDataRegion() {
-    try (SyncDataNodeInternalServiceClient client =
-        INTERNAL_SERVICE_CLIENT_MANAGER.borrowClient(new TEndPoint("127.0.0.1", 9005))) {
-      TCreateDataRegionReq req = new TCreateDataRegionReq();
-      req.setStorageGroup("root.test.g_0");
-      TRegionReplicaSet regionReplicaSet = new TRegionReplicaSet();
-      regionReplicaSet.setRegionId(new DataRegionId(1).convertToTConsensusGroupId());
-      List<TDataNodeLocation> locationList = new ArrayList<>();
-      locationList.add(
-          new TDataNodeLocation(
-              3,
-              new TEndPoint("127.0.0.1", 6667),
-              new TEndPoint("127.0.0.1", 10730),
-              new TEndPoint("127.0.0.1", 10740),
-              new TEndPoint("127.0.0.1", 10760),
-              new TEndPoint("127.0.0.1", 10750)));
-      locationList.add(
-          new TDataNodeLocation(
-              4,
-              new TEndPoint("127.0.0.1", 6668),
-              new TEndPoint("127.0.0.1", 10731),
-              new TEndPoint("127.0.0.1", 10741),
-              new TEndPoint("127.0.0.1", 10761),
-              new TEndPoint("127.0.0.1", 10751)));
-      locationList.add(
-          new TDataNodeLocation(
-              4,
-              new TEndPoint("127.0.0.1", 6669),
-              new TEndPoint("127.0.0.1", 10732),
-              new TEndPoint("127.0.0.1", 10742),
-              new TEndPoint("127.0.0.1", 10762),
-              new TEndPoint("127.0.0.1", 10752)));
-      regionReplicaSet.setDataNodeLocations(locationList);
-      req.setRegionReplicaSet(regionReplicaSet);
-      TSStatus res = client.createDataRegion(req);
-      System.out.println(res.code + " " + res.message);
-
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-}


[iotdb] 01/05: fix sonar (parser)

Posted by hu...@apache.org.
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 0b74365951ec1607781c24537e99c4409d023154
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Tue Jun 20 10:58:20 2023 +0800

    fix sonar (parser)
---
 .../plan/expression/multi/FunctionExpression.java  |  2 +-
 .../iotdb/db/mpp/plan/parser/ASTVisitor.java       | 62 +++++++++-------------
 .../db/mpp/plan/parser/StatementGenerator.java     | 62 +++++++++++++---------
 3 files changed, 62 insertions(+), 64 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
index af515d13179..daa8aad6b9c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
@@ -118,7 +118,7 @@ public class FunctionExpression extends Expression {
     return functionType == FunctionType.AGGREGATION_FUNCTION;
   }
 
-  public Boolean isBuiltInScalarFunction() {
+  public boolean isBuiltInScalarFunction() {
     if (functionType == null) {
       initializeFunctionType();
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
index f84065183e8..0a5b71bfeb5 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/ASTVisitor.java
@@ -26,7 +26,6 @@ import org.apache.iotdb.commons.auth.entity.PrivilegeType;
 import org.apache.iotdb.commons.cluster.NodeStatus;
 import org.apache.iotdb.commons.conf.IoTDBConstant;
 import org.apache.iotdb.commons.cq.TimeoutPolicy;
-import org.apache.iotdb.commons.exception.IllegalPathException;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.commons.schema.filter.SchemaFilter;
 import org.apache.iotdb.commons.schema.filter.impl.DataTypeFilter;
@@ -257,6 +256,11 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   private static final String GROUP_BY_COMMON_ONLY_ONE_MSG =
       "Only one of group by time or group by variation/series/session can be supported at a time";
 
+  private static final String NEGATIVE_TIMESTAMP_ERROR_MSG =
+      "Please set the time >=0 or after 1970-01-01 00:00:00";
+  private static final String LIMIT_CONFIGURATION_ENABLED_ERROR_MSG =
+      "Limit configuration is not enabled, please enable it first.";
+
   private static final String IGNORENULL = "IgnoreNull";
   private ZoneId zoneId;
 
@@ -1129,7 +1133,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
       BiConsumer<PartialPath, List<PartialPath>> setTargetPathsGroup,
       Consumer<IntoItem> setTargetIntoItem) {
     // full paths
-    if (ctx.fullPath() != null && ctx.fullPath().size() > 0) {
+    if (ctx.fullPath() != null && !ctx.fullPath().isEmpty()) {
       List<IoTDBSqlParser.FullPathContext> fullPathContextList = ctx.fullPath();
       List<PartialPath> pathList = new ArrayList<>();
       for (IoTDBSqlParser.FullPathContext pathContext : fullPathContextList) {
@@ -1140,7 +1144,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     // prefix path and suffix paths
     if (ctx.prefixPath() != null
         && ctx.viewSuffixPaths() != null
-        && ctx.viewSuffixPaths().size() > 0) {
+        && !ctx.viewSuffixPaths().isEmpty()) {
       IoTDBSqlParser.PrefixPathContext prefixPathContext = ctx.prefixPath();
       List<IoTDBSqlParser.ViewSuffixPathsContext> suffixPathContextList = ctx.viewSuffixPaths();
       List<PartialPath> suffixPathList = new ArrayList<>();
@@ -1180,7 +1184,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
       BiConsumer<PartialPath, List<PartialPath>> setSourcePathsGroup,
       Consumer<QueryStatement> setSourceQueryStatement) {
     // full paths
-    if (ctx.fullPath() != null && ctx.fullPath().size() > 0) {
+    if (ctx.fullPath() != null && !ctx.fullPath().isEmpty()) {
       List<IoTDBSqlParser.FullPathContext> fullPathContextList = ctx.fullPath();
       List<PartialPath> pathList = new ArrayList<>();
       for (IoTDBSqlParser.FullPathContext pathContext : fullPathContextList) {
@@ -1191,7 +1195,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     // prefix path and suffix paths
     if (ctx.prefixPath() != null
         && ctx.viewSuffixPaths() != null
-        && ctx.viewSuffixPaths().size() > 0) {
+        && !ctx.viewSuffixPaths().isEmpty()) {
       IoTDBSqlParser.PrefixPathContext prefixPathContext = ctx.prefixPath();
       PartialPath prefixPath = parsePrefixPath(prefixPathContext);
       List<IoTDBSqlParser.ViewSuffixPathsContext> suffixPathContextList = ctx.viewSuffixPaths();
@@ -1549,10 +1553,10 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
       GroupByAttributeClauseContext ctx, WindowType windowType) {
 
     boolean ignoringNull = true;
-    if (ctx.attributePair() != null && !ctx.attributePair().isEmpty()) {
-      if (ctx.attributePair().key.getText().equalsIgnoreCase(IGNORENULL)) {
-        ignoringNull = Boolean.parseBoolean(ctx.attributePair().value.getText());
-      }
+    if (ctx.attributePair() != null
+        && !ctx.attributePair().isEmpty()
+        && ctx.attributePair().key.getText().equalsIgnoreCase(IGNORENULL)) {
+      ignoringNull = Boolean.parseBoolean(ctx.attributePair().value.getText());
     }
     List<ExpressionContext> expressions = ctx.expression();
     if (windowType == WindowType.VARIATION_WINDOW) {
@@ -1953,10 +1957,6 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     return new PartialPath(path);
   }
 
-  private PartialPath convertConstantToPath(String src) throws IllegalPathException {
-    return new PartialPath(src);
-  }
-
   private String parseNodeName(IoTDBSqlParser.NodeNameContext ctx) {
     if (!useWildcard && !ctx.wildcard().isEmpty()) {
       useWildcard = true;
@@ -2085,11 +2085,10 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   }
 
   private String parseStringLiteralInInsertValue(String src) {
-    if (2 <= src.length()) {
-      if ((src.charAt(0) == '\"' && src.charAt(src.length() - 1) == '\"')
-          || (src.charAt(0) == '\'' && src.charAt(src.length() - 1) == '\'')) {
-        return "'" + parseStringLiteral(src) + "'";
-      }
+    if (2 <= src.length()
+        && ((src.charAt(0) == '\"' && src.charAt(src.length() - 1) == '\"')
+            || (src.charAt(0) == '\'' && src.charAt(src.length() - 1) == '\''))) {
+      return "'" + parseStringLiteral(src) + "'";
     }
     return src;
   }
@@ -3127,7 +3126,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     } else if (ctx.READONLY() != null) {
       setSystemStatusStatement.setStatus(NodeStatus.ReadOnly);
     } else {
-      throw new RuntimeException("Unknown system status in set system command.");
+      throw new SemanticException("Unknown system status in set system command.");
     }
     return setSystemStatusStatement;
   }
@@ -3495,17 +3494,6 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     return attributes;
   }
 
-  private PartialPath parsePathFromExpression(Expression expression) {
-    if (expression instanceof TimeSeriesOperand) {
-      return ((TimeSeriesOperand) expression).getPath();
-    } else if (expression instanceof TimestampOperand) {
-      return SqlConstant.TIME_PATH;
-    } else {
-      throw new IllegalArgumentException(
-          "Unsupported expression type: " + expression.getExpressionType());
-    }
-  }
-
   // PIPE
 
   @Override
@@ -3636,7 +3624,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     if (ctx.time != null) {
       long timestamp = parseTimeValue(ctx.time, DateTimeUtils.currentTime());
       if (timestamp < 0) {
-        throw new SemanticException("Please set the time >=0 or after 1970-01-01 00:00:00");
+        throw new SemanticException(NEGATIVE_TIMESTAMP_ERROR_MSG);
       } else {
         getRegionIdStatement.setTimeStamp(timestamp);
       }
@@ -3664,7 +3652,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     if (ctx.startTime != null) {
       long timestamp = parseTimeValue(ctx.startTime, DateTimeUtils.currentTime());
       if (timestamp < 0) {
-        throw new SemanticException("Please set the time >=0 or after 1970-01-01 00:00:00");
+        throw new SemanticException(NEGATIVE_TIMESTAMP_ERROR_MSG);
       } else {
         getTimeSlotListStatement.setStartTime(timestamp);
       }
@@ -3672,7 +3660,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
     if (ctx.endTime != null) {
       long timestamp = parseTimeValue(ctx.endTime, DateTimeUtils.currentTime());
       if (timestamp < 0) {
-        throw new SemanticException("Please set the time >=0 or after 1970-01-01 00:00:00");
+        throw new SemanticException(NEGATIVE_TIMESTAMP_ERROR_MSG);
       } else {
         getTimeSlotListStatement.setEndTime(timestamp);
       }
@@ -3711,7 +3699,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   @Override
   public Statement visitSetSpaceQuota(IoTDBSqlParser.SetSpaceQuotaContext ctx) {
     if (!IoTDBDescriptor.getInstance().getConfig().isQuotaEnable()) {
-      throw new SemanticException("Limit configuration is not enabled, please enable it first.");
+      throw new SemanticException(LIMIT_CONFIGURATION_ENABLED_ERROR_MSG);
     }
     SetSpaceQuotaStatement setSpaceQuotaStatement = new SetSpaceQuotaStatement();
     List<IoTDBSqlParser.PrefixPathContext> prefixPathContexts = ctx.prefixPath();
@@ -3778,7 +3766,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   @Override
   public Statement visitSetThrottleQuota(IoTDBSqlParser.SetThrottleQuotaContext ctx) {
     if (!IoTDBDescriptor.getInstance().getConfig().isQuotaEnable()) {
-      throw new SemanticException("Limit configuration is not enabled, please enable it first.");
+      throw new SemanticException(LIMIT_CONFIGURATION_ENABLED_ERROR_MSG);
     }
     if (parseIdentifier(ctx.userName.getText()).equals(IoTDBConstant.PATH_ROOT)) {
       throw new SemanticException("Cannot set throttle quota for user root.");
@@ -3878,7 +3866,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   @Override
   public Statement visitShowThrottleQuota(IoTDBSqlParser.ShowThrottleQuotaContext ctx) {
     if (!IoTDBDescriptor.getInstance().getConfig().isQuotaEnable()) {
-      throw new SemanticException("Limit configuration is not enabled, please enable it first.");
+      throw new SemanticException(LIMIT_CONFIGURATION_ENABLED_ERROR_MSG);
     }
     ShowThrottleQuotaStatement showThrottleQuotaStatement = new ShowThrottleQuotaStatement();
     if (ctx.userName != null) {
@@ -3952,7 +3940,7 @@ public class ASTVisitor extends IoTDBSqlParserBaseVisitor<Statement> {
   @Override
   public Statement visitShowSpaceQuota(IoTDBSqlParser.ShowSpaceQuotaContext ctx) {
     if (!IoTDBDescriptor.getInstance().getConfig().isQuotaEnable()) {
-      throw new SemanticException("Limit configuration is not enabled, please enable it first.");
+      throw new SemanticException(LIMIT_CONFIGURATION_ENABLED_ERROR_MSG);
     }
     ShowSpaceQuotaStatement showSpaceQuotaStatement = new ShowSpaceQuotaStatement();
     if (ctx.prefixPath() != null) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
index 5fc4f3a2348..5cf6c5aad6b 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/parser/StatementGenerator.java
@@ -124,6 +124,10 @@ public class StatementGenerator {
   private static final DataNodeDevicePathCache DEVICE_PATH_CACHE =
       DataNodeDevicePathCache.getInstance();
 
+  private StatementGenerator() {
+    // forbidding instantiation
+  }
+
   public static Statement createStatement(String sql, ZoneId zoneId) {
     return invokeParser(sql, zoneId);
   }
@@ -285,7 +289,7 @@ public class StatementGenerator {
   }
 
   public static InsertRowStatement createStatement(TSInsertStringRecordReq insertRecordReq)
-      throws IllegalPathException, QueryProcessException {
+      throws IllegalPathException {
     final long startTime = System.nanoTime();
     // construct insert statement
     InsertRowStatement insertStatement = new InsertRowStatement();
@@ -395,7 +399,7 @@ public class StatementGenerator {
   }
 
   public static InsertRowsStatement createStatement(TSInsertStringRecordsReq req)
-      throws IllegalPathException, QueryProcessException {
+      throws IllegalPathException {
     final long startTime = System.nanoTime();
     // construct insert statement
     InsertRowsStatement insertStatement = new InsertRowsStatement();
@@ -507,16 +511,16 @@ public class StatementGenerator {
     CreateAlignedTimeSeriesStatement statement = new CreateAlignedTimeSeriesStatement();
     statement.setDevicePath(new PartialPath(req.prefixPath));
     List<TSDataType> dataTypes = new ArrayList<>();
-    for (int dataType : req.dataTypes) {
-      dataTypes.add(TSDataType.deserialize((byte) dataType));
+    for (Integer dataType : req.dataTypes) {
+      dataTypes.add(TSDataType.deserialize(dataType.byteValue()));
     }
     List<TSEncoding> encodings = new ArrayList<>();
-    for (int encoding : req.encodings) {
-      encodings.add(TSEncoding.deserialize((byte) encoding));
+    for (Integer encoding : req.encodings) {
+      encodings.add(TSEncoding.deserialize(encoding.byteValue()));
     }
     List<CompressionType> compressors = new ArrayList<>();
-    for (int compressor : req.compressors) {
-      compressors.add(CompressionType.deserialize((byte) compressor));
+    for (Integer compressor : req.compressors) {
+      compressors.add(CompressionType.deserialize(compressor.byteValue()));
     }
     statement.setMeasurements(req.measurements);
     statement.setDataTypes(dataTypes);
@@ -538,16 +542,16 @@ public class StatementGenerator {
       paths.add(new PartialPath(path));
     }
     List<TSDataType> dataTypes = new ArrayList<>();
-    for (int dataType : req.dataTypes) {
-      dataTypes.add(TSDataType.deserialize((byte) dataType));
+    for (Integer dataType : req.dataTypes) {
+      dataTypes.add(TSDataType.deserialize(dataType.byteValue()));
     }
     List<TSEncoding> encodings = new ArrayList<>();
-    for (int encoding : req.encodings) {
-      encodings.add(TSEncoding.deserialize((byte) encoding));
+    for (Integer encoding : req.encodings) {
+      encodings.add(TSEncoding.deserialize(encoding.byteValue()));
     }
     List<CompressionType> compressors = new ArrayList<>();
-    for (int compressor : req.compressors) {
-      compressors.add(CompressionType.deserialize((byte) compressor));
+    for (Integer compressor : req.compressors) {
+      compressors.add(CompressionType.deserialize(compressor.byteValue()));
     }
     CreateMultiTimeSeriesStatement statement = new CreateMultiTimeSeriesStatement();
     statement.setPaths(paths);
@@ -603,7 +607,7 @@ public class StatementGenerator {
     List<List<TSEncoding>> encodings = new ArrayList<>();
     List<List<CompressionType>> compressors = new ArrayList<>();
 
-    String templateName = ReadWriteIOUtils.readString(buffer);
+    ReadWriteIOUtils.readString(buffer); // skip template name
     boolean isAlign = ReadWriteIOUtils.readBool(buffer);
     if (isAlign) {
       alignedPrefix.put("", new ArrayList<>());
@@ -650,18 +654,20 @@ public class StatementGenerator {
       }
     }
 
-    for (String prefix : alignedPrefix.keySet()) {
+    for (Map.Entry<String, List<String>> alignedPrefixEntry : alignedPrefix.entrySet()) {
+      String prefix = alignedPrefixEntry.getKey();
+      List<String> alignedMeasurements = alignedPrefixEntry.getValue();
+
       List<String> thisMeasurements = new ArrayList<>();
       List<TSDataType> thisDataTypes = new ArrayList<>();
       List<TSEncoding> thisEncodings = new ArrayList<>();
       List<CompressionType> thisCompressors = new ArrayList<>();
 
-      for (int i = 0; i < alignedPrefix.get(prefix).size(); i++) {
+      for (int i = 0; i < alignedMeasurements.size(); i++) {
         if ("".equals(prefix)) {
-          thisMeasurements.add(alignedPrefix.get(prefix).get(i));
+          thisMeasurements.add(alignedMeasurements.get(i));
         } else {
-          thisMeasurements.add(
-              prefix + TsFileConstant.PATH_SEPARATOR + alignedPrefix.get(prefix).get(i));
+          thisMeasurements.add(prefix + TsFileConstant.PATH_SEPARATOR + alignedMeasurements.get(i));
         }
         thisDataTypes.add(alignedDataTypes.get(prefix).get(i));
         thisEncodings.add(alignedEncodings.get(prefix).get(i));
@@ -673,6 +679,7 @@ public class StatementGenerator {
       encodings.add(thisEncodings);
       compressors.add(thisCompressors);
     }
+
     CreateSchemaTemplateStatement statement =
         new CreateSchemaTemplateStatement(
             req.getName(), measurements, dataTypes, encodings, compressors, isAlign);
@@ -778,8 +785,8 @@ public class StatementGenerator {
       try {
         // STAGE 1: try with simpler/faster SLL(*)
         tree = parser1.singleStatement();
-        // 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(sql);
 
@@ -889,11 +896,14 @@ public class StatementGenerator {
                 new TimestampOperand(), new ConstantOperand(TSDataType.INT64, times[1]));
         predictNum += 2;
       }
-      whereCondition.setPredicate(
-          predictNum == 3
-              ? new LogicAndExpression(leftPredicate, rightPredicate)
-              : (predictNum == 1 ? leftPredicate : rightPredicate));
 
+      if (predictNum == 3) {
+        whereCondition.setPredicate(new LogicAndExpression(leftPredicate, rightPredicate));
+      } else if (predictNum == 1) {
+        whereCondition.setPredicate(leftPredicate);
+      } else {
+        whereCondition.setPredicate(rightPredicate);
+      }
       queryStatement.setWhereCondition(whereCondition);
     }
     return queryStatement;


[iotdb] 02/05: fix sonar (expression)

Posted by hu...@apache.org.
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 fa03b7dc40bf88bac4d52e06d256ca277ecb8e1a
Author: Minghui Liu <li...@foxmail.com>
AuthorDate: Tue Jun 20 11:16:07 2023 +0800

    fix sonar (expression)
---
 .../iotdb/db/mpp/plan/expression/Expression.java   |  3 +-
 .../db/mpp/plan/expression/ExpressionFactory.java  |  4 ++
 .../db/mpp/plan/expression/ExpressionType.java     |  8 +--
 .../plan/expression/multi/FunctionExpression.java  |  6 +-
 .../BuiltInScalarFunctionHelperFactory.java        |  5 ++
 .../multi/builtin/helper/CastFunctionHelper.java   | 22 +++---
 .../BindTypeForTimeSeriesOperandVisitor.java       |  3 +-
 .../visitor/ColumnTransformerVisitor.java          |  9 ++-
 .../visitor/CompleteMeasurementSchemaVisitor.java  | 17 ++---
 .../visitor/IntermediateLayerVisitor.java          |  3 +-
 .../visitor/TransformToViewExpressionVisitor.java  | 81 +++++++++-------------
 .../cartesian/BindSchemaForExpressionVisitor.java  | 19 +++--
 12 files changed, 88 insertions(+), 92 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
index 1369e16fcd9..431c412e914 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/Expression.java
@@ -65,6 +65,7 @@ import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
+import java.util.NoSuchElementException;
 import java.util.Objects;
 
 /** A skeleton class for expression */
@@ -402,7 +403,7 @@ public abstract class Expression extends StatementNode {
     @Override
     public Expression next() {
       if (!hasNext()) {
-        return null;
+        throw new NoSuchElementException();
       }
       Expression current = queue.pop();
       if (current != null) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionFactory.java
index dfd2f054445..30474bf5d9d 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionFactory.java
@@ -41,6 +41,10 @@ import java.util.LinkedHashMap;
 
 public class ExpressionFactory {
 
+  private ExpressionFactory() {
+    // forbidden construction
+  }
+
   public static PartialPath path(String pathStr) throws IllegalPathException {
     return new PartialPath(pathStr);
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
index c49a674fff7..1d37bab2ea9 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/ExpressionType.java
@@ -62,16 +62,16 @@ public enum ExpressionType {
   WHEN_THEN((short) 22, (short) 1000), // priority not sure
   ;
 
-  private final short expressionType;
+  private final short type;
   private final short priority;
 
-  ExpressionType(short expressionType, short priority) {
-    this.expressionType = expressionType;
+  ExpressionType(short type, short priority) {
+    this.type = type;
     this.priority = priority;
   }
 
   public short getExpressionTypeInShortEnum() {
-    return expressionType;
+    return type;
   }
 
   public short getPriority() {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
index daa8aad6b9c..75c5cbc104c 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/FunctionExpression.java
@@ -100,10 +100,10 @@ public class FunctionExpression extends Expression {
   }
 
   private void initializeFunctionType() {
-    final String functionName = this.functionName.toLowerCase();
-    if (BuiltinAggregationFunction.getNativeFunctionNames().contains(functionName)) {
+    final String lowerCaseFunctionName = this.functionName.toLowerCase();
+    if (BuiltinAggregationFunction.getNativeFunctionNames().contains(lowerCaseFunctionName)) {
       functionType = FunctionType.AGGREGATION_FUNCTION;
-    } else if (BuiltinScalarFunction.getNativeFunctionNames().contains(functionName)) {
+    } else if (BuiltinScalarFunction.getNativeFunctionNames().contains(lowerCaseFunctionName)) {
       functionType = FunctionType.BUILT_IN_SCALAR_FUNCTION;
     } else {
       functionType = FunctionType.UDF;
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
index 4726c88a2c3..acef8984307 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/BuiltInScalarFunctionHelperFactory.java
@@ -26,6 +26,11 @@ import org.apache.iotdb.db.mpp.plan.expression.multi.builtin.helper.RoundFunctio
 import org.apache.iotdb.db.mpp.plan.expression.multi.builtin.helper.SubStringFunctionHelper;
 
 public class BuiltInScalarFunctionHelperFactory {
+
+  private BuiltInScalarFunctionHelperFactory() {
+    // forbidden instantiation
+  }
+
   public static BuiltInScalarFunctionHelper createHelper(String functionName) {
     functionName = functionName.toUpperCase();
     switch (functionName) {
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/helper/CastFunctionHelper.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/helper/CastFunctionHelper.java
index ff6a5e85db0..316fbc8e2ad 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/helper/CastFunctionHelper.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/multi/builtin/helper/CastFunctionHelper.java
@@ -37,7 +37,9 @@ import static org.apache.iotdb.db.constant.SqlConstant.CAST_TYPE;
 public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
   @Override
   public void checkBuiltInScalarFunctionInputDataType(TSDataType tsDataType)
-      throws SemanticException {}
+      throws SemanticException {
+    // needn't check
+  }
 
   @Override
   public TSDataType getBuiltInScalarFunctionReturnType(FunctionExpression functionExpression) {
@@ -73,7 +75,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static int castLongToInt(long value) {
     if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("long value %d is out of range of integer value.", value));
     }
     return (int) value;
@@ -81,7 +83,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static int castFloatToInt(float value) {
     if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Float value %f is out of range of integer value.", value));
     }
     return Math.round(value);
@@ -89,7 +91,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static long castFloatToLong(float value) {
     if (value > Long.MAX_VALUE || value < Long.MIN_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Float value %f is out of range of long value.", value));
     }
     return Math.round((double) value);
@@ -97,7 +99,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static int castDoubleToInt(double value) {
     if (value > Integer.MAX_VALUE || value < Integer.MIN_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Double value %f is out of range of integer value.", value));
     }
     return Math.round((float) value);
@@ -105,7 +107,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static long castDoubleToLong(double value) {
     if (value > Long.MAX_VALUE || value < Long.MIN_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Double value %f is out of range of long value.", value));
     }
     return Math.round(value);
@@ -113,7 +115,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
 
   public static float castDoubleToFloat(double value) {
     if (value > Float.MAX_VALUE || value < -Float.MAX_VALUE) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Double value %f is out of range of float value.", value));
     }
     return (float) value;
@@ -122,7 +124,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
   public static float castTextToFloat(String value) {
     float f = Float.parseFloat(value);
     if (f == Float.POSITIVE_INFINITY || f == Float.NEGATIVE_INFINITY) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Text value %s is out of range of float value.", value));
     }
     return f;
@@ -131,7 +133,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
   public static Double castTextToDouble(String value) {
     double d = Double.parseDouble(value);
     if (d == Double.POSITIVE_INFINITY || d == Double.NEGATIVE_INFINITY) {
-      throw new RuntimeException(
+      throw new SemanticException(
           String.format("Text value %s is out of range of double value.", value));
     }
     return d;
@@ -144,7 +146,7 @@ public class CastFunctionHelper implements BuiltInScalarFunctionHelper {
     } else if (lowerCase.equals("false")) {
       return false;
     } else {
-      throw new RuntimeException(String.format("Invalid text input for boolean type: %s", value));
+      throw new SemanticException(String.format("Invalid text input for boolean type: %s", value));
     }
   }
 }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
index 2b7d7c8f099..8f3e8bbdb41 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/BindTypeForTimeSeriesOperandVisitor.java
@@ -58,7 +58,8 @@ public class BindTypeForTimeSeriesOperandVisitor extends ReconstructVisitor<List
           return reconstructTimeSeriesOperand(
               predicate,
               new MeasurementPath(columnHeader.getColumnName(), columnHeader.getColumnType()));
-        } catch (IllegalPathException ignored) {
+        } catch (IllegalPathException e) {
+          throw new SemanticException(e);
         }
       }
     }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ColumnTransformerVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ColumnTransformerVisitor.java
index 61406fb57dc..ec8b1b4ee27 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ColumnTransformerVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/ColumnTransformerVisitor.java
@@ -84,6 +84,8 @@ public class ColumnTransformerVisitor
     extends ExpressionVisitor<
         ColumnTransformer, ColumnTransformerVisitor.ColumnTransformerVisitorContext> {
 
+  private static final String UNSUPPORTED_EXPRESSION_TYPE = "Unsupported expression type: ";
+
   @Override
   public ColumnTransformer visitExpression(
       Expression expression, ColumnTransformerVisitorContext context) {
@@ -436,7 +438,7 @@ public class ColumnTransformerVisitor
             returnType, childColumnTransformer, regularExpression.getPattern());
       default:
         throw new UnsupportedOperationException(
-            "Unsupported Expression Type: " + expression.getExpressionType());
+            UNSUPPORTED_EXPRESSION_TYPE + expression.getExpressionType());
     }
   }
 
@@ -487,7 +489,7 @@ public class ColumnTransformerVisitor
             returnType, leftColumnTransformer, rightColumnTransformer);
       default:
         throw new UnsupportedOperationException(
-            "Unsupported Expression Type: " + expression.getExpressionType());
+            UNSUPPORTED_EXPRESSION_TYPE + expression.getExpressionType());
     }
   }
 
@@ -507,7 +509,7 @@ public class ColumnTransformerVisitor
           betweenExpression.isNotBetween());
     } else {
       throw new UnsupportedOperationException(
-          "Unsupported Expression Type: " + expression.getExpressionType());
+          UNSUPPORTED_EXPRESSION_TYPE + expression.getExpressionType());
     }
   }
 
@@ -537,6 +539,7 @@ public class ColumnTransformerVisitor
 
     int originSize;
 
+    @SuppressWarnings("squid:S107")
     public ColumnTransformerVisitorContext(
         UDTFContext udtfContext,
         Map<NodeRef<Expression>, TSDataType> expressionTypes,
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java
index d7bf53d9827..7712d37fbaf 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/CompleteMeasurementSchemaVisitor.java
@@ -22,6 +22,7 @@ package org.apache.iotdb.db.mpp.plan.expression.visitor;
 import org.apache.iotdb.commons.path.MeasurementPath;
 import org.apache.iotdb.commons.path.PartialPath;
 import org.apache.iotdb.db.exception.metadata.view.BrokenViewException;
+import org.apache.iotdb.db.exception.sql.SemanticException;
 import org.apache.iotdb.db.mpp.common.schematree.ISchemaTree;
 import org.apache.iotdb.db.mpp.plan.expression.Expression;
 import org.apache.iotdb.db.mpp.plan.expression.binary.BinaryExpression;
@@ -90,17 +91,13 @@ public class CompleteMeasurementSchemaVisitor extends ExpressionVisitor<Expressi
       TimeSeriesOperand timeSeriesOperand, ISchemaTree schemaTree) {
     PartialPath path = timeSeriesOperand.getPath();
     try {
-      try {
-        path.getMeasurementSchema();
-      } catch (Exception notAMeasurementPath) {
-        List<MeasurementPath> actualPaths = schemaTree.searchMeasurementPaths(path).left;
-        if (actualPaths.size() != 1) {
-          throw new BrokenViewException(path.getFullPath(), actualPaths);
-        }
-        return new TimeSeriesOperand(actualPaths.get(0));
+      path.getMeasurementSchema();
+    } catch (Exception notAMeasurementPath) {
+      List<MeasurementPath> actualPaths = schemaTree.searchMeasurementPaths(path).left;
+      if (actualPaths.size() != 1) {
+        throw new SemanticException(new BrokenViewException(path.getFullPath(), actualPaths));
       }
-    } catch (Exception e) {
-      throw new RuntimeException(e);
+      return new TimeSeriesOperand(actualPaths.get(0));
     }
     return timeSeriesOperand;
   }
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
index 753589884af..432cb85d1d1 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/IntermediateLayerVisitor.java
@@ -426,8 +426,7 @@ public class IntermediateLayerVisitor
   }
 
   private IntermediateLayer constructUdfInputIntermediateLayer(
-      FunctionExpression functionExpression, IntermediateLayerVisitorContext context)
-      throws QueryProcessException, IOException {
+      FunctionExpression functionExpression, IntermediateLayerVisitorContext context) {
     List<IntermediateLayer> intermediateLayers = new ArrayList<>();
     for (Expression expression : functionExpression.getExpressions()) {
       intermediateLayers.add(this.process(expression, context));
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
index 5c4ec716075..b74a625bb12 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/TransformToViewExpressionVisitor.java
@@ -204,52 +204,47 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   public ViewExpression visitArithmeticBinaryExpression(
       ArithmeticBinaryExpression arithmeticBinaryExpression, Void context) {
     if (arithmeticBinaryExpression instanceof AdditionExpression) {
-      return this.visitAdditionExpression((AdditionExpression) arithmeticBinaryExpression, context);
+      return this.visitAdditionExpression((AdditionExpression) arithmeticBinaryExpression);
     } else if (arithmeticBinaryExpression instanceof DivisionExpression) {
-      return this.visitDivisionExpression((DivisionExpression) arithmeticBinaryExpression, context);
+      return this.visitDivisionExpression((DivisionExpression) arithmeticBinaryExpression);
     } else if (arithmeticBinaryExpression instanceof ModuloExpression) {
-      return this.visitModuloExpression((ModuloExpression) arithmeticBinaryExpression, context);
+      return this.visitModuloExpression((ModuloExpression) arithmeticBinaryExpression);
     } else if (arithmeticBinaryExpression instanceof MultiplicationExpression) {
       return this.visitMultiplicationExpression(
-          (MultiplicationExpression) arithmeticBinaryExpression, context);
+          (MultiplicationExpression) arithmeticBinaryExpression);
     } else if (arithmeticBinaryExpression instanceof SubtractionExpression) {
-      return this.visitSubtractionExpression(
-          (SubtractionExpression) arithmeticBinaryExpression, context);
+      return this.visitSubtractionExpression((SubtractionExpression) arithmeticBinaryExpression);
     }
-    throw new RuntimeException(
-        new NotSupportedException(
-            "unsupported expression type:" + arithmeticBinaryExpression.getExpressionType()));
+    throw new UnsupportedOperationException(
+        "unsupported expression type:" + arithmeticBinaryExpression.getExpressionType());
   }
 
-  public ViewExpression visitAdditionExpression(
-      AdditionExpression additionExpression, Void context) {
+  public ViewExpression visitAdditionExpression(AdditionExpression additionExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(additionExpression);
     return new AdditionViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitDivisionExpression(
-      DivisionExpression divisionExpression, Void context) {
+  public ViewExpression visitDivisionExpression(DivisionExpression divisionExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(divisionExpression);
     return new DivisionViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitModuloExpression(ModuloExpression moduloExpression, Void context) {
+  public ViewExpression visitModuloExpression(ModuloExpression moduloExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(moduloExpression);
     return new ModuloViewExpression(pair.left, pair.right);
   }
 
   public ViewExpression visitMultiplicationExpression(
-      MultiplicationExpression multiplicationExpression, Void context) {
+      MultiplicationExpression multiplicationExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(multiplicationExpression);
     return new MultiplicationViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitSubtractionExpression(
-      SubtractionExpression subtractionExpression, Void context) {
+  public ViewExpression visitSubtractionExpression(SubtractionExpression subtractionExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(subtractionExpression);
     return new SubtractionViewExpression(pair.left, pair.right);
@@ -261,61 +256,53 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   public ViewExpression visitCompareBinaryExpression(
       CompareBinaryExpression compareBinaryExpression, Void context) {
     if (compareBinaryExpression instanceof EqualToExpression) {
-      return this.visitEqualToExpression((EqualToExpression) compareBinaryExpression, context);
+      return this.visitEqualToExpression((EqualToExpression) compareBinaryExpression);
     } else if (compareBinaryExpression instanceof GreaterEqualExpression) {
-      return this.visitGreaterEqualExpression(
-          (GreaterEqualExpression) compareBinaryExpression, context);
+      return this.visitGreaterEqualExpression((GreaterEqualExpression) compareBinaryExpression);
     } else if (compareBinaryExpression instanceof GreaterThanExpression) {
-      return this.visitGreaterThanExpression(
-          (GreaterThanExpression) compareBinaryExpression, context);
+      return this.visitGreaterThanExpression((GreaterThanExpression) compareBinaryExpression);
     } else if (compareBinaryExpression instanceof LessEqualExpression) {
-      return this.visitLessEqualExpression((LessEqualExpression) compareBinaryExpression, context);
+      return this.visitLessEqualExpression((LessEqualExpression) compareBinaryExpression);
     } else if (compareBinaryExpression instanceof LessThanExpression) {
-      return this.visitLessThanExpression((LessThanExpression) compareBinaryExpression, context);
+      return this.visitLessThanExpression((LessThanExpression) compareBinaryExpression);
     } else if (compareBinaryExpression instanceof NonEqualExpression) {
-      return this.visitNonEqualExpression((NonEqualExpression) compareBinaryExpression, context);
+      return this.visitNonEqualExpression((NonEqualExpression) compareBinaryExpression);
     }
-    throw new RuntimeException(
-        new NotSupportedException(
-            "unsupported expression type:" + compareBinaryExpression.getExpressionType()));
+    throw new UnsupportedOperationException(
+        "unsupported expression type:" + compareBinaryExpression.getExpressionType());
   }
 
-  public ViewExpression visitEqualToExpression(EqualToExpression equalToExpression, Void context) {
+  public ViewExpression visitEqualToExpression(EqualToExpression equalToExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(equalToExpression);
     return new EqualToViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitGreaterEqualExpression(
-      GreaterEqualExpression greaterEqualExpression, Void context) {
+  public ViewExpression visitGreaterEqualExpression(GreaterEqualExpression greaterEqualExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(greaterEqualExpression);
     return new GreaterEqualViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitGreaterThanExpression(
-      GreaterThanExpression greaterThanExpression, Void context) {
+  public ViewExpression visitGreaterThanExpression(GreaterThanExpression greaterThanExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(greaterThanExpression);
     return new GreaterThanViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLessEqualExpression(
-      LessEqualExpression lessEqualExpression, Void context) {
+  public ViewExpression visitLessEqualExpression(LessEqualExpression lessEqualExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(lessEqualExpression);
     return new LessEqualViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLessThanExpression(
-      LessThanExpression lessThanExpression, Void context) {
+  public ViewExpression visitLessThanExpression(LessThanExpression lessThanExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(lessThanExpression);
     return new LessThanViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitNonEqualExpression(
-      NonEqualExpression nonEqualExpression, Void context) {
+  public ViewExpression visitNonEqualExpression(NonEqualExpression nonEqualExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(nonEqualExpression);
     return new NonEqualViewExpression(pair.left, pair.right);
@@ -327,23 +314,21 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   public ViewExpression visitLogicBinaryExpression(
       LogicBinaryExpression logicBinaryExpression, Void context) {
     if (logicBinaryExpression instanceof LogicAndExpression) {
-      return this.visitLogicAndExpression((LogicAndExpression) logicBinaryExpression, context);
+      return this.visitLogicAndExpression((LogicAndExpression) logicBinaryExpression);
     } else if (logicBinaryExpression instanceof LogicOrExpression) {
-      return this.visitLogicOrExpression((LogicOrExpression) logicBinaryExpression, context);
+      return this.visitLogicOrExpression((LogicOrExpression) logicBinaryExpression);
     }
-    throw new RuntimeException(
-        new NotSupportedException(
-            "unsupported expression type:" + logicBinaryExpression.getExpressionType()));
+    throw new UnsupportedOperationException(
+        "unsupported expression type:" + logicBinaryExpression.getExpressionType());
   }
 
-  public ViewExpression visitLogicAndExpression(
-      LogicAndExpression logicAndExpression, Void context) {
+  public ViewExpression visitLogicAndExpression(LogicAndExpression logicAndExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(logicAndExpression);
     return new LogicAndViewExpression(pair.left, pair.right);
   }
 
-  public ViewExpression visitLogicOrExpression(LogicOrExpression logicOrExpression, Void context) {
+  public ViewExpression visitLogicOrExpression(LogicOrExpression logicOrExpression) {
     Pair<ViewExpression, ViewExpression> pair =
         this.getExpressionsForBinaryExpression(logicOrExpression);
     return new LogicOrViewExpression(pair.left, pair.right);
@@ -355,7 +340,7 @@ public class TransformToViewExpressionVisitor extends ExpressionVisitor<ViewExpr
   // region Ternary Expressions
   @Override
   public ViewExpression visitTernaryExpression(TernaryExpression ternaryExpression, Void context) {
-    throw new RuntimeException(new NotSupportedException("Can not construct abstract class."));
+    throw new NotSupportedException("Can not construct abstract class.");
   }
 
   @Override
diff --git a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
index f6331c98f2e..e253946d6ab 100644
--- a/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
+++ b/server/src/main/java/org/apache/iotdb/db/mpp/plan/expression/visitor/cartesian/BindSchemaForExpressionVisitor.java
@@ -122,16 +122,15 @@ public class BindSchemaForExpressionVisitor extends CartesianProductVisitor<ISch
   public static Expression transformViewPath(
       MeasurementPath measurementPath, ISchemaTree schemaTree) {
     IMeasurementSchema measurementSchema = measurementPath.getMeasurementSchema();
-    if (measurementSchema.isLogicalView()) {
-      ViewExpression viewExpression = ((LogicalViewSchema) measurementSchema).getExpression();
-      // complete measurementPaths in expressions.
-      Expression expression = new TransformToExpressionVisitor().process(viewExpression, null);
-      expression = new CompleteMeasurementSchemaVisitor().process(expression, schemaTree);
-      return expression;
-    } else {
-      throw new RuntimeException(
-          new UnsupportedOperationException(
-              "Can not construct expression using non view path in transformViewPath!"));
+    if (!measurementSchema.isLogicalView()) {
+      throw new IllegalArgumentException(
+          "Can not construct expression using non view path in transformViewPath!");
     }
+
+    ViewExpression viewExpression = ((LogicalViewSchema) measurementSchema).getExpression();
+    // complete measurementPaths in expressions.
+    Expression expression = new TransformToExpressionVisitor().process(viewExpression, null);
+    expression = new CompleteMeasurementSchemaVisitor().process(expression, schemaTree);
+    return expression;
   }
 }