Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -500,7 +500,7 @@ public boolean isUserQuery() {
}

public boolean isQuery() {
return queryType != QueryType.WRITE;
return queryType == QueryType.READ || queryType == QueryType.READ_WRITE;
}

public void setUserQuery(boolean userQuery) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -311,7 +311,7 @@ public static void analyzeDataPartition(
}

public static void analyzeDelete(final Delete node, final MPPQueryContext queryContext) {
queryContext.setQueryType(QueryType.WRITE);
queryContext.setQueryType(QueryType.OTHER);
validateSchema(node, queryContext);

try (final ConfigNodeClient configNodeClient =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -549,7 +549,7 @@
return analyzeLastSourceAndDataPartition(analysis, selectExpressions, schemaTree, context);
}

private Analysis analyzeLastSourceAndDataPartition(

Check warning on line 552 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 73 to 64, Complexity from 15 to 14, Nesting Level from 5 to 2, Number of Variables from 20 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ2PtQfhfdtVFtrWisnT&open=AZ2PtQfhfdtVFtrWisnT&pullRequest=17485
Analysis analysis,
List<Expression> selectExpressions,
ISchemaTree schemaTree,
Expand Down Expand Up @@ -2167,7 +2167,7 @@
* contains [XX, +oo), res.right.right = true
*/
@SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
public static Pair<List<TTimePartitionSlot>, Pair<Boolean, Boolean>> getTimePartitionSlotList(

Check warning on line 2170 in iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java

View check run for this annotation

SonarQubeCloud / SonarCloud Code Analysis

A "Brain Method" was detected. Refactor it to reduce at least one of the following metrics: LOC from 71 to 64, Complexity from 15 to 14, Nesting Level from 3 to 2, Number of Variables from 14 to 6.

See more on https://sonarcloud.io/project/issues?id=apache_iotdb&issues=AZ2PtQfhfdtVFtrWisnU&open=AZ2PtQfhfdtVFtrWisnU&pullRequest=17485
Filter timeFilter, MPPQueryContext context) {
if (timeFilter == null) {
// (-oo, +oo)
Expand Down Expand Up @@ -2492,7 +2492,7 @@
@Override
public Analysis visitCreateTimeseries(
CreateTimeSeriesStatement createTimeSeriesStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
if (createTimeSeriesStatement.getPath().getNodeLength() < 3) {
throw new SemanticException(
new IllegalPathException(createTimeSeriesStatement.getPath().getFullPath()));
Expand Down Expand Up @@ -2594,7 +2594,7 @@
@Override
public Analysis visitCreateAlignedTimeseries(
CreateAlignedTimeSeriesStatement createAlignedTimeSeriesStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
if (createAlignedTimeSeriesStatement.getDevicePath().getNodeLength() < 2) {
throw new SemanticException(
new IllegalPathException(createAlignedTimeSeriesStatement.getDevicePath().getFullPath()));
Expand Down Expand Up @@ -2632,7 +2632,7 @@
public Analysis visitInternalCreateTimeseries(
InternalCreateTimeSeriesStatement internalCreateTimeSeriesStatement,
MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);

Analysis analysis = new Analysis();
analysis.setRealStatement(internalCreateTimeSeriesStatement);
Expand Down Expand Up @@ -2660,7 +2660,7 @@
public Analysis visitInternalCreateMultiTimeSeries(
final InternalCreateMultiTimeSeriesStatement internalCreateMultiTimeSeriesStatement,
final MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);

final Analysis analysis = new Analysis();
analysis.setRealStatement(internalCreateMultiTimeSeriesStatement);
Expand All @@ -2685,7 +2685,7 @@
public Analysis visitCreateMultiTimeSeries(
final CreateMultiTimeSeriesStatement createMultiTimeSeriesStatement,
final MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
final Analysis analysis = new Analysis();
analysis.setRealStatement(createMultiTimeSeriesStatement);

Expand Down Expand Up @@ -2713,7 +2713,7 @@
@Override
public Analysis visitAlterTimeSeries(
AlterTimeSeriesStatement alterTimeSeriesStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(alterTimeSeriesStatement);

Expand Down Expand Up @@ -2900,7 +2900,7 @@

@Override
public Analysis visitLoadFile(LoadTsFileStatement loadTsFileStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);

try (final LoadTsFileAnalyzer loadTsFileAnalyzer =
new LoadTsFileAnalyzer(
Expand Down Expand Up @@ -3391,7 +3391,7 @@
@Override
public Analysis visitDeleteData(
DeleteDataStatement deleteDataStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(deleteDataStatement);

Expand Down Expand Up @@ -3471,7 +3471,7 @@
public Analysis visitCreateSchemaTemplate(
CreateSchemaTemplateStatement createTemplateStatement, MPPQueryContext context) {

context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
List<String> measurements = createTemplateStatement.getMeasurements();
Set<String> measurementsSet = new HashSet<>(measurements);
if (measurementsSet.size() < measurements.size()) {
Expand All @@ -3486,7 +3486,7 @@
@Override
public Analysis visitSetSchemaTemplate(
SetSchemaTemplateStatement setSchemaTemplateStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(setSchemaTemplateStatement);
return analysis;
Expand All @@ -3495,7 +3495,7 @@
@Override
public Analysis visitActivateTemplate(
ActivateTemplateStatement activateTemplateStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(activateTemplateStatement);

Expand Down Expand Up @@ -3525,7 +3525,7 @@
@Override
public Analysis visitBatchActivateTemplate(
BatchActivateTemplateStatement batchActivateTemplateStatement, MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(batchActivateTemplateStatement);

Expand Down Expand Up @@ -3561,7 +3561,7 @@
public Analysis visitInternalBatchActivateTemplate(
InternalBatchActivateTemplateStatement internalBatchActivateTemplateStatement,
MPPQueryContext context) {
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
Analysis analysis = new Analysis();
analysis.setRealStatement(internalBatchActivateTemplateStatement);

Expand Down Expand Up @@ -3751,7 +3751,7 @@
public Analysis visitCreateLogicalView(
CreateLogicalViewStatement createLogicalViewStatement, MPPQueryContext context) {
Analysis analysis = new Analysis();
context.setQueryType(QueryType.WRITE);
context.setQueryType(QueryType.OTHER);
analysis.setRealStatement(createLogicalViewStatement);

if (createLogicalViewStatement.getViewExpressions() == null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
package org.apache.iotdb.db.queryengine.plan.analyze;

public enum QueryType {
OTHER,
WRITE,
READ,
// Currently READ_WRITE is only used by insert into query, which means it behaves as a READ query
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,7 @@ public void start() {
// When some columns in one insert failed, other column will continue executing insertion.
// The error message should be return to client, therefore we need to set it after the insertion
// of other column finished.
if (context.getQueryType() == QueryType.WRITE && analysis.isFailed()) {
if (!context.isQuery() && analysis.isFailed()) {
stateMachine.transitionToFailed(analysis.getFailStatus());
}
}
Expand Down Expand Up @@ -625,7 +625,7 @@ private void initResultHandle() {
@SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
private ExecutionResult getExecutionResult(QueryState state) {
TSStatusCode statusCode;
if (context.getQueryType() == QueryType.WRITE && analysis.isFailed()) {
if (!context.isQuery() && analysis.isFailed()) {
// For WRITE, the state should be FINISHED
statusCode =
state == QueryState.FINISHED
Expand Down Expand Up @@ -671,7 +671,7 @@ public DistributedQueryPlan getDistributedPlan() {

@Override
public boolean isQuery() {
return context.getQueryType() != QueryType.WRITE;
return context.isQuery();
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -306,7 +306,7 @@ public DatasetHeader getDatasetHeader() {

@Override
public boolean isQuery() {
return context.getQueryType() != QueryType.WRITE;
return context.isQuery();
}

@Override
Expand Down
Loading
Loading