This is an automated email from the ASF dual-hosted git repository.
caogaofei pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 3384bd69a92 Subscription: add parameter to the clean up method to
distinguish the force close situation & fix reference count management for
iteration snapshot (#14966)
add a1b9f7938af [Table Model Subquery] Support Exists subquery
No new revisions were added by this update.
Summary of changes:
.../db/it/IoTDBMultiTAGsWithAttributesTableIT.java | 12 +-
.../IoTDBCorrelatedExistsSubqueryIT.java | 428 +++++++++++++
.../IoTDBUncorrelatedExistsSubqueryIT.java | 391 ++++++++++++
...owOperator.java => AssignUniqueIdOperator.java} | 75 ++-
...perator.java => MergeSortLeftJoinOperator.java} | 57 +-
.../plan/planner/TableOperatorGenerator.java | 53 ++
.../plan/planner/plan/node/PlanGraphPrinter.java | 10 +
.../plan/planner/plan/node/PlanNodeType.java | 4 +
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../PredicatePushIntoMetadataChecker.java | 7 +-
.../distribute/TableDistributedPlanGenerator.java | 58 +-
.../iterative/rule/AggregationDecorrelation.java | 83 +++
...olumns.java => PruneAssignUniqueIdColumns.java} | 20 +-
.../iterative/rule/RemoveRedundantExists.java | 104 +++
...orrelatedDistinctAggregationWithProjection.java | 186 ++++++
...elatedDistinctAggregationWithoutProjection.java | 167 +++++
...mCorrelatedGlobalAggregationWithProjection.java | 318 ++++++++++
...rrelatedGlobalAggregationWithoutProjection.java | 302 +++++++++
...CorrelatedGroupedAggregationWithProjection.java | 252 ++++++++
...relatedGroupedAggregationWithoutProjection.java | 233 +++++++
.../rule/TransformCorrelatedJoinToJoin.java | 99 +++
.../rule/TransformExistsApplyToCorrelatedJoin.java | 214 +++++++
...forceSingleRowNode.java => AssignUniqueId.java} | 55 +-
.../plan/relational/planner/node/Patterns.java | 27 +-
.../planner/optimizations/JoinUtils.java | 249 +++++---
.../optimizations/LogicalOptimizeFactory.java | 40 +-
.../optimizations/PlanNodeDecorrelator.java | 699 +++++++++++++++++++++
.../optimizations/PushPredicateIntoTableScan.java | 143 ++++-
.../optimizations/UnaliasSymbolReferences.java | 13 +
.../relational/planner/optimizations/Util.java | 19 +
.../relational/planner/CorrelatedSubqueryTest.java | 153 +++++
...ueryTest.java => UncorrelatedSubqueryTest.java} | 104 ++-
...liasPresent.java => AssignUniqueIdMatcher.java} | 24 +-
.../planner/assertions/PlanMatchPattern.java | 6 +
34 files changed, 4346 insertions(+), 264 deletions(-)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/correlated/IoTDBCorrelatedExistsSubqueryIT.java
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/uncorrelated/IoTDBUncorrelatedExistsSubqueryIT.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/process/{EnforceSingleRowOperator.java
=> AssignUniqueIdOperator.java} (55%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/{MergeSortInnerJoinOperator.java
=> MergeSortLeftJoinOperator.java} (80%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/AggregationDecorrelation.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneFillColumns.java
=> PruneAssignUniqueIdColumns.java} (71%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantExists.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedDistinctAggregationWithoutProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGlobalAggregationWithoutProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedGroupedAggregationWithoutProjection.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformCorrelatedJoinToJoin.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformExistsApplyToCorrelatedJoin.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/{EnforceSingleRowNode.java
=> AssignUniqueId.java} (62%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanNodeDecorrelator.java
create mode 100644
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/CorrelatedSubqueryTest.java
rename
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/{SubqueryTest.java
=> UncorrelatedSubqueryTest.java} (85%)
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{AliasPresent.java
=> AssignUniqueIdMatcher.java} (72%)