Skip to content

Commit 2d20fc8

Browse files
authored
Split "other" operations from "write" in QueryType (#17485)
1 parent 1aba873 commit 2d20fc8

File tree

75 files changed

+151
-146
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

75 files changed

+151
-146
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/common/MPPQueryContext.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -500,7 +500,7 @@ public boolean isUserQuery() {
500500
}
501501

502502
public boolean isQuery() {
503-
return queryType != QueryType.WRITE;
503+
return queryType == QueryType.READ || queryType == QueryType.READ_WRITE;
504504
}
505505

506506
public void setUserQuery(boolean userQuery) {

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeUtils.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -311,7 +311,7 @@ public static void analyzeDataPartition(
311311
}
312312

313313
public static void analyzeDelete(final Delete node, final MPPQueryContext queryContext) {
314-
queryContext.setQueryType(QueryType.WRITE);
314+
queryContext.setQueryType(QueryType.OTHER);
315315
validateSchema(node, queryContext);
316316

317317
try (final ConfigNodeClient configNodeClient =

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/AnalyzeVisitor.java

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -2492,7 +2492,7 @@ private boolean checkSorted(long[] times) {
24922492
@Override
24932493
public Analysis visitCreateTimeseries(
24942494
CreateTimeSeriesStatement createTimeSeriesStatement, MPPQueryContext context) {
2495-
context.setQueryType(QueryType.WRITE);
2495+
context.setQueryType(QueryType.OTHER);
24962496
if (createTimeSeriesStatement.getPath().getNodeLength() < 3) {
24972497
throw new SemanticException(
24982498
new IllegalPathException(createTimeSeriesStatement.getPath().getFullPath()));
@@ -2594,7 +2594,7 @@ private void analyzeSchemaProps(final List<Map<String, String>> propsList) {
25942594
@Override
25952595
public Analysis visitCreateAlignedTimeseries(
25962596
CreateAlignedTimeSeriesStatement createAlignedTimeSeriesStatement, MPPQueryContext context) {
2597-
context.setQueryType(QueryType.WRITE);
2597+
context.setQueryType(QueryType.OTHER);
25982598
if (createAlignedTimeSeriesStatement.getDevicePath().getNodeLength() < 2) {
25992599
throw new SemanticException(
26002600
new IllegalPathException(createAlignedTimeSeriesStatement.getDevicePath().getFullPath()));
@@ -2632,7 +2632,7 @@ public Analysis visitCreateAlignedTimeseries(
26322632
public Analysis visitInternalCreateTimeseries(
26332633
InternalCreateTimeSeriesStatement internalCreateTimeSeriesStatement,
26342634
MPPQueryContext context) {
2635-
context.setQueryType(QueryType.WRITE);
2635+
context.setQueryType(QueryType.OTHER);
26362636

26372637
Analysis analysis = new Analysis();
26382638
analysis.setRealStatement(internalCreateTimeSeriesStatement);
@@ -2660,7 +2660,7 @@ public Analysis visitInternalCreateTimeseries(
26602660
public Analysis visitInternalCreateMultiTimeSeries(
26612661
final InternalCreateMultiTimeSeriesStatement internalCreateMultiTimeSeriesStatement,
26622662
final MPPQueryContext context) {
2663-
context.setQueryType(QueryType.WRITE);
2663+
context.setQueryType(QueryType.OTHER);
26642664

26652665
final Analysis analysis = new Analysis();
26662666
analysis.setRealStatement(internalCreateMultiTimeSeriesStatement);
@@ -2685,7 +2685,7 @@ public Analysis visitInternalCreateMultiTimeSeries(
26852685
public Analysis visitCreateMultiTimeSeries(
26862686
final CreateMultiTimeSeriesStatement createMultiTimeSeriesStatement,
26872687
final MPPQueryContext context) {
2688-
context.setQueryType(QueryType.WRITE);
2688+
context.setQueryType(QueryType.OTHER);
26892689
final Analysis analysis = new Analysis();
26902690
analysis.setRealStatement(createMultiTimeSeriesStatement);
26912691

@@ -2713,7 +2713,7 @@ public Analysis visitCreateMultiTimeSeries(
27132713
@Override
27142714
public Analysis visitAlterTimeSeries(
27152715
AlterTimeSeriesStatement alterTimeSeriesStatement, MPPQueryContext context) {
2716-
context.setQueryType(QueryType.WRITE);
2716+
context.setQueryType(QueryType.OTHER);
27172717
Analysis analysis = new Analysis();
27182718
analysis.setRealStatement(alterTimeSeriesStatement);
27192719

@@ -2900,7 +2900,7 @@ public Analysis visitPipeEnrichedStatement(
29002900

29012901
@Override
29022902
public Analysis visitLoadFile(LoadTsFileStatement loadTsFileStatement, MPPQueryContext context) {
2903-
context.setQueryType(QueryType.WRITE);
2903+
context.setQueryType(QueryType.OTHER);
29042904

29052905
try (final LoadTsFileAnalyzer loadTsFileAnalyzer =
29062906
new LoadTsFileAnalyzer(
@@ -3391,7 +3391,7 @@ private Analysis visitSchemaNodeManagementPartition(
33913391
@Override
33923392
public Analysis visitDeleteData(
33933393
DeleteDataStatement deleteDataStatement, MPPQueryContext context) {
3394-
context.setQueryType(QueryType.WRITE);
3394+
context.setQueryType(QueryType.OTHER);
33953395
Analysis analysis = new Analysis();
33963396
analysis.setRealStatement(deleteDataStatement);
33973397

@@ -3471,7 +3471,7 @@ public Analysis visitDeleteData(
34713471
public Analysis visitCreateSchemaTemplate(
34723472
CreateSchemaTemplateStatement createTemplateStatement, MPPQueryContext context) {
34733473

3474-
context.setQueryType(QueryType.WRITE);
3474+
context.setQueryType(QueryType.OTHER);
34753475
List<String> measurements = createTemplateStatement.getMeasurements();
34763476
Set<String> measurementsSet = new HashSet<>(measurements);
34773477
if (measurementsSet.size() < measurements.size()) {
@@ -3486,7 +3486,7 @@ public Analysis visitCreateSchemaTemplate(
34863486
@Override
34873487
public Analysis visitSetSchemaTemplate(
34883488
SetSchemaTemplateStatement setSchemaTemplateStatement, MPPQueryContext context) {
3489-
context.setQueryType(QueryType.WRITE);
3489+
context.setQueryType(QueryType.OTHER);
34903490
Analysis analysis = new Analysis();
34913491
analysis.setRealStatement(setSchemaTemplateStatement);
34923492
return analysis;
@@ -3495,7 +3495,7 @@ public Analysis visitSetSchemaTemplate(
34953495
@Override
34963496
public Analysis visitActivateTemplate(
34973497
ActivateTemplateStatement activateTemplateStatement, MPPQueryContext context) {
3498-
context.setQueryType(QueryType.WRITE);
3498+
context.setQueryType(QueryType.OTHER);
34993499
Analysis analysis = new Analysis();
35003500
analysis.setRealStatement(activateTemplateStatement);
35013501

@@ -3525,7 +3525,7 @@ public Analysis visitActivateTemplate(
35253525
@Override
35263526
public Analysis visitBatchActivateTemplate(
35273527
BatchActivateTemplateStatement batchActivateTemplateStatement, MPPQueryContext context) {
3528-
context.setQueryType(QueryType.WRITE);
3528+
context.setQueryType(QueryType.OTHER);
35293529
Analysis analysis = new Analysis();
35303530
analysis.setRealStatement(batchActivateTemplateStatement);
35313531

@@ -3561,7 +3561,7 @@ public Analysis visitBatchActivateTemplate(
35613561
public Analysis visitInternalBatchActivateTemplate(
35623562
InternalBatchActivateTemplateStatement internalBatchActivateTemplateStatement,
35633563
MPPQueryContext context) {
3564-
context.setQueryType(QueryType.WRITE);
3564+
context.setQueryType(QueryType.OTHER);
35653565
Analysis analysis = new Analysis();
35663566
analysis.setRealStatement(internalBatchActivateTemplateStatement);
35673567

@@ -3751,7 +3751,7 @@ private boolean analyzeWhereForShowStatements(
37513751
public Analysis visitCreateLogicalView(
37523752
CreateLogicalViewStatement createLogicalViewStatement, MPPQueryContext context) {
37533753
Analysis analysis = new Analysis();
3754-
context.setQueryType(QueryType.WRITE);
3754+
context.setQueryType(QueryType.OTHER);
37553755
analysis.setRealStatement(createLogicalViewStatement);
37563756

37573757
if (createLogicalViewStatement.getViewExpressions() == null) {

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/QueryType.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
package org.apache.iotdb.db.queryengine.plan.analyze;
2121

2222
public enum QueryType {
23+
OTHER,
2324
WRITE,
2425
READ,
2526
// Currently READ_WRITE is only used by insert into query, which means it behaves as a READ query

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/QueryExecution.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -212,7 +212,7 @@ public void start() {
212212
// When some columns in one insert failed, other column will continue executing insertion.
213213
// The error message should be return to client, therefore we need to set it after the insertion
214214
// of other column finished.
215-
if (context.getQueryType() == QueryType.WRITE && analysis.isFailed()) {
215+
if (!context.isQuery() && analysis.isFailed()) {
216216
stateMachine.transitionToFailed(analysis.getFailStatus());
217217
}
218218
}
@@ -625,7 +625,7 @@ private void initResultHandle() {
625625
@SuppressWarnings("squid:S3776") // Suppress high Cognitive Complexity warning
626626
private ExecutionResult getExecutionResult(QueryState state) {
627627
TSStatusCode statusCode;
628-
if (context.getQueryType() == QueryType.WRITE && analysis.isFailed()) {
628+
if (!context.isQuery() && analysis.isFailed()) {
629629
// For WRITE, the state should be FINISHED
630630
statusCode =
631631
state == QueryState.FINISHED
@@ -671,7 +671,7 @@ public DistributedQueryPlan getDistributedPlan() {
671671

672672
@Override
673673
public boolean isQuery() {
674-
return context.getQueryType() != QueryType.WRITE;
674+
return context.isQuery();
675675
}
676676

677677
@Override

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/execution/config/ConfigExecution.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -306,7 +306,7 @@ public DatasetHeader getDatasetHeader() {
306306

307307
@Override
308308
public boolean isQuery() {
309-
return context.getQueryType() != QueryType.WRITE;
309+
return context.isQuery();
310310
}
311311

312312
@Override

0 commit comments

Comments
 (0)