This is an automated email from the ASF dual-hosted git repository. lijibing pushed a change to branch high-priority-column in repository https://gitbox.apache.org/repos/asf/doris.git
discard d9438fd6659 Fix ut. (#33147) omit 97dcfcf01c7 Use future to block auto analyze before job finish. (#33083) omit 1e857658d8a fix visible column (#33023) add ed59e3a07c2 [Bug](Variant) forbit variant column with filter, group by or order by (#32884) add 607fe88a980 [bugfix](asyncwriter) async writer's lock should not include finish or close method (#33077) add 26fd9503bca [Chore](column) remove ColumnVectorHelper (#33036) add 3e25370093e [fix](avro) avoid BE crash if avro scanner's dependency jars is mssing (#33031) add 0afa283651d [Enhancement](partition) Refine some auto partition behaviours (#32737) add 8506df5871e [feature](local-tvf) support local tvf on shared storage (#33050) add 5bdc0782fe6 [feature](profile) make WaitForLocalExchangeBuffer timer merge (#32946) add 7338683fdbd [enhancement](Nereids) refactor expression rewriter to pattern match (#32617) add 9be7e309541 [feature](merge-cloud) Add tablet rebalance run in cloud (#32925) add f6de537e727 [Feature](materialized-view) support ignore not slot is null when count(slot) not has key in mv (#32912) add fb703f91acd [Fix](nereids) fix qualifier problem that affects delete stmt in another catalog (#32853) add cfc8954d6c6 [Fix](test) add sync to ensure data synchronization in test_set_operater (#32993) add e53806b71e1 [Chore](runtime-filter) add check is broadcast on nlj (#33088) add bb11955709a [improvement](spill) avoid spill if memory is enough (#33075) add 0260817010a [chore](ci) set cloud_p1 (Doris Cloud Regression) as required (#33102) add 0d7cd949263 [feature](load) support compressed JSON format data for broker load (#30809) add f9f1d805185 [fix](cloud-auth) Fix cloud cluster auth due to #32825 and #32918 (#33106) add e7d6697cbcd [fix](Nereids) fix group concat (#33091) add 3fab4496c3f [fix](Nereids) fix bind group by int literal (#33117) add 66546530029 [feature](merge-cloud) Add stage auth for `copy into` in cloud (#32840) add 2517ceac5d8 [Enhancement](merge-on-write) Support dynamic delete bitmap cache (#32991) add fe537149b1d [opt](nereids) push down runtime filter to all children of SetOperation (#32982) add ac5c9c686e8 [feature](nereids) support common sub expression by multi-layer projections (fe part) (#33087) add e2d19b4f0b4 [Fix](partial-update) Fix partial update fail when the datetime default value is 'current_time' (#32926) add db1ebe75ccb [feature-wip](Cloud) Support set default storage vault and pass vault id to all write paths (#32910) add 8b070d1a9d4 [fix](Nereids) fix link children failed (#33134) add ffbc24678a8 [Fix](Nereids) ntile function should check argument (#32994) add 19e0bbf1685 [Optimize] Move strings_pool from individual tree nodes to the tree itself (#33089) add 108f4fdbb68 [profile](name) add table rollup name in profile (#33137) add 76804be8229 [opt](nereids)push topn-filter to both sides of inner join #33111 add 2c1af396c19 [fix](fe) partitionInfo is null, fe can not start (#33108) add 1f3524bed03 [fix](analyze) correct duplicated counting of updated rows for mv in cloud mode (#33136) new d9596246a22 fix visible column (#33023) new 4fcb1ae5181 Use future to block auto analyze before job finish. (#33083) new 343f6b38048 Fix ut. (#33147) This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (d9438fd6659) \ N -- N -- N refs/heads/high-priority-column (343f6b38048) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. The 3 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .asf.yaml | 1 + be/src/cloud/cloud_delete_task.cpp | 7 +- be/src/cloud/cloud_rowset_builder.cpp | 15 +- be/src/cloud/cloud_schema_change_job.cpp | 8 +- be/src/cloud/cloud_storage_engine.cpp | 4 +- be/src/cloud/cloud_storage_engine.h | 8 + be/src/common/config.cpp | 5 + be/src/common/config.h | 1 + be/src/exec/decompressor.cpp | 97 ++- be/src/exec/decompressor.h | 11 +- be/src/exec/tablet_info.cpp | 10 +- be/src/exec/tablet_info.h | 6 + be/src/olap/compaction.cpp | 12 +- be/src/olap/delta_writer_v2.cpp | 3 +- be/src/olap/partial_update_info.h | 7 +- be/src/olap/rowset/segment_v2/segment_writer.cpp | 16 +- .../rowset/segment_v2/vertical_segment_writer.cpp | 17 +- be/src/olap/rowset_builder.cpp | 3 +- be/src/olap/schema_change.h | 1 + be/src/olap/tablet_meta.cpp | 15 +- be/src/pipeline/exec/exchange_sink_operator.cpp | 5 +- .../exec/nested_loop_join_build_operator.cpp | 5 + .../exec/partitioned_aggregation_sink_operator.cpp | 32 +- .../exec/partitioned_aggregation_sink_operator.h | 3 - .../partitioned_aggregation_source_operator.cpp | 28 +- .../exec/partitioned_aggregation_source_operator.h | 2 - be/src/pipeline/exec/spill_sort_sink_operator.cpp | 41 +- be/src/pipeline/exec/spill_sort_sink_operator.h | 3 - .../pipeline/exec/spill_sort_source_operator.cpp | 28 +- be/src/pipeline/exec/spill_sort_source_operator.h | 3 - be/src/pipeline/pipeline_fragment_context.cpp | 9 +- be/src/pipeline/pipeline_x/dependency.h | 2 + .../pipeline_x/pipeline_x_fragment_context.cpp | 11 +- be/src/runtime/descriptors.h | 5 + be/src/service/internal_service.cpp | 8 +- be/src/util/block_compression.cpp | 2 +- be/src/vec/columns/column_decimal.h | 5 +- be/src/vec/columns/column_vector.h | 11 +- be/src/vec/columns/column_vector_helper.h | 59 -- be/src/vec/columns/subcolumn_tree.h | 48 +- be/src/vec/common/hash_table/hash_map_context.h | 7 +- be/src/vec/common/sort/sorter.cpp | 3 +- be/src/vec/exec/format/csv/csv_reader.cpp | 65 +- be/src/vec/exec/format/json/new_json_reader.cpp | 20 +- be/src/vec/exec/format/json/new_json_reader.h | 3 + be/src/vec/exec/vaggregation_node.h | 2 +- be/src/vec/sink/vrow_distribution.cpp | 8 +- be/src/vec/sink/writer/async_result_writer.cpp | 50 +- be/src/vec/sink/writer/vtablet_writer.cpp | 2 + be/src/vec/sink/writer/vtablet_writer_v2.cpp | 2 + be/src/vec/spill/spill_stream.cpp | 17 +- cloud/src/meta-service/meta_service.cpp | 51 +- cloud/src/meta-service/meta_service_resource.cpp | 80 +- cloud/src/meta-service/meta_service_txn.cpp | 58 +- cloud/test/meta_service_test.cpp | 204 +++++ .../Load/BROKER-LOAD.md | 2 +- .../Load/BROKER-LOAD.md | 2 +- .../main/java/org/apache/doris/common/Config.java | 29 + fe/fe-core/pom.xml | 2 +- fe/fe-core/src/main/cup/sql_parser.cup | 27 +- .../java/org/apache/doris/alter/RollupJobV2.java | 3 +- .../org/apache/doris/alter/SchemaChangeJobV2.java | 3 +- .../org/apache/doris/analysis/DateLiteral.java | 9 +- .../java/org/apache/doris/analysis/GrantStmt.java | 4 + .../apache/doris/analysis/ListPartitionDesc.java | 2 +- .../org/apache/doris/analysis/PartitionDesc.java | 9 +- .../apache/doris/analysis/RangePartitionDesc.java | 3 +- .../org/apache/doris/analysis/ResourcePattern.java | 4 + .../SetDefaultStorageVaultStmt.java} | 25 +- .../org/apache/doris/analysis/ShowRolesStmt.java | 1 + .../apache/doris/catalog/CatalogRecycleBin.java | 3 +- .../main/java/org/apache/doris/catalog/Env.java | 35 +- .../doris/catalog/InternalSchemaInitializer.java | 3 + .../java/org/apache/doris/catalog/OlapTable.java | 38 +- .../org/apache/doris/catalog/StorageVaultMgr.java | 59 +- .../org/apache/doris/catalog/TableProperty.java | 4 +- .../org/apache/doris/cloud/catalog/CloudEnv.java | 15 + .../doris/cloud/catalog/CloudTabletRebalancer.java | 915 +++++++++++++++++++++ .../cloud/datasource/CloudInternalCatalog.java | 102 ++- .../cloud/persist/UpdateCloudReplicaInfo.java | 168 ++++ .../transaction/CloudGlobalTransactionMgr.java | 28 +- .../java/org/apache/doris/common/FeConstants.java | 2 + .../org/apache/doris/common/proc/AuthProcDir.java | 2 +- .../org/apache/doris/datasource/FileGroupInfo.java | 4 +- .../apache/doris/datasource/InternalCatalog.java | 17 +- .../doris/datasource/tvf/source/TVFScanNode.java | 12 +- .../org/apache/doris/journal/JournalEntity.java | 7 +- .../main/java/org/apache/doris/load/DeleteJob.java | 4 +- .../org/apache/doris/load/loadv2/SparkLoadJob.java | 4 +- .../org/apache/doris/mtmv/MTMVRelationManager.java | 4 +- .../org/apache/doris/mysql/privilege/Auth.java | 25 +- .../apache/doris/mysql/privilege/PrivBitSet.java | 4 +- .../doris/mysql/privilege/PrivPredicate.java | 5 +- .../org/apache/doris/mysql/privilege/Role.java | 95 ++- .../apache/doris/mysql/privilege/RoleManager.java | 8 +- .../org/apache/doris/nereids/CascadesContext.java | 49 +- .../org/apache/doris/nereids/NereidsPlanner.java | 2 +- .../org/apache/doris/nereids/StatementContext.java | 15 + .../org/apache/doris/nereids/analyzer/Scope.java | 19 +- .../glue/translator/PhysicalPlanTranslator.java | 50 +- .../java/org/apache/doris/nereids/jobs/Job.java | 11 +- .../doris/nereids/jobs/executor/Analyzer.java | 2 - .../doris/nereids/jobs/executor/Rewriter.java | 7 +- .../jobs/joinorder/hypergraph/HyperGraph.java | 11 +- .../nereids/jobs/rewrite/CustomRewriteJob.java | 6 +- .../jobs/rewrite/PlanTreeRewriteBottomUpJob.java | 113 +-- .../nereids/jobs/rewrite/PlanTreeRewriteJob.java | 65 +- .../jobs/rewrite/PlanTreeRewriteTopDownJob.java | 41 +- .../nereids/jobs/rewrite/RewriteJobContext.java | 10 +- .../jobs/rewrite/RootPlanTreeRewriteJob.java | 16 +- .../java/org/apache/doris/nereids/memo/Group.java | 22 +- .../apache/doris/nereids/memo/GroupExpression.java | 5 + .../doris/nereids/parser/PartitionTableInfo.java | 29 +- .../nereids/pattern/ExpressionPatternRules.java | 112 +++ .../ExpressionPatternTraverseListeners.java | 112 +++ .../doris/nereids/pattern/ParentTypeIdMapping.java | 59 ++ .../org/apache/doris/nereids/pattern/Pattern.java | 4 + .../apache/doris/nereids/pattern/TypeMappings.java | 133 +++ .../generator/ExpressionTypeMappingGenerator.java | 159 ++++ ...GeneratorAnalyzer.java => JavaAstAnalyzer.java} | 93 ++- .../generator/LogicalBinaryPatternGenerator.java | 4 +- .../generator/LogicalLeafPatternGenerator.java | 4 +- .../generator/LogicalUnaryPatternGenerator.java | 4 +- .../generator/PatternDescribableProcessor.java | 34 +- .../generator/PhysicalBinaryPatternGenerator.java | 4 +- .../generator/PhysicalLeafPatternGenerator.java | 4 +- .../generator/PhysicalUnaryPatternGenerator.java | 4 +- ...ernGenerator.java => PlanPatternGenerator.java} | 18 +- .../generator/PlanPatternGeneratorAnalyzer.java | 73 ++ .../generator/PlanTypeMappingGenerator.java | 159 ++++ .../post/CommonSubExpressionCollector.java | 59 ++ .../processor/post/CommonSubExpressionOpt.java | 125 +++ .../nereids/processor/post/PlanPostProcessors.java | 3 +- .../processor/post/RuntimeFilterGenerator.java | 20 +- .../processor/post/RuntimeFilterPruner.java | 17 +- .../doris/nereids/processor/post/TopNScanOpt.java | 50 +- .../doris/nereids/processor/post/Validator.java | 10 +- .../properties/ChildrenPropertiesRegulator.java | 4 +- .../nereids/properties/FunctionalDependencies.java | 24 +- .../nereids/properties/LogicalProperties.java | 50 +- .../nereids/properties/PhysicalProperties.java | 6 +- .../java/org/apache/doris/nereids/rules/Rule.java | 6 +- .../org/apache/doris/nereids/rules/RuleSet.java | 4 +- .../AdjustAggregateNullableForEmptySet.java | 29 +- .../nereids/rules/analysis/BindExpression.java | 61 +- .../doris/nereids/rules/analysis/BindRelation.java | 30 +- .../nereids/rules/analysis/BindSlotWithPaths.java | 29 +- .../nereids/rules/analysis/CheckAfterRewrite.java | 85 +- .../nereids/rules/analysis/CheckAnalysis.java | 36 +- .../rules/analysis/EliminateGroupByConstant.java | 2 +- .../nereids/rules/analysis/ExpressionAnalyzer.java | 2 +- .../nereids/rules/analysis/FillUpMissingSlots.java | 21 +- .../nereids/rules/analysis/NormalizeAggregate.java | 48 +- .../analysis/ReplaceExpressionByChildOutput.java | 48 +- .../ResolveOrdinalInOrderByAndGroupBy.java | 102 --- .../nereids/rules/analysis/SubqueryToApply.java | 77 +- .../mv/AbstractMaterializedViewRule.java | 15 +- .../mv/InitMaterializationContextHook.java | 4 +- .../exploration/mv/MaterializationContext.java | 8 +- .../nereids/rules/exploration/mv/StructInfo.java | 20 +- .../expression/ExpressionBottomUpRewriter.java | 124 +++ .../expression/ExpressionListenerMatcher.java | 41 + ...eContext.java => ExpressionMatchingAction.java} | 16 +- ...Context.java => ExpressionMatchingContext.java} | 25 +- .../rules/expression/ExpressionNormalization.java | 29 +- ...=> ExpressionNormalizationAndOptimization.java} | 22 +- .../rules/expression/ExpressionOptimization.java | 26 +- .../expression/ExpressionPatternMatchRule.java | 64 ++ .../rules/expression/ExpressionPatternMatcher.java | 41 + .../expression/ExpressionPatternRuleFactory.java | 84 ++ .../rules/expression/ExpressionRewrite.java | 51 +- .../rules/expression/ExpressionRewriteContext.java | 4 +- .../rules/expression/ExpressionRuleExecutor.java | 16 +- ...ontext.java => ExpressionTraverseListener.java} | 16 +- .../ExpressionTraverseListenerFactory.java | 79 ++ .../ExpressionTraverseListenerMapping.java | 59 ++ .../nereids/rules/expression/check/CheckCast.java | 24 +- .../rules/ArrayContainToArrayOverlap.java | 94 ++- .../rules/expression/rules/CaseWhenToIf.java | 18 +- .../expression/rules/ConvertAggStateCast.java | 33 +- .../expression/rules/DateFunctionRewrite.java | 34 +- .../expression/rules/DigitalMaskingConvert.java | 23 +- .../expression/rules/DistinctPredicatesRule.java | 18 +- .../expression/rules/ExtractCommonFactorRule.java | 222 ++++- .../rules/expression/rules/FoldConstantRule.java | 32 +- .../expression/rules/FoldConstantRuleOnBE.java | 46 +- .../expression/rules/FoldConstantRuleOnFE.java | 170 +++- .../rules/expression/rules/InPredicateDedup.java | 40 +- .../expression/rules/InPredicateToEqualToRule.java | 25 +- .../rules/NormalizeBinaryPredicatesRule.java | 21 +- .../expression/rules/NullSafeEqualToEqual.java | 21 +- .../rules/OneListPartitionEvaluator.java | 2 +- .../rules/OneRangePartitionEvaluator.java | 120 ++- .../nereids/rules/expression/rules/OrToIn.java | 36 +- .../rules/expression/rules/PartitionPruner.java | 23 +- .../expression/rules/PartitionRangeExpander.java | 115 +-- .../rules/PredicateRewriteForPartitionPrune.java | 4 +- .../rules/RangePartitionValueIterator.java | 64 ++ .../expression/rules/ReplaceVariableByLiteral.java | 17 +- .../rules/SimplifyArithmeticComparisonRule.java | 105 ++- .../expression/rules/SimplifyArithmeticRule.java | 70 +- .../rules/expression/rules/SimplifyCastRule.java | 21 +- .../rules/SimplifyComparisonPredicate.java | 37 +- .../rules/SimplifyDecimalV3Comparison.java | 24 +- .../expression/rules/SimplifyInPredicate.java | 20 +- .../expression/rules/SimplifyNotExprRule.java | 34 +- .../rules/expression/rules/SimplifyRange.java | 71 +- .../expression/rules/SupportJavaDateFormatter.java | 44 +- .../nereids/rules/expression/rules/TopnToMax.java | 29 +- .../rules/TryEliminateUninterestedPredicates.java | 14 +- .../rules/implementation/AggregateStrategies.java | 34 +- .../rules/rewrite/AdjustConjunctsReturnType.java | 4 +- .../nereids/rules/rewrite/AdjustNullable.java | 12 +- .../rules/rewrite/CheckMatchExpression.java | 7 +- .../nereids/rules/rewrite/CheckPrivileges.java | 29 +- .../doris/nereids/rules/rewrite/ColumnPruning.java | 98 ++- .../rules/rewrite/CountDistinctRewrite.java | 60 +- .../nereids/rules/rewrite/CountLiteralRewrite.java | 37 +- .../nereids/rules/rewrite/EliminateFilter.java | 7 +- .../nereids/rules/rewrite/EliminateGroupBy.java | 56 +- .../nereids/rules/rewrite/EliminateMarkJoin.java | 17 +- .../nereids/rules/rewrite/EliminateNotNull.java | 39 +- .../rules/rewrite/EliminateOrderByConstant.java | 16 +- .../ExtractAndNormalizeWindowExpression.java | 161 ++-- ...xtractSingleTableExpressionFromDisjunction.java | 9 +- .../nereids/rules/rewrite/InferJoinNotNull.java | 4 +- .../nereids/rules/rewrite/MergeAggregate.java | 2 +- .../doris/nereids/rules/rewrite/MergeProjects.java | 10 +- .../doris/nereids/rules/rewrite/NormalizeSort.java | 59 +- .../nereids/rules/rewrite/NormalizeToSlot.java | 43 +- .../rules/rewrite/PruneOlapScanPartition.java | 51 +- .../nereids/rules/rewrite/PullUpPredicates.java | 75 +- .../rewrite/PushDownFilterThroughAggregation.java | 12 +- .../rewrite/PushDownFilterThroughProject.java | 13 +- .../doris/nereids/rules/rewrite/ReorderJoin.java | 6 +- .../nereids/rules/rewrite/SimplifyAggGroupBy.java | 23 +- .../mv/AbstractSelectMaterializedIndexRule.java | 110 ++- .../mv/SelectMaterializedIndexWithAggregate.java | 33 +- .../SelectMaterializedIndexWithoutAggregate.java | 45 +- .../doris/nereids/stats/StatsCalculator.java | 11 +- .../doris/nereids/trees/AbstractTreeNode.java | 22 +- .../org/apache/doris/nereids/trees/TreeNode.java | 17 + .../nereids/trees/expressions/BinaryOperator.java | 6 - .../trees/expressions/ComparisonPredicate.java | 4 +- .../nereids/trees/expressions/Expression.java | 99 ++- .../nereids/trees/expressions/InPredicate.java | 5 +- .../nereids/trees/expressions/SlotReference.java | 7 +- .../functions/ComputeSignatureHelper.java | 11 +- .../functions/agg/AggregateFunction.java | 17 +- .../scalar/PushDownToProjectionFunction.java | 7 +- .../trees/expressions/functions/window/Ntile.java | 24 + .../trees/expressions/literal/DateLiteral.java | 39 +- .../visitor/DefaultExpressionRewriter.java | 10 +- .../expressions/visitor/ExpressionVisitors.java | 21 + .../doris/nereids/trees/plans/AbstractPlan.java | 28 +- .../org/apache/doris/nereids/trees/plans/Plan.java | 61 +- .../nereids/trees/plans/algebra/Aggregate.java | 17 +- .../doris/nereids/trees/plans/algebra/Project.java | 27 +- .../trees/plans/commands/info/CreateTableInfo.java | 3 +- .../trees/plans/logical/LogicalAggregate.java | 8 +- .../plans/logical/LogicalCatalogRelation.java | 163 ++-- .../trees/plans/logical/LogicalOlapScan.java | 65 +- .../trees/plans/logical/LogicalProject.java | 8 +- .../nereids/trees/plans/logical/LogicalSort.java | 19 +- .../nereids/trees/plans/logical/LogicalTopN.java | 13 +- .../trees/plans/physical/AbstractPhysicalPlan.java | 2 +- .../plans/physical/PhysicalCatalogRelation.java | 22 +- .../plans/physical/PhysicalHashAggregate.java | 2 +- .../trees/plans/physical/PhysicalHashJoin.java | 3 +- .../trees/plans/physical/PhysicalProject.java | 83 +- .../trees/plans/physical/PhysicalSetOperation.java | 58 +- .../org/apache/doris/nereids/types/DataType.java | 2 +- .../apache/doris/nereids/util/ExpressionUtils.java | 250 ++++-- .../doris/nereids/util/ImmutableEqualSet.java | 6 +- .../org/apache/doris/nereids/util/JoinUtils.java | 5 +- .../org/apache/doris/nereids/util/PlanUtils.java | 24 + .../doris/nereids/util/TypeCoercionUtils.java | 19 +- .../java/org/apache/doris/nereids/util/Utils.java | 65 +- .../java/org/apache/doris/persist/EditLog.java | 12 +- .../org/apache/doris/planner/OlapScanNode.java | 6 +- .../org/apache/doris/planner/OlapTableSink.java | 6 +- .../java/org/apache/doris/planner/PlanNode.java | 38 +- .../org/apache/doris/planner/RuntimeFilter.java | 2 +- .../java/org/apache/doris/qe/ConnectProcessor.java | 12 +- .../main/java/org/apache/doris/qe/DdlExecutor.java | 3 + .../java/org/apache/doris/qe/SessionVariable.java | 38 +- .../org/apache/doris/system/BeSelectionPolicy.java | 1 + .../tablefunction/LocalTableValuedFunction.java | 38 +- .../org/apache/doris/task/AlterReplicaTask.java | 6 +- .../main/java/org/apache/doris/task/PushTask.java | 11 +- fe/fe-core/src/main/jflex/sql_scanner.flex | 1 + .../doris/analysis/RangePartitionPruneTest.java | 2 +- .../apache/doris/catalog/CreateFunctionTest.java | 41 +- .../doris/cloud/catalog/HdfsStorageVaultTest.java | 53 ++ .../jobs/joinorder/hypergraph/HyperGraphTest.java | 12 +- .../postprocess/CommonSubExpressionTest.java | 131 +++ .../nereids/rules/analysis/BindRelationTest.java | 4 +- .../exploration/mv/MaterializedViewUtilsTest.java | 2 +- .../rules/expression/ExpressionRewriteTest.java | 80 +- .../expression/ExpressionRewriteTestHelper.java | 2 +- .../nereids/rules/expression/FoldConstantTest.java | 36 +- .../rules/expression/PredicatesSplitterTest.java | 2 +- .../expression/SimplifyArithmeticRuleTest.java | 56 +- .../rules/expression/SimplifyInPredicateTest.java | 8 +- .../rules/expression/SimplifyRangeTest.java | 26 +- .../expression/rules/NullSafeEqualToEqualTest.java | 20 +- .../SimplifyArithmeticComparisonRuleTest.java | 7 +- .../expression/rules/SimplifyCastRuleTest.java | 7 +- .../rules/SimplifyComparisonPredicateTest.java | 35 +- .../rules/SimplifyDecimalV3ComparisonTest.java | 6 +- .../rules/expression/rules/TopnToMaxTest.java | 4 +- .../nereids/rules/rewrite/ColumnPruningTest.java | 62 +- .../rules/rewrite/EliminateJoinByFkTest.java | 1 + .../doris/nereids/rules/rewrite/OrToInTest.java | 19 +- .../PushDownFilterThroughAggregationTest.java | 4 +- .../functions/ComputeSignatureHelperTest.java | 11 + .../trees/plans/CreateTableCommandTest.java | 2 +- .../nereids/trees/plans/SetOperationTest.java | 38 + .../org/apache/doris/nereids/util/PlanChecker.java | 20 + .../doris/service/FrontendServiceImplTest.java | 2 +- gensrc/proto/cloud.proto | 13 + gensrc/proto/descriptors.proto | 2 + gensrc/thrift/AgentService.thrift | 2 + .../load_p0/broker_load/test_compress_type.out | 2 +- .../stream_load/basic_data_by_line.json.bz2 | Bin 0 -> 3161 bytes .../load_p0/stream_load/basic_data_by_line.json.gz | Bin 0 -> 3519 bytes .../stream_load/basic_data_by_line.json.lz4 | Bin 0 -> 5520 bytes .../mv_ignore_predicate/mv_ignore_predicate.out | 15 + .../data/nereids_hint_tpcds_p0/shape/query24.out | 10 +- .../data/nereids_hint_tpcds_p0/shape/query64.out | 2 +- .../filter_push_down/push_filter_through.out | 28 +- .../data/nereids_syntax_p0/bind_priority.out | 6 + .../shape/query13.out | 2 +- .../shape/query14.out | 2 +- .../shape/query24.out | 4 +- .../shape/query41.out | 2 +- .../shape/query50.out | 2 +- .../shape/query64.out | 2 +- .../shape/query85.out | 2 +- .../shape/query95.out | 2 +- .../noStatsRfPrune/query13.out | 2 +- .../noStatsRfPrune/query14.out | 8 +- .../noStatsRfPrune/query17.out | 2 +- .../noStatsRfPrune/query23.out | 40 +- .../noStatsRfPrune/query25.out | 2 +- .../noStatsRfPrune/query29.out | 2 +- .../noStatsRfPrune/query41.out | 2 +- .../noStatsRfPrune/query47.out | 6 +- .../noStatsRfPrune/query50.out | 2 +- .../noStatsRfPrune/query57.out | 6 +- .../noStatsRfPrune/query6.out | 57 +- .../noStatsRfPrune/query65.out | 2 +- .../no_stats_shape/query13.out | 2 +- .../no_stats_shape/query14.out | 6 +- .../no_stats_shape/query17.out | 2 +- .../no_stats_shape/query23.out | 40 +- .../no_stats_shape/query24.out | 2 +- .../no_stats_shape/query25.out | 2 +- .../no_stats_shape/query29.out | 2 +- .../no_stats_shape/query41.out | 2 +- .../no_stats_shape/query47.out | 6 +- .../no_stats_shape/query50.out | 2 +- .../no_stats_shape/query57.out | 6 +- .../no_stats_shape/query6.out | 57 +- .../no_stats_shape/query64.out | 2 +- .../no_stats_shape/query65.out | 2 +- .../no_stats_shape/query85.out | 6 +- .../rf_prune/query13.out | 2 +- .../rf_prune/query14.out | 2 +- .../rf_prune/query41.out | 2 +- .../rf_prune/query50.out | 2 +- .../rf_prune/query85.out | 2 +- .../rf_prune/query95.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query13.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query14.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query24.out | 4 +- .../nereids_tpcds_shape_sf100_p0/shape/query41.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query50.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query64.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query85.out | 2 +- .../nereids_tpcds_shape_sf100_p0/shape/query95.out | 2 +- .../runtime_filter/test_pushdown_setop.out | 24 + .../data/nereids_tpch_shape_sf1000_p0/shape/q9.out | 2 +- .../shape_no_stats/q9.out | 2 +- regression-test/data/tpch_sf0.1_p1/sql/cse.out | 30 + .../partial_update/test_partial_update.out | 6 + .../doris/regression/action/ExplainAction.groovy | 15 + .../org/apache/doris/regression/suite/Suite.groovy | 7 +- .../doris/regression/util/OutputUtils.groovy | 28 +- .../doris/regression/util/ReusableIterator.groovy | 7 + .../auth/test_grant_revoke_cluster_role.groovy | 164 ++-- .../auth/test_grant_revoke_cluster_to_user.groovy | 48 +- .../datatype_p0/bitmap/test_bitmap_int.groovy | 2 +- .../test_nestedtypes_insert_into_select.groovy | 2 +- regression-test/suites/demo_p0/test_action.groovy | 2 +- .../load_p0/broker_load/test_compress_type.groovy | 24 +- .../mv_ignore_predicate/mv_ignore_predicate.groovy | 59 ++ .../test_dup_mv_repeat/test_dup_mv_repeat.groovy | 2 +- .../update_on_current_timestamp.groovy | 2 +- .../window_functions/test_ntile_function.groovy | 21 +- .../mv/dimension/dimension_1.groovy | 4 +- .../mv/dimension/dimension_2_3.groovy | 4 +- .../mv/dimension/dimension_2_4.groovy | 4 +- .../mv/dimension/dimension_2_5.groovy | 4 +- .../mv/dimension/dimension_2_6.groovy | 4 +- .../mv/dimension/dimension_2_full_join.groovy | 4 +- .../mv/dimension/dimension_2_inner_join.groovy | 4 +- .../mv/dimension/dimension_2_left_anti_join.groovy | 4 +- .../mv/dimension/dimension_2_left_join.groovy | 4 +- .../mv/dimension/dimension_2_left_semi_join.groovy | 4 +- .../dimension/dimension_2_right_anti_join.groovy | 4 +- .../mv/dimension/dimension_2_right_join.groovy | 4 +- .../dimension/dimension_2_right_semi_join.groovy | 4 +- .../dimension_2_join_agg.groovy | 4 +- .../filter_equal_or_notequal.groovy | 4 +- .../cross_join_range_date_increment_create.groovy | 4 +- .../full_join_range_date_increment_create.groovy | 4 +- .../inner_join_range_date_increment_create.groovy | 4 +- ...ft_anti_join_range_date_increment_create.groovy | 4 +- .../left_join_range_date_increment_create.groovy | 4 +- ...ft_semi_join_range_date_increment_create.groovy | 4 +- ...ht_anti_join_range_date_increment_create.groovy | 4 +- .../right_join_range_date_increment_create.groovy | 4 +- ...ht_semi_join_range_date_increment_create.groovy | 4 +- .../self_conn_range_date_increment_create.groovy | 4 +- .../mv/negative/negative_test.groovy | 4 +- .../suites/nereids_syntax_p0/bind_priority.groovy | 28 + .../suites/nereids_tpch_p0/tpch/topn-filter.groovy | 31 +- .../runtime_filter/test_pushdown_setop.groovy | 39 + .../test_auto_partition_behavior.groovy | 51 +- .../auto_partition/test_auto_partition_load.groovy | 2 +- .../test_auto_range_partition.groovy | 50 +- .../partition_p1/auto_partition/ddl/concurrent.sql | 2 +- .../auto_partition/ddl/stress_destination.sql | 2 +- .../ddl/small_data_high_concurrrent_load.sql | 2 +- .../ddl/stream_load_range_test_table.sql | 2 +- .../suites/query_p0/join/test_join2.groovy | 2 +- .../query_p0/operator/test_set_operator.groovy | 3 +- .../window_functions/test_ntile_function.groovy | 10 + .../suites/statistics/analyze_stats.groovy | 1 + .../suites/statistics/test_analyze_mtmv.groovy | 9 +- .../suites/statistics/test_analyze_mv.groovy | 11 +- .../suites/tpch_sf0.1_p1/sql/cse.groovy | 49 ++ .../partial_update/test_partial_update.groovy | 19 + regression-test/suites/variant_p0/load.groovy | 6 +- 445 files changed, 9087 insertions(+), 3006 deletions(-) delete mode 100644 be/src/vec/columns/column_vector_helper.h copy fe/fe-core/src/main/java/org/apache/doris/{nereids/rules/expression/ExpressionRewriteContext.java => analysis/SetDefaultStorageVaultStmt.java} (59%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/cloud/catalog/CloudTabletRebalancer.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/cloud/persist/UpdateCloudReplicaInfo.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ExpressionPatternRules.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ExpressionPatternTraverseListeners.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/ParentTypeIdMapping.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/TypeMappings.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/ExpressionTypeMappingGenerator.java rename fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/{PatternGeneratorAnalyzer.java => JavaAstAnalyzer.java} (75%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/{PatternGenerator.java => PlanPatternGenerator.java} (96%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PlanPatternGeneratorAnalyzer.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/pattern/generator/PlanTypeMappingGenerator.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/CommonSubExpressionCollector.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/CommonSubExpressionOpt.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/ResolveOrdinalInOrderByAndGroupBy.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionBottomUpRewriter.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionListenerMatcher.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java => ExpressionMatchingAction.java} (73%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java => ExpressionMatchingContext.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java => ExpressionNormalizationAndOptimization.java} (59%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternMatchRule.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternMatcher.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionPatternRuleFactory.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/{ExpressionRewriteContext.java => ExpressionTraverseListener.java} (66%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionTraverseListenerFactory.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionTraverseListenerMapping.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/RangePartitionValueIterator.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/postprocess/CommonSubExpressionTest.java create mode 100644 regression-test/data/load_p0/stream_load/basic_data_by_line.json.bz2 create mode 100644 regression-test/data/load_p0/stream_load/basic_data_by_line.json.gz create mode 100644 regression-test/data/load_p0/stream_load/basic_data_by_line.json.lz4 create mode 100644 regression-test/data/mv_p0/mv_ignore_predicate/mv_ignore_predicate.out create mode 100644 regression-test/data/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.out create mode 100644 regression-test/data/tpch_sf0.1_p1/sql/cse.out create mode 100644 regression-test/suites/mv_p0/mv_ignore_predicate/mv_ignore_predicate.groovy create mode 100644 regression-test/suites/nereids_tpch_shape_sf1000_p0/runtime_filter/test_pushdown_setop.groovy create mode 100644 regression-test/suites/tpch_sf0.1_p1/sql/cse.groovy --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org