This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a change to branch branch-4.0
in repository https://gitbox.apache.org/repos/asf/doris.git
from 6997c87b017 branch-4.0: [bugfix](memory_profile) should split memtable
memory from task's memory profile #58908 (#58979)
add b37b8b63eb2 branch4.0: [feature](variable) enables views, materialized
views, generated columns, and alias functions to persist session variables
#58031 (#58821)
No new revisions were added by this update.
Summary of changes:
be/src/olap/memtable.cpp | 6 +-
be/src/olap/tablet_schema.cpp | 3 +-
be/src/pipeline/exec/analytic_sink_operator.h | 8 +-
be/src/runtime/primitive_type.h | 129 +----
be/src/runtime/runtime_state.h | 4 -
.../vec/aggregate_functions/aggregate_function.h | 1 -
.../aggregate_function_ai_agg.cpp | 2 +-
.../aggregate_function_approx_count_distinct.cpp | 4 +-
.../aggregate_function_array_agg.cpp | 1 +
.../aggregate_functions/aggregate_function_avg.cpp | 36 +-
.../aggregate_functions/aggregate_function_avg.h | 33 +-
.../aggregate_function_bitmap.cpp | 5 +-
.../aggregate_function_bitmap_agg.cpp | 1 +
.../aggregate_function_collect.cpp | 1 +
.../aggregate_function_corr.cpp | 2 +
.../aggregate_function_count.cpp | 5 +-
.../aggregate_function_count_by_enum.cpp | 1 +
.../aggregate_function_covar.cpp | 2 +
.../aggregate_function_distinct.cpp | 5 +-
.../aggregate_function_foreach.cpp | 10 +-
.../aggregate_function_foreachv2.cpp | 11 +-
.../aggregate_function_group_array_set_op.cpp | 8 +-
.../aggregate_function_group_concat.cpp | 1 +
.../aggregate_function_histogram.cpp | 1 +
.../aggregate_function_kurtosis.cpp | 1 +
.../aggregate_function_linear_histogram.cpp | 1 +
.../aggregate_functions/aggregate_function_map.cpp | 1 +
.../aggregate_function_map_v2.cpp | 1 +
.../aggregate_function_min_max.cpp | 7 +-
.../aggregate_function_min_max.h | 5 +-
.../aggregate_function_min_max_by.h | 1 +
.../aggregate_function_orthogonal_bitmap.cpp | 1 +
.../aggregate_function_percentile.cpp | 8 +-
.../aggregate_function_percentile_reservoir.cpp | 1 +
.../aggregate_function_product.h | 11 +-
.../aggregate_function_quantile_state.cpp | 4 +-
.../aggregate_function_quantile_state.h | 4 +-
.../aggregate_function_reader_first_last.h | 41 +-
.../aggregate_function_regr_union.cpp | 1 +
.../aggregate_functions/aggregate_function_sem.cpp | 12 +-
.../aggregate_function_sequence_match.cpp | 1 +
.../aggregate_function_simple_factory.h | 14 +-
.../aggregate_function_skew.cpp | 1 +
.../aggregate_function_stddev.cpp | 16 +-
.../aggregate_functions/aggregate_function_sum.cpp | 18 +-
.../aggregate_functions/aggregate_function_sum.h | 51 +-
.../aggregate_function_topn.cpp | 3 +
.../aggregate_function_uniq.cpp | 1 +
.../aggregate_function_uniq_distribute_key.cpp | 1 +
.../aggregate_function_window.cpp | 4 +-
.../aggregate_function_window_funnel.cpp | 1 +
be/src/vec/aggregate_functions/helpers.h | 72 +++
be/src/vec/core/call_on_type_index.h | 162 +++++++
be/src/vec/data_types/data_type_agg_state.h | 20 +-
be/src/vec/exec/scan/file_scanner.cpp | 5 +-
be/src/vec/exprs/vcast_expr.cpp | 5 +-
be/src/vec/exprs/vectorized_agg_fn.cpp | 10 +-
be/src/vec/exprs/vectorized_fn_call.cpp | 3 +-
be/src/vec/exprs/vin_predicate.cpp | 5 +-
be/src/vec/exprs/vmatch_predicate.cpp | 5 +-
be/src/vec/exprs/vtopn_pred.h | 4 +-
.../functions/array/function_array_aggregation.cpp | 491 ++++++++++++-------
.../vec/functions/array/function_array_cum_sum.cpp | 131 +++--
be/src/vec/functions/comparison_equal_for_null.cpp | 10 +-
be/src/vec/functions/function.h | 73 ++-
be/src/vec/functions/function_ifnull.h | 3 +-
be/src/vec/functions/nullif.cpp | 10 +-
be/src/vec/functions/simple_function_factory.h | 32 +-
be/test/ai/aggregate_function_ai_agg_test.cpp | 2 +-
.../operator/analytic_sink_operator_test.cpp | 35 +-
.../operator/streaming_agg_operator_test.cpp | 5 +-
be/test/testutil/mock/mock_agg_fn_evaluator.cpp | 21 +-
be/test/testutil/mock/mock_agg_fn_evaluator.h | 4 +-
.../vec/aggregate_functions/agg_array_agg_test.cpp | 11 +-
be/test/vec/aggregate_functions/agg_avg_test.cpp | 3 +-
be/test/vec/aggregate_functions/agg_bit_test.cpp | 9 +-
.../vec/aggregate_functions/agg_bitmap_test.cpp | 10 +-
.../aggregate_functions/agg_bool_union_test.cpp | 18 +-
.../vec/aggregate_functions/agg_collect_test.cpp | 14 +-
be/test/vec/aggregate_functions/agg_corr_test.cpp | 6 +-
be/test/vec/aggregate_functions/agg_count_test.cpp | 3 +-
.../vec/aggregate_functions/agg_function_test.h | 5 +-
.../agg_group_array_intersect_test.cpp | 8 +-
.../vec/aggregate_functions/agg_histogram_test.cpp | 2 +-
.../agg_linear_histogram_test.cpp | 4 +-
.../aggregate_functions/agg_min_max_by_test.cpp | 2 +-
.../vec/aggregate_functions/agg_min_max_test.cpp | 8 +-
.../vec/aggregate_functions/agg_replace_test.cpp | 4 +-
be/test/vec/aggregate_functions/agg_test.cpp | 45 +-
.../aggregate_functions/vec_count_by_enum_test.cpp | 2 +-
.../vec/aggregate_functions/vec_retention_test.cpp | 2 +-
.../vec_sequence_match_test.cpp | 10 +-
.../aggregate_functions/vec_window_funnel_test.cpp | 2 +-
.../vec/function/function_dict_get_many_test.cpp | 4 +-
be/test/vec/function/function_dict_get_test.cpp | 4 +-
.../vec/function/simple_function_factory_test.cpp | 4 +-
.../main/java/org/apache/doris/alter/Alter.java | 12 +-
.../org/apache/doris/alter/AlterJobV2Factory.java | 9 +-
.../org/apache/doris/alter/CloudRollupJobV2.java | 4 +-
.../doris/alter/MaterializedViewHandler.java | 20 +-
.../java/org/apache/doris/alter/RollupJobV2.java | 15 +-
.../org/apache/doris/alter/SchemaChangeJobV2.java | 6 +-
.../org/apache/doris/analysis/MVColumnItem.java | 3 +-
.../org/apache/doris/catalog/AliasFunction.java | 27 ++
.../main/java/org/apache/doris/catalog/Column.java | 34 +-
.../java/org/apache/doris/catalog/Database.java | 7 +-
.../main/java/org/apache/doris/catalog/Env.java | 5 +-
.../org/apache/doris/catalog/FunctionUtil.java | 37 +-
.../apache/doris/catalog/GlobalFunctionMgr.java | 4 +-
.../main/java/org/apache/doris/catalog/MTMV.java | 70 ++-
.../doris/catalog/MaterializedIndexMeta.java | 108 +++--
.../java/org/apache/doris/catalog/OlapTable.java | 10 +-
.../org/apache/doris/catalog/OlapTableFactory.java | 10 +
.../main/java/org/apache/doris/catalog/View.java | 18 +-
.../main/java/org/apache/doris/mtmv/MTMVCache.java | 26 +-
.../java/org/apache/doris/mtmv/MTMVPlanUtil.java | 6 +-
.../org/apache/doris/nereids/SqlCacheContext.java | 2 +-
.../org/apache/doris/nereids/StatementContext.java | 10 +-
.../glue/translator/ExpressionTranslator.java | 6 +
.../glue/translator/PhysicalPlanTranslator.java | 46 +-
.../doris/nereids/jobs/executor/Rewriter.java | 2 +
.../apache/doris/nereids/memo/StructInfoMap.java | 13 +-
.../doris/nereids/minidump/MinidumpUtils.java | 4 +-
.../doris/nereids/parser/LogicalPlanBuilder.java | 6 +-
.../post/CommonSubExpressionCollector.java | 18 +-
.../doris/nereids/rules/analysis/BindRelation.java | 22 +-
.../doris/nereids/rules/analysis/BindSink.java | 66 ++-
.../nereids/rules/analysis/CollectRelation.java | 11 +-
.../nereids/rules/analysis/NormalizeAggregate.java | 12 +-
.../rules/analysis/SessionVarGuardRewriter.java | 149 ++++++
.../mv/InitMaterializationContextHook.java | 30 +-
.../expression/ExpressionBottomUpRewriter.java | 12 +-
.../rules/expression/ExpressionRuleType.java | 4 +-
.../nereids/rules/expression/MergeGuardExpr.java | 52 ++
.../rules/SimplifyComparisonPredicate.java | 6 +-
.../implementation/SplitAggWithoutDistinct.java | 53 ++-
.../doris/nereids/rules/rewrite/ColumnPruning.java | 2 +-
.../rules/rewrite/DistinctAggregateRewriter.java | 22 +-
.../nereids/rules/rewrite/MergeAggregate.java | 46 +-
.../doris/nereids/trees/expressions/Add.java | 2 +-
.../doris/nereids/trees/expressions/CaseWhen.java | 2 +-
.../doris/nereids/trees/expressions/Divide.java | 2 +-
.../doris/nereids/trees/expressions/Mod.java | 2 +-
.../doris/nereids/trees/expressions/Multiply.java | 2 +-
.../trees/expressions/NeedSessionVarGuard.java | 22 +-
.../trees/expressions/SessionVarGuardExpr.java | 147 ++++++
.../doris/nereids/trees/expressions/Subtract.java | 2 +-
.../trees/expressions/WindowExpression.java | 2 +-
.../functions/ComputePrecisionForSum.java | 6 +
.../functions/agg/AggregateFunction.java | 2 +-
.../trees/expressions/functions/agg/Avg.java | 4 +-
.../functions/agg/MultiDistinctSum.java | 3 +-
.../functions/agg/MultiDistinctSum0.java | 3 +-
.../trees/expressions/functions/agg/Sum.java | 3 +-
.../trees/expressions/functions/agg/Sum0.java | 3 +-
.../functions/executable/NumericArithmetic.java | 18 +-
.../expressions/functions/scalar/ArrayAvg.java | 3 +-
.../expressions/functions/scalar/ArrayCumSum.java | 4 +-
.../expressions/functions/scalar/ArrayMax.java | 3 +-
.../expressions/functions/scalar/ArrayMin.java | 3 +-
.../expressions/functions/scalar/ArrayProduct.java | 3 +-
.../expressions/functions/scalar/ArraySum.java | 3 +-
.../expressions/functions/scalar/Coalesce.java | 3 +-
.../functions/scalar/GreatestLeast.java | 3 +-
.../trees/expressions/functions/scalar/If.java | 3 +-
.../trees/expressions/functions/scalar/NullIf.java | 3 +-
.../trees/expressions/functions/scalar/Nvl.java | 3 +-
.../trees/expressions/functions/udf/AliasUdf.java | 30 +-
.../expressions/functions/udf/AliasUdfBuilder.java | 64 ++-
.../expressions/literal/DecimalV3Literal.java | 19 +-
.../nereids/trees/expressions/literal/Literal.java | 2 +-
.../expressions/visitor/ExpressionVisitor.java | 5 +
.../nereids/trees/plans/algebra/Aggregate.java | 29 ++
.../plans/commands/CreateFunctionCommand.java | 5 +-
.../commands/CreateMaterializedViewCommand.java | 5 +-
.../plans/commands/info/ColumnDefinition.java | 13 +-
.../trees/plans/commands/info/CreateMTMVInfo.java | 9 +-
.../plans/commands/info/ShowCreateMTMVInfo.java | 3 +-
.../apache/doris/nereids/types/DecimalV2Type.java | 2 +-
.../apache/doris/nereids/types/DecimalV3Type.java | 24 +-
.../org/apache/doris/nereids/util/PlanUtils.java | 42 ++
.../org/apache/doris/persist/AlterViewInfo.java | 20 +-
.../apache/doris/qe/AutoCloseSessionVariable.java | 63 +++
.../org/apache/doris/qe/ConnectContextUtil.java | 8 +
.../java/org/apache/doris/qe/SessionVariable.java | 159 ++++---
.../main/java/org/apache/doris/qe/VariableMgr.java | 87 ++--
.../doris/alter/MaterializedViewHandlerTest.java | 7 +-
.../org/apache/doris/alter/RollupJobV2Test.java | 2 +-
.../org/apache/doris/catalog/CreateViewTest.java | 5 +-
.../org/apache/doris/catalog/DatabaseTest.java | 1 +
.../expression/ExpressionRewriteTestHelper.java | 3 +-
.../doris/nereids/rules/rewrite/PrepareTest.java | 83 ++++
.../trees/expressions/VariablePersistTest.java | 215 +++++++++
.../plans/commands/merge/MergeIntoCommandTest.java | 42 +-
.../apache/doris/persist/AlterViewInfoTest.java | 3 +-
.../org/apache/doris/qe/OlapQueryCacheTest.java | 9 +-
.../org/apache/doris/qe/SessionVariablesTest.java | 3 +-
.../agg_state/decimal_sum/test_decimal_sum.out | 5 -
.../agg_state/decimalv3/test_decimalv3.out} | 16 +-
.../variables_persist/test_alias_function.out | 37 ++
.../variables_persist/test_array_agg_view.out | 41 ++
.../variables_persist/test_generated_column.out} | 18 +-
.../nereids_p0/variables_persist/test_mtmv.out | 21 +
.../nereids_p0/variables_persist/test_sync_mv.out | 16 +
.../variables_persist/test_view_var_persist.out | 216 +++++++++
.../variables_persist/use_view_create_mv.out | 11 +
.../agg_state/decimal_sum/test_decimal_sum.groovy | 31 --
.../agg_state/decimalv3/test_decimalv3.groovy | 66 +++
.../variables_persist/load.groovy} | 42 +-
.../variables_persist/test_alias_function.groovy} | 56 +--
.../variables_persist/test_array_agg_view.groovy | 77 +++
.../test_generated_column.groovy} | 71 +--
.../nereids_p0/variables_persist/test_mtmv.groovy | 249 ++++++++++
.../variables_persist/test_sync_mv.groovy | 117 +++++
.../variables_persist/test_view_var_persist.groovy | 525 +++++++++++++++++++++
.../variables_persist/use_view_create_mv.groovy | 68 +++
216 files changed, 4440 insertions(+), 1268 deletions(-)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/SessionVarGuardRewriter.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/MergeGuardExpr.java
copy
samples/arrow-flight-sql/java/src/main/java/doris/arrowflight/demo/Main.java =>
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/NeedSessionVarGuard.java
(61%)
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/SessionVarGuardExpr.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/qe/AutoCloseSessionVariable.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PrepareTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/VariablePersistTest.java
delete mode 100644
regression-test/data/datatype_p0/agg_state/decimal_sum/test_decimal_sum.out
copy
regression-test/data/{variables_up_down_decimalv3/variables_up_down_test_decimalv3.out
=> datatype_p0/agg_state/decimalv3/test_decimalv3.out} (63%)
create mode 100644
regression-test/data/nereids_p0/variables_persist/test_alias_function.out
create mode 100644
regression-test/data/nereids_p0/variables_persist/test_array_agg_view.out
copy regression-test/data/{variables_up_down_generated_column/load.out =>
nereids_p0/variables_persist/test_generated_column.out} (62%)
create mode 100644
regression-test/data/nereids_p0/variables_persist/test_mtmv.out
create mode 100644
regression-test/data/nereids_p0/variables_persist/test_sync_mv.out
create mode 100644
regression-test/data/nereids_p0/variables_persist/test_view_var_persist.out
create mode 100644
regression-test/data/nereids_p0/variables_persist/use_view_create_mv.out
delete mode 100644
regression-test/suites/datatype_p0/agg_state/decimal_sum/test_decimal_sum.groovy
create mode 100644
regression-test/suites/datatype_p0/agg_state/decimalv3/test_decimalv3.groovy
copy
regression-test/suites/{correctness/test_forbidden_infer_filter_rule.groovy =>
nereids_p0/variables_persist/load.groovy} (50%)
copy regression-test/suites/{variables_up_down_alias_function/load.groovy =>
nereids_p0/variables_persist/test_alias_function.groovy} (58%)
create mode 100644
regression-test/suites/nereids_p0/variables_persist/test_array_agg_view.groovy
copy regression-test/suites/{variables_up_down_generated_column/load.groovy =>
nereids_p0/variables_persist/test_generated_column.groovy} (72%)
create mode 100644
regression-test/suites/nereids_p0/variables_persist/test_mtmv.groovy
create mode 100644
regression-test/suites/nereids_p0/variables_persist/test_sync_mv.groovy
create mode 100644
regression-test/suites/nereids_p0/variables_persist/test_view_var_persist.groovy
create mode 100644
regression-test/suites/nereids_p0/variables_persist/use_view_create_mv.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]