This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


    from 9b32d42ee4 [Fix](multi-catalog) fix all nested type test which 
introduced by #19518(support insert-only transactional table). (#20194)
     add 72cfe5865a [feat](optimizer) Support CTE reuse (#19934)

No new revisions were added by this update.

Summary of changes:
 .../org/apache/doris/nereids/CascadesContext.java  |  112 +
 .../org/apache/doris/nereids/StatementContext.java |    7 +
 .../apache/doris/nereids/analyzer/CTEContext.java  |   61 +-
 .../glue/translator/PhysicalPlanTranslator.java    |  119 +
 .../glue/translator/PlanTranslatorContext.java     |   14 +
 .../java/org/apache/doris/nereids/jobs/Job.java    |    5 +
 .../doris/nereids/jobs/batch/NereidsRewriter.java  |  219 +-
 .../doris/nereids/jobs/cascades/ApplyRuleJob.java  |    2 +
 .../nereids/jobs/cascades/CostAndEnforcerJob.java  |    1 +
 .../nereids/jobs/cascades/DeriveStatsJob.java      |   25 +-
 .../doris/nereids/parser/LogicalPlanBuilder.java   |    2 +-
 .../properties/ChildOutputPropertyDeriver.java     |   25 +
 .../org/apache/doris/nereids/rules/RuleSet.java    |   10 +-
 .../org/apache/doris/nereids/rules/RuleType.java   |   14 +
 .../nereids/rules/analysis/BindExpression.java     |   14 +
 .../doris/nereids/rules/analysis/BindRelation.java |   18 +-
 .../doris/nereids/rules/analysis/RegisterCTE.java  |   54 +-
 .../nereids/rules/analysis/SubExprAnalyzer.java    |    4 +-
 .../LogicalCTEAnchorToPhysicalCTEAnchor.java       |   37 +
 .../LogicalCTEConsumeToPhysicalCTEConsume.java     |   38 +
 .../LogicalCTEProduceToPhysicalCTEProduce.java     |   37 +
 .../rules/rewrite/CollectFilterAboveConsumer.java  |   52 +
 .../rules/rewrite/CollectProjectAboveConsumer.java |   81 +
 .../logical/BuildCTEAnchorAndCTEProducer.java      |   65 +
 .../rules/rewrite/logical/CTEProducerRewrite.java  |  123 +
 .../rules/rewrite/logical/ColumnPruning.java       |    9 +
 .../nereids/rules/rewrite/logical/InlineCTE.java   |   73 +
 .../logical/PushdownFilterThroughCTEAnchor.java    |   40 +
 .../logical/PushdownProjectThroughCTEAnchor.java   |   40 +
 .../doris/nereids/stats/StatsCalculator.java       |   98 +-
 .../doris/nereids/trees/expressions/CTEId.java     |   69 +
 .../expressions/StatementScopeIdGenerator.java     |    8 +
 .../apache/doris/nereids/trees/plans/PlanType.java |    8 +
 .../nereids/trees/plans/logical/LogicalCTE.java    |   54 +-
 .../trees/plans/logical/LogicalCTEAnchor.java      |   94 +
 .../trees/plans/logical/LogicalCTEConsumer.java    |  174 +
 .../trees/plans/logical/LogicalCTEProducer.java    |  143 +
 .../trees/plans/logical/LogicalSubQueryAlias.java  |   26 +-
 .../trees/plans/physical/PhysicalCTEAnchor.java    |  135 +
 .../trees/plans/physical/PhysicalCTEConsumer.java  |  167 +
 .../trees/plans/physical/PhysicalCTEProducer.java  |  135 +
 .../nereids/trees/plans/visitor/PlanVisitor.java   |   32 +
 .../apache/doris/nereids/util/ExpressionUtils.java |    6 +-
 .../apache/doris/planner/MultiCastDataSink.java    |   80 +
 .../doris/planner/MultiCastPlanFragment.java       |   44 +
 .../org/apache/doris/planner/PlanFragment.java     |    4 +-
 .../apache/doris/planner/TableFunctionNode.java    |   12 +-
 .../main/java/org/apache/doris/qe/Coordinator.java |   45 +
 .../java/org/apache/doris/qe/SessionVariable.java  |   14 +
 .../nereids/rules/analysis/RegisterCTETest.java    |  195 +-
 regression-test/data/cte_reuse/q11.out             |   65 +
 regression-test/data/cte_reuse/q14.out             |  161 +
 regression-test/data/cte_reuse/q23.out             |   98 +
 regression-test/data/cte_reuse/q24.out             |   54 +
 regression-test/data/cte_reuse/q31.out             |   74 +
 regression-test/data/cte_reuse/q4.out              |   97 +
 regression-test/data/cte_reuse/q47.out             |   49 +
 regression-test/data/cte_reuse/q57.out             |   49 +
 regression-test/data/cte_reuse/q59.out             |   45 +
 regression-test/data/cte_reuse/q64.out             |  115 +
 regression-test/data/cte_reuse/q74.out             |   64 +
 .../nereids_tpcds_shape_sf100_p0/shape/query1.out  |   21 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query11.out |  278 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query14.out |  163 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query2.out  |   22 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query23.out |  108 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query30.out |   29 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query31.out |   12 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query33.out |    2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query4.out  |  548 +--
 .../nereids_tpcds_shape_sf100_p0/shape/query47.out |    6 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query5.out  |    2 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query51.out |    4 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query54.out |   49 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query57.out |    6 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query58.out |  115 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query60.out |    6 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query74.out |  224 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query75.out |  234 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query77.out |  107 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query78.out |   79 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query80.out |    4 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query81.out |   27 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query83.out |  103 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query95.out |    4 +-
 .../nereids_tpcds_shape_sf100_p0/shape/query97.out |   32 +-
 .../ddl/call_center.sql                            |    0
 .../ddl/catalog_page.sql                           |    0
 .../ddl/catalog_returns.sql                        |    0
 .../ddl/catalog_sales.sql                          |    0
 .../ddl/customer.sql                               |    0
 .../ddl/customer_address.sql                       |    0
 .../ddl/customer_demographics.sql                  |    0
 .../ddl/date_dim.sql                               |    0
 .../ddl/household_demographics.sql                 |    0
 .../ddl/income_band.sql                            |    0
 .../ddl/inventory.sql                              |    0
 .../{tpcds_sf1000_p2 => cte_reuse}/ddl/item.sql    |    0
 .../ddl/promotion.sql                              |    0
 .../{tpcds_sf1000_p2 => cte_reuse}/ddl/reason.sql  |    0
 .../ddl/ship_mode.sql                              |    0
 .../{tpcds_sf1000_p2 => cte_reuse}/ddl/store.sql   |    0
 .../ddl/store_returns.sql                          |    0
 .../ddl/store_sales.sql                            |    0
 .../tpcds_sf1_index => cte_reuse}/ddl/time_dim.sql |    0
 .../ddl/warehouse.sql                              |    0
 .../tpcds_sf1_index => cte_reuse}/ddl/web_page.sql |    0
 .../ddl/web_returns.sql                            |    0
 .../ddl/web_sales.sql                              |    0
 .../ddl/web_site.sql                               |    0
 regression-test/suites/cte_reuse/load.groovy       | 4228 ++++++++++++++++++++
 regression-test/suites/cte_reuse/q11.groovy        |  108 +
 regression-test/suites/cte_reuse/q14.groovy        |  207 +
 regression-test/suites/cte_reuse/q23.groovy        |  129 +
 regression-test/suites/cte_reuse/q24.groovy        |   88 +
 regression-test/suites/cte_reuse/q31.groovy        |  104 +
 regression-test/suites/cte_reuse/q4.groovy         |  134 +
 regression-test/suites/cte_reuse/q47.groovy        |  103 +
 regression-test/suites/cte_reuse/q57.groovy        |   99 +
 regression-test/suites/cte_reuse/q59.groovy        |  115 +
 regression-test/suites/cte_reuse/q64.groovy        |  149 +
 regression-test/suites/cte_reuse/q74.groovy        |  100 +
 .../suites/nereids_syntax_p0/cte.groovy            |    4 +
 123 files changed, 10100 insertions(+), 1368 deletions(-)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalCTEAnchorToPhysicalCTEAnchor.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalCTEConsumeToPhysicalCTEConsume.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalCTEProduceToPhysicalCTEProduce.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/CollectFilterAboveConsumer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/CollectProjectAboveConsumer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/BuildCTEAnchorAndCTEProducer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/CTEProducerRewrite.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/InlineCTE.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushdownFilterThroughCTEAnchor.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PushdownProjectThroughCTEAnchor.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/CTEId.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEAnchor.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEConsumer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalCTEProducer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEAnchor.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEConsumer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalCTEProducer.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/planner/MultiCastDataSink.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/planner/MultiCastPlanFragment.java
 create mode 100644 regression-test/data/cte_reuse/q11.out
 create mode 100644 regression-test/data/cte_reuse/q14.out
 create mode 100644 regression-test/data/cte_reuse/q23.out
 create mode 100644 regression-test/data/cte_reuse/q24.out
 create mode 100644 regression-test/data/cte_reuse/q31.out
 create mode 100644 regression-test/data/cte_reuse/q4.out
 create mode 100644 regression-test/data/cte_reuse/q47.out
 create mode 100644 regression-test/data/cte_reuse/q57.out
 create mode 100644 regression-test/data/cte_reuse/q59.out
 create mode 100644 regression-test/data/cte_reuse/q64.out
 create mode 100644 regression-test/data/cte_reuse/q74.out
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/call_center.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/catalog_page.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/catalog_returns.sql (100%)
 copy regression-test/suites/{inverted_index_p1/tpcds_sf1_index => 
cte_reuse}/ddl/catalog_sales.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/customer.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/customer_address.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/customer_demographics.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/date_dim.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/household_demographics.sql (100%)
 copy regression-test/suites/{inverted_index_p1/tpcds_sf1_index => 
cte_reuse}/ddl/income_band.sql (100%)
 copy regression-test/suites/{inverted_index_p1/tpcds_sf1_index => 
cte_reuse}/ddl/inventory.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/item.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/promotion.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/reason.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/ship_mode.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/store.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => 
cte_reuse}/ddl/store_returns.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/store_sales.sql 
(100%)
 copy regression-test/suites/{inverted_index_p1/tpcds_sf1_index => 
cte_reuse}/ddl/time_dim.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/warehouse.sql 
(100%)
 copy regression-test/suites/{inverted_index_p1/tpcds_sf1_index => 
cte_reuse}/ddl/web_page.sql (100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/web_returns.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/web_sales.sql 
(100%)
 copy regression-test/suites/{tpcds_sf1000_p2 => cte_reuse}/ddl/web_site.sql 
(100%)
 create mode 100644 regression-test/suites/cte_reuse/load.groovy
 create mode 100644 regression-test/suites/cte_reuse/q11.groovy
 create mode 100644 regression-test/suites/cte_reuse/q14.groovy
 create mode 100644 regression-test/suites/cte_reuse/q23.groovy
 create mode 100644 regression-test/suites/cte_reuse/q24.groovy
 create mode 100644 regression-test/suites/cte_reuse/q31.groovy
 create mode 100644 regression-test/suites/cte_reuse/q4.groovy
 create mode 100644 regression-test/suites/cte_reuse/q47.groovy
 create mode 100644 regression-test/suites/cte_reuse/q57.groovy
 create mode 100644 regression-test/suites/cte_reuse/q59.groovy
 create mode 100644 regression-test/suites/cte_reuse/q64.groovy
 create mode 100644 regression-test/suites/cte_reuse/q74.groovy


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to