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 7dc5179def6 Fix select-distinct when there is no order by and select
items contains expression
add e92be6f63ab [Table Model Subquery] Support uncorrelated in predicate
(#14438)
No new revisions were added by this update.
Summary of changes:
.../it/query/recent/IoTDBTableAggregationIT.java | 4 -
.../recent/subquery/SubqueryDataSetUtils.java | 12 +-
.../IoTDBUncorrelatedInPredicateSubqueryIT.java | 319 +++++++++++++++++++++
.../IoTDBUncorrelatedScalarSubqueryIT.java | 4 +-
.../operator/process/EnforceSingleRowOperator.java | 5 +-
.../merge/comparator/JoinKeyComparatorFactory.java | 2 +-
...perator.java => MergeSortSemiJoinOperator.java} | 130 ++++++---
.../plan/planner/TableOperatorGenerator.java | 73 ++++-
.../plan/planner/plan/node/PlanGraphPrinter.java | 12 +
.../plan/planner/plan/node/PlanNodeType.java | 4 +
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../relational/analyzer/ExpressionAnalyzer.java | 31 +-
.../plan/relational/planner/IrTypeAnalyzer.java | 11 +
.../plan/relational/planner/SubqueryPlanner.java | 33 ++-
.../distribute/TableDistributedPlanGenerator.java | 15 +
.../planner/iterative/rule/PruneApplyColumns.java | 138 +++++++++
...Correlation.java => PruneApplyCorrelation.java} | 38 +--
.../iterative/rule/PruneApplySourceColumns.java | 95 ++++++
...ava => RemoveUnreferencedScalarApplyNodes.java} | 19 +-
.../rule/RemoveUnreferencedScalarSubqueries.java | 70 +++++
.../TransformFilteringSemiJoinToInnerJoin.java | 150 ++++++++++
...mUncorrelatedInPredicateSubqueryToSemiJoin.java | 95 ++++++
.../plan/relational/planner/node/Patterns.java | 7 +-
.../plan/relational/planner/node/SemiJoinNode.java | 181 ++++++++++++
.../optimizations/LogicalOptimizeFactory.java | 18 +-
.../optimizations/PushPredicateIntoTableScan.java | 204 +++++++++++++
.../optimizations/UnaliasSymbolReferences.java | 29 ++
.../plan/relational/sql/parser/AstBuilder.java | 5 +-
.../plan/relational/planner/SubqueryTest.java | 98 +++++++
.../planner/assertions/PlanMatchPattern.java | 11 +
.../{SortMatcher.java => SemiJoinMatcher.java} | 41 ++-
31 files changed, 1735 insertions(+), 124 deletions(-)
create mode 100644
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/uncorrelated/IoTDBUncorrelatedInPredicateSubqueryIT.java
rename
integration-test/src/test/java/org/apache/iotdb/relational/it/query/recent/subquery/{
=> uncorrelated}/IoTDBUncorrelatedScalarSubqueryIT.java (99%)
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/execution/operator/source/relational/{MergeSortInnerJoinOperator.java
=> MergeSortSemiJoinOperator.java} (58%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplyColumns.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{PruneCorrelatedJoinCorrelation.java
=> PruneApplyCorrelation.java} (62%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneApplySourceColumns.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/{RemoveRedundantEnforceSingleRowNode.java
=> RemoveUnreferencedScalarApplyNodes.java} (67%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveUnreferencedScalarSubqueries.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformFilteringSemiJoinToInnerJoin.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/TransformUncorrelatedInPredicateSubqueryToSemiJoin.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/SemiJoinNode.java
copy
iotdb-core/datanode/src/test/java/org/apache/iotdb/db/queryengine/plan/relational/planner/assertions/{SortMatcher.java
=> SemiJoinMatcher.java} (59%)