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 <[email protected]> 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;
