This is an automated email from the ASF dual-hosted git repository.
jiangtian pushed a change to branch TableModelIngestion
in repository https://gitbox.apache.org/repos/asf/iotdb.git
from 7337f641a37 add license
add 3145d189530 Introduce IterativeOptimizer and adapt
ProjectOffPushDownRules, InlineProjectionsRules
add 990d6a3a57e Merge branch 'ty/TableModelGrammar' into
TableModelIngestion
No new revisions were added by this update.
Summary of changes:
.../java/org/apache/iotdb/rpc/TSStatusCode.java | 2 +-
.../plan/planner/plan/node/PlanNode.java | 4 +
.../plan/planner/plan/node/PlanVisitor.java | 5 +
.../querystats/PlanOptimizersStatsCollector.java | 75 ++
.../querystats/QueryPlanOptimizerStatistics.java | 57 ++
.../querystats/QueryPlanOptimizerStats.java | 84 ++
.../plan/relational/planner/Assignments.java | 20 +
.../relational/planner/ExpressionExtractor.java | 117 +++
.../planner/ExpressionSymbolInliner.java | 65 ++
.../plan/relational/planner/LogicalPlanner.java | 85 +-
.../plan/relational/planner/PlanBuilder.java | 4 +-
.../plan/relational/planner/PlanNodeSearcher.java | 226 +++++
.../plan/relational/planner/QueryPlanner.java | 3 +-
.../plan/relational/planner/SymbolsExtractor.java | 200 +++++
.../plan/relational/planner/ir/IrUtils.java | 5 +
.../GroupReference.java} | 72 +-
.../planner/iterative/IterativeOptimizer.java | 365 ++++++++
.../plan/relational/planner/iterative/Lookup.java | 65 ++
.../plan/relational/planner/iterative/Memo.java | 225 +++++
.../plan/relational/planner/iterative/Plans.java | 54 ++
.../plan/relational/planner/iterative/Rule.java | 87 ++
.../relational/planner/iterative/RuleIndex.java | 76 ++
.../relational/planner/iterative/RuleStats.java | 53 ++
.../planner/iterative/RuleStatsRecorder.java | 45 +
.../planner/iterative/rule/InlineProjections.java | 220 +++++
.../iterative/rule/ProjectOffPushDownRule.java | 67 ++
.../planner/iterative/rule/PruneFilterColumns.java | 46 +
.../planner/iterative/rule/PruneLimitColumns.java | 36 +
.../planner/iterative/rule/PruneOffsetColumns.java | 36 +
.../iterative/rule/PruneOutputSourceColumns.java | 43 +
.../iterative/rule/PruneProjectColumns.java | 39 +
.../planner/iterative/rule/PruneSortColumns.java | 44 +
.../iterative/rule/PruneTableScanColumns.java | 102 +++
.../rule/RemoveRedundantIdentityProjections.java | 48 +
.../relational/planner/iterative/rule/Util.java | 137 +++
.../relational/planner/node/ChildReplacer.java | 32 +
.../plan/relational/planner/node/CollectNode.java | 12 +
.../plan/relational/planner/node/FilterNode.java | 6 +
.../plan/relational/planner/node/LimitNode.java | 11 +
.../relational/planner/node/MergeSortNode.java | 18 +
.../plan/relational/planner/node/OffsetNode.java | 6 +
.../plan/relational/planner/node/OutputNode.java | 6 +
.../plan/relational/planner/node/Patterns.java | 429 +++++++++
.../plan/relational/planner/node/ProjectNode.java | 10 +
.../plan/relational/planner/node/SortNode.java | 6 +
.../relational/planner/node/TableScanNode.java | 12 +
.../plan/relational/planner/node/TopKNode.java | 22 +
.../optimizations/AdaptivePlanOptimizer.java | 56 ++
.../planner/optimizations/PlanOptimizer.java | 77 ++
.../planner/optimizations/PruneUnUsedColumns.java | 145 ---
.../RemoveRedundantIdentityProjections.java | 102 ---
.../plan/relational/utils/MoreLists.java | 53 ++
.../plan/relational/utils/matching/Capture.java | 43 +
.../plan/relational/utils/matching/Captures.java | 86 ++
.../relational/utils/matching/DefaultPrinter.java | 77 ++
.../plan/relational/utils/matching/Match.java | 66 ++
.../plan/relational/utils/matching/Pattern.java | 120 +++
.../relational/utils/matching/PatternVisitor.java | 46 +
.../plan/relational/utils/matching/Property.java | 89 ++
.../relational/utils/matching/PropertyPattern.java | 51 ++
.../utils/matching/pattern/CapturePattern.java | 53 ++
.../utils/matching/pattern/EqualsPattern.java | 53 ++
.../utils/matching/pattern/FilterPattern.java | 55 ++
.../utils/matching/pattern/TypeOfPattern.java | 59 ++
.../utils/matching/pattern/WithPattern.java | 65 ++
.../plan/relational/analyzer/AnalyzerTest.java | 82 +-
.../analyzer/LimitOffsetPushDownTest.java | 40 +-
.../plan/relational/analyzer/SortTest.java | 999 +++++++--------------
68 files changed, 4756 insertions(+), 1043 deletions(-)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/PlanOptimizersStatsCollector.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/QueryPlanOptimizerStatistics.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/execution/querystats/QueryPlanOptimizerStats.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionExtractor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/ExpressionSymbolInliner.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/PlanNodeSearcher.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/SymbolsExtractor.java
copy
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/{node/OffsetNode.java
=> iterative/GroupReference.java} (51%)
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/IterativeOptimizer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Lookup.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Memo.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Plans.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/Rule.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleIndex.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleStats.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/RuleStatsRecorder.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/InlineProjections.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/ProjectOffPushDownRule.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneFilterColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneLimitColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOffsetColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneOutputSourceColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneProjectColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneSortColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/PruneTableScanColumns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/RemoveRedundantIdentityProjections.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/iterative/rule/Util.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/ChildReplacer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/node/Patterns.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/AdaptivePlanOptimizer.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PlanOptimizer.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/PruneUnUsedColumns.java
delete mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/planner/optimizations/RemoveRedundantIdentityProjections.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/MoreLists.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Capture.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Captures.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/DefaultPrinter.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Match.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Pattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PatternVisitor.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/Property.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/PropertyPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/CapturePattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/EqualsPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/FilterPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/TypeOfPattern.java
create mode 100644
iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/utils/matching/pattern/WithPattern.java