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

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


    from 21beaee3c1c support rec cte (be part / proto part)
     add 7a033b84314 [Fix](workflow) Fix Mac be-ut github action (#58914)
     add 961fc6abff8 [fix](regr) Use Youngs-Cramer for REGR_SLOPE/INTERCEPT to 
align with PG (#55940)
     add 000532eeb6a [opt](hive) use binary search to prune hive partitions 
(#58877)
     add 8ff0adeda1b [fix](test) Fix output result for 
test_non_overlap_seg_heavy_sc (#58805)
     add 2badeef0cfc [Refactor](cast) Make all nullable for cast from string to 
simple types (#57949)
     add 19cbb4b1a92 [Enhancement](insert-overwrite) Make clean garbage 
partition interval of InsertOverwriteManager adjustable (#58733)
     add 21aad940990 [fix](close) Release resource once fragment was cancelled 
(#58909)
     add 157afed7024 [feature](inverted index) Add inverted index NORMALIZER 
support (#58178)
     add 884611d3588 [fix](test) fix regression case limit_push_down (#58873)
     add 4ab82f7ab72 [test](doris catalog)Add test cases for doris catalog 
(#58831)
     add c95b8f9debb [check](column) add column self check (#58706)
     add 8e3860351a4 [chore](contrib) update faiss commit (#58900)
     add 7d9385061ab recursive cte fe part
     add ed721f8e10e recursive cte be part
     add a0a1f264e51 remove useless case
     add ddc111fd90e rebase code

No new revisions were added by this update.

Summary of changes:
 .github/workflows/be-ut-mac.yml                    |   2 +-
 be/src/olap/inverted_index_parser.cpp              |  16 +-
 be/src/olap/inverted_index_parser.h                |   8 +-
 be/src/olap/rowset/segment_v2/column_reader.cpp    |  16 +-
 .../inverted_index/analysis_factory_mgr.cpp        |   7 +
 .../inverted_index/analyzer/analyzer.cpp           |   6 +-
 .../analyzer/custom_analyzer_config.h              |   1 -
 .../char_filter/icu_normalizer_char_filter.cpp     |  91 ++
 .../char_filter/icu_normalizer_char_filter.h       |  51 ++
 .../icu_normalizer_char_filter_factory.h           | 119 +++
 .../normalizer/custom_normalizer.cpp               | 110 +++
 .../inverted_index/normalizer/custom_normalizer.h  |  73 ++
 .../normalizer/custom_normalizer_config.cpp        |  49 ++
 .../custom_normalizer_config.h}                    |  40 +-
 .../token_filter/icu_normalizer_filter.cpp         |  72 ++
 .../token_filter/icu_normalizer_filter.h           |  46 +-
 .../token_filter/icu_normalizer_filter_factory.h   | 105 +++
 .../rowset/segment_v2/inverted_index_writer.cpp    |   2 +-
 be/src/olap/tablet_schema.h                        |   3 +-
 be/src/pipeline/pipeline_fragment_context.cpp      |   6 +-
 be/src/runtime/index_policy/index_policy_mgr.cpp   |  82 +-
 be/src/runtime/index_policy/index_policy_mgr.h     |  21 +-
 .../aggregate_function_regr_union.h                | 250 ++++--
 be/src/vec/columns/column.cpp                      |  61 ++
 be/src/vec/columns/column.h                        |  11 +
 be/src/vec/core/block.cpp                          |   1 +
 .../data_types/serde/data_type_nullable_serde.cpp  |  10 +-
 be/src/vec/exprs/vectorized_fn_call.cpp            |   1 +
 be/src/vec/exprs/vmatch_predicate.cpp              |   2 +-
 be/src/vec/functions/cast/cast_base.cpp            |  18 +-
 .../functions/cast/cast_to_basic_number_common.h   |  26 +-
 be/src/vec/functions/cast/cast_to_boolean.h        |  26 +-
 be/src/vec/functions/cast/cast_to_date.h           |  67 +-
 be/src/vec/functions/cast/cast_to_decimal.h        |  80 +-
 be/src/vec/functions/cast/cast_to_float.h          |   2 +-
 be/src/vec/functions/cast/cast_to_int.h            |  37 +-
 be/src/vec/functions/cast/cast_to_ip.h             |  25 +-
 be/src/vec/functions/cast/cast_to_jsonb.h          |   9 +-
 be/src/vec/functions/function_string.cpp           |   1 +
 be/src/vec/functions/function_string.h             | 146 ++++
 be/src/vec/functions/function_tokenize.cpp         |   5 +-
 be/src/vec/functions/match.cpp                     |   6 +-
 be/test/olap/inverted_index_parser_test.cpp        |  17 +
 .../olap/rowset/segment_v2/column_reader_test.cpp  |   1 -
 .../inverted_index/ananlyzer/analyzer_test.cpp     |  16 +-
 .../icu_normalizer_char_filter_factory_test.cpp    | 268 ++++++
 .../icu_normalizer_filter_factory_test.cpp         | 295 +++++++
 .../segment_v2/inverted_index/util/reader_test.cpp |   2 +-
 be/test/olap/tablet_schema_index_test.cpp          |   6 +-
 be/test/vec/columns/column_self_check.cpp          | 123 +++
 be/test/vec/function/cast/cast_to_integer.cpp      |   7 +-
 be/test/vec/function/function_match_test.cpp       |   4 +-
 be/test/vec/function/function_string_test.cpp      |  91 ++
 contrib/faiss                                      |   2 +-
 .../main/java/org/apache/doris/common/Config.java  |   6 +
 fe/fe-core/pom.xml                                 |   5 +
 .../antlr4/org/apache/doris/nereids/DorisLexer.g4  |   2 +
 .../antlr4/org/apache/doris/nereids/DorisParser.g4 |   8 +-
 .../org/apache/doris/analysis/DescriptorTable.java |   5 +
 .../apache/doris/analysis/InvertedIndexUtil.java   |  86 +-
 .../org/apache/doris/analysis/MatchPredicate.java  |   8 +-
 .../doris/catalog/BuiltinScalarFunctions.java      |   2 +
 .../main/java/org/apache/doris/catalog/Index.java  |  14 +-
 .../RecursiveCteTempTable.java}                    |  21 +-
 .../java/org/apache/doris/catalog/TableIf.java     |  19 +-
 .../cache/NereidsSortedPartitionsCacheManager.java |  39 +-
 .../org/apache/doris/datasource/ExternalTable.java |  14 +
 .../doris/datasource/hive/HMSExternalTable.java    |  15 +
 .../doris/datasource/hive/HiveMetaStoreCache.java  | 143 ++--
 .../ICUNormalizerCharFilterValidator.java          |  75 ++
 .../ICUNormalizerTokenFilterValidator.java         |  64 ++
 .../org/apache/doris/indexpolicy/IndexPolicy.java  |   7 +-
 .../apache/doris/indexpolicy/IndexPolicyMgr.java   | 159 +++-
 .../doris/indexpolicy/IndexPolicyTypeEnum.java     |   3 +-
 .../insertoverwrite/InsertOverwriteManager.java    |   6 +-
 .../org/apache/doris/nereids/CascadesContext.java  |  41 +-
 .../glue/translator/PhysicalPlanTranslator.java    | 105 ++-
 .../doris/nereids/parser/LogicalPlanBuilder.java   |  39 +-
 .../apache/doris/nereids/pattern/MemoPatterns.java |  24 +
 .../processor/post/RuntimeFilterPruner.java        |   9 +
 .../processor/pre/PullUpSubqueryAliasToCTE.java    |  16 +-
 .../properties/ChildOutputPropertyDeriver.java     |  20 +
 .../nereids/properties/RequestPropertyDeriver.java |  11 +
 .../org/apache/doris/nereids/rules/RuleSet.java    |   6 +
 .../org/apache/doris/nereids/rules/RuleType.java   |   3 +
 .../doris/nereids/rules/analysis/AnalyzeCTE.java   | 163 +++-
 .../doris/nereids/rules/analysis/BindRelation.java |  32 +-
 .../nereids/rules/analysis/CollectRelation.java    |  11 +-
 .../nereids/rules/analysis/SubExprAnalyzer.java    |   4 +-
 .../expression/rules/SortedPartitionRanges.java    |  44 +
 ...eChildToPhysicalRecursiveCteRecursiveChild.java |  37 +
 ...RecursiveCteScanToPhysicalRecursiveCteScan.java |  42 +
 .../LogicalRecursiveCteToPhysicalRecursiveCte.java |  39 +
 .../nereids/rules/rewrite/AdjustNullable.java      |  48 ++
 .../doris/nereids/rules/rewrite/CTEInline.java     |  44 +-
 .../doris/nereids/rules/rewrite/ColumnPruning.java |  55 ++
 .../rules/rewrite/PruneFileScanPartition.java      |  12 +-
 .../doris/nereids/stats/StatsCalculator.java       | 109 +++
 .../trees/copier/LogicalPlanDeepCopier.java        |  26 +
 .../doris/nereids/trees/expressions/Cast.java      |  13 -
 .../trees/expressions/functions/scalar/Date.java   |   1 +
 .../scalar/{Date.java => UnicodeNormalize.java}    |  55 +-
 .../expressions/visitor/ScalarFunctionVisitor.java |   5 +
 .../apache/doris/nereids/trees/plans/PlanType.java |   9 +
 .../trees/plans/algebra/RecursiveCte.java}         |  29 +-
 .../commands/CreateIndexNormalizerCommand.java     |  67 ++
 .../plans/commands/DropIndexNormalizerCommand.java |  63 ++
 .../plans/commands/ShowIndexNormalizerCommand.java |  61 ++
 .../plans/commands/UpdateMvByPartitionCommand.java |   3 +-
 .../trees/plans/commands/info/IndexDefinition.java |  14 +-
 .../worker/job/UnassignedJobBuilder.java           |  13 +
 .../worker/job/UnassignedRecursiveCteScanJob.java  |  65 ++
 .../nereids/trees/plans/logical/LogicalCTE.java    |  27 +-
 .../trees/plans/logical/LogicalRecursiveCte.java   | 284 ++++++
 .../logical/LogicalRecursiveCteRecursiveChild.java | 117 +++
 .../plans/logical/LogicalRecursiveCteScan.java     |  87 ++
 .../trees/plans/logical/LogicalSubQueryAlias.java  |  22 +
 .../trees/plans/physical/PhysicalRecursiveCte.java | 292 +++++++
 .../PhysicalRecursiveCteRecursiveChild.java        | 121 +++
 .../plans/physical/PhysicalRecursiveCteScan.java   |  85 ++
 .../trees/plans/visitor/CommandVisitor.java        |  18 +
 .../nereids/trees/plans/visitor/PlanVisitor.java   |  22 +
 .../trees/plans/visitor/RelationVisitor.java       |  10 +
 .../org/apache/doris/planner/RecursiveCteNode.java |  86 ++
 .../apache/doris/planner/RecursiveCteScanNode.java | 121 +++
 .../java/org/apache/doris/qe/SessionVariable.java  |   9 +-
 .../doris/qe/runtime/ThriftPlansBuilder.java       | 151 +++-
 .../nereids/postprocess/RuntimeFilterTest.java     |  29 +
 .../nereids/rules/analysis/AnalyzeCTETest.java     | 219 +++++
 .../doris/nereids/rules/rewrite/CTEInlineTest.java |  84 ++
 .../nereids/rules/rewrite/ColumnPruningTest.java   |  30 +
 gensrc/thrift/AgentService.thrift                  |   3 +-
 gensrc/thrift/Exprs.thrift                         |   2 +-
 .../test_remote_doris_agg_table_select.out         |  54 ++
 .../test_remote_doris_unique_table_select.out      |  32 +
 .../test_remote_doris_variant_select.out           |  81 ++
 .../analyzer/test_custom_normalizer.out            |  15 +
 .../analyzer/test_unicode_normalize.out            |  19 +
 .../limit_push_down/limit_push_down.out            |  32 +-
 .../support_type/regr_intercept/regr_intercept.out |   8 +-
 .../support_type/regr_slope/regr_slope.out         |   8 +-
 .../data/rec_cte_p0/rec_cte/rec_cte.out            | 953 +++++++++++++++++++++
 .../rec_cte_from_ck_doc/rec_cte_from_ck_doc.out    |  29 +
 .../rec_cte_from_duckdb_doc.out                    |  30 +
 .../rec_cte_from_mysql_doc.out                     |  42 +
 .../test_non_overlap_seg_heavy_sc.out              |   2 +-
 .../test_remote_doris_agg_table_select.groovy      | 307 +++++++
 .../test_remote_doris_unique_table_select.groovy   | 238 +++++
 .../test_remote_doris_variant_select.groovy        | 148 ++++
 .../cast/test_cast_to_complex_types_strict.groovy  |   6 +
 .../analyzer/test_custom_normalizer.groovy         | 131 +++
 .../analyzer/test_unicode_normalize.groovy         |  79 ++
 .../suites/prepared_stmt_p0/prepared_stmt.groovy   |  31 +-
 .../query_p0/aggregate/test_regr_intercept.groovy  |  18 +-
 .../query_p0/aggregate/test_regr_slope.groovy      |  18 +-
 .../suites/rec_cte_p0/rec_cte/rec_cte.groovy       | 271 ++++++
 .../rec_cte_from_ck_doc/rec_cte_from_ck_doc.groovy | 144 ++++
 .../rec_cte_from_duckdb_doc.groovy                 | 185 ++++
 .../rec_cte_from_mysql_doc.groovy                  | 140 +++
 159 files changed, 8665 insertions(+), 756 deletions(-)
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/char_filter/icu_normalizer_char_filter.cpp
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/char_filter/icu_normalizer_char_filter.h
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/char_filter/icu_normalizer_char_filter_factory.h
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/normalizer/custom_normalizer.cpp
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/normalizer/custom_normalizer.h
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/normalizer/custom_normalizer_config.cpp
 copy 
be/src/olap/rowset/segment_v2/inverted_index/{analyzer/custom_analyzer_config.h 
=> normalizer/custom_normalizer_config.h} (59%)
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/token_filter/icu_normalizer_filter.cpp
 copy 
fe/fe-core/src/main/java/org/apache/doris/indexpolicy/IndexPolicyTypeEnum.java 
=> 
be/src/olap/rowset/segment_v2/inverted_index/token_filter/icu_normalizer_filter.h
 (55%)
 create mode 100644 
be/src/olap/rowset/segment_v2/inverted_index/token_filter/icu_normalizer_filter_factory.h
 create mode 100644 
be/test/olap/rowset/segment_v2/inverted_index/char_filter/icu_normalizer_char_filter_factory_test.cpp
 create mode 100644 
be/test/olap/rowset/segment_v2/inverted_index/token_filter/icu_normalizer_filter_factory_test.cpp
 create mode 100644 be/test/vec/columns/column_self_check.cpp
 copy 
fe/fe-core/src/main/java/org/apache/doris/{indexpolicy/IndexPolicyTypeEnum.java 
=> catalog/RecursiveCteTempTable.java} (56%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/indexpolicy/ICUNormalizerCharFilterValidator.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/indexpolicy/ICUNormalizerTokenFilterValidator.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalRecursiveCteRecursiveChildToPhysicalRecursiveCteRecursiveChild.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalRecursiveCteScanToPhysicalRecursiveCteScan.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalRecursiveCteToPhysicalRecursiveCte.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Date.java
 => UnicodeNormalize.java} (54%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/{indexpolicy/IndexPolicyTypeEnum.java 
=> nereids/trees/plans/algebra/RecursiveCte.java} (56%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/CreateIndexNormalizerCommand.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropIndexNormalizerCommand.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ShowIndexNormalizerCommand.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/distribute/worker/job/UnassignedRecursiveCteScanJob.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRecursiveCte.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRecursiveCteRecursiveChild.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalRecursiveCteScan.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRecursiveCte.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRecursiveCteRecursiveChild.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalRecursiveCteScan.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/planner/RecursiveCteNode.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/planner/RecursiveCteScanNode.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/CTEInlineTest.java
 create mode 100644 
regression-test/data/external_table_p0/remote_doris/test_remote_doris_agg_table_select.out
 create mode 100644 
regression-test/data/external_table_p0/remote_doris/test_remote_doris_unique_table_select.out
 create mode 100644 
regression-test/data/external_table_p0/remote_doris/test_remote_doris_variant_select.out
 create mode 100644 
regression-test/data/inverted_index_p0/analyzer/test_custom_normalizer.out
 create mode 100644 
regression-test/data/inverted_index_p0/analyzer/test_unicode_normalize.out
 create mode 100644 regression-test/data/rec_cte_p0/rec_cte/rec_cte.out
 create mode 100644 
regression-test/data/rec_cte_p0/rec_cte_from_ck_doc/rec_cte_from_ck_doc.out
 create mode 100644 
regression-test/data/rec_cte_p0/rec_cte_from_duckdb_doc/rec_cte_from_duckdb_doc.out
 create mode 100644 
regression-test/data/rec_cte_p0/rec_cte_from_mysql_doc/rec_cte_from_mysql_doc.out
 create mode 100644 
regression-test/suites/external_table_p0/remote_doris/test_remote_doris_agg_table_select.groovy
 create mode 100644 
regression-test/suites/external_table_p0/remote_doris/test_remote_doris_unique_table_select.groovy
 create mode 100644 
regression-test/suites/external_table_p0/remote_doris/test_remote_doris_variant_select.groovy
 create mode 100644 
regression-test/suites/inverted_index_p0/analyzer/test_custom_normalizer.groovy
 create mode 100644 
regression-test/suites/inverted_index_p0/analyzer/test_unicode_normalize.groovy
 create mode 100644 regression-test/suites/rec_cte_p0/rec_cte/rec_cte.groovy
 create mode 100644 
regression-test/suites/rec_cte_p0/rec_cte_from_ck_doc/rec_cte_from_ck_doc.groovy
 create mode 100644 
regression-test/suites/rec_cte_p0/rec_cte_from_duckdb_doc/rec_cte_from_duckdb_doc.groovy
 create mode 100644 
regression-test/suites/rec_cte_p0/rec_cte_from_mysql_doc/rec_cte_from_mysql_doc.groovy


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to