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

morningman pushed a change to branch branch-catalog-spi
in repository https://gitbox.apache.org/repos/asf/doris.git


 discard 5c240dc7a34 [feat](connector) P3 hudi connector hardening + test 
baseline + dispatch design (hybrid, T02-T08) (#64143)
    omit 63fb7e9fec7 [feat](connector) P2 migrate trino-connector to catalog 
SPI (T01-T13) (#64096)
    omit efbbef6be2b [P1-T03-T05] route plugin-driven scans first in nereids 
translator (#63641)
    omit e5dce49618b [feat](connector) P0 SPI baseline + DDL/Partition + import 
gate (T03-T27) (#63582)
    omit b921778a648 [doc](connector) add project tracking system for catalog 
SPI migration
     add 691189aaad6 [fix](fe) Prevent unsafe runtime filter pushdown through 
outer joins (#64102)
     add 6e37a86a361 [fix](variant) Avoid mutating shared variant columns 
(#64092)
     add 98a7a7e9548 [improvement](fe) Preload external table metadata before 
internal table lock in mixed queries (#64035)
     add 2471d75d8f5 [Enhancement](be) Fix small_file_mgr to support HTTPS when 
FE runs in HTTPS-only mode (#63918)
     add c27fd0ba968 [refactor](be) Add operator IO wrappers (#64139)
     add 6ac210bfc3d [improvement](fe) TopN lazy materialization support 
struct/variant nested column pruning (#63736)
     add dc7b50ce99e [fix](be) Avoid unsigned underflow in JSON modify path 
(#63579)
     add 3ab5d8b245d [opt](variant) Reduce sparse variant parse memory (#63970)
     add e2aaee4d0ed [fix](serde) match STRUCT sub-fields by name when loading 
JSON (#64011)
     add 98119b95dfb [fix](variant) return raw string for element_at on 
scalar-string variant (#64103)
     add 20d68fee949 [fix](ann-index) Fix ANN IVF/PQ recall, avoid init-time 
large ANN build-buffer reservation, and skip ANN index build for segments with 
insufficient rows. (#64082)
     add 236f8666029 [optimize](be) optimize floating fmod fast path (#64161)
     add 20c58e46d4f [opt](memory) add BE-level cache for load tablet schemas 
(#63508)
     add 3ccb4b81e6a [Optimization](array) Avoid materializing const array 
columns in element_at (#64175)
     add 15add0fc4c4 [fix](partition_prune) Avoid incorrect convert_tz 
partition pruning across DST transitions (#63853)
     add 5d97b29034a [improvement](be) Optimize count on nullable column 
(#64166)
     add 62dc78fbb00 [fix](logstash) Replace HttpClient5 async with HttpClient4 
sync to fix CircularRedirectException (1.2.0 -> 1.2.1) (#63181)
     add 2867e9c0d21 [enhance](struct) Merge struct_element into element_at 
(#64027)
     add 11a038d87d1 [fix](be) Stop extra operator work after cancellation 
(#64077)
     add 441f28ae76c [fix](cloud) Fix double assignment in recycler_service.cpp 
that cause… (#64168)
     add ba6a4439eb5 [improvement](fe) Balance runtime filter coordinator 
selection (#64130)
     add fee3bab76b5 [fix](test) replace removed struct_element with element_at 
in regression suites (#64204)
     add 4f8ac0954ac [fix](ci) rm some infos (#63228)
     add 79226c65326 [fix](fe) Fix datediff folding for zero date (#64084)
     add 8255f94bc5f [fix](nereids) Guard UniqueFunction in multiple 
filter/topn pushdown rules (#62742)
     add f7eac4e7401 [opt](cloud) cache cluster id per query and drop redundant 
locks on getBackendId hot path (#63636)
     add ab930cd39b7 [chore](build) Update doris-skills submodule (#64240)
     add 08b37d52121 [opt](recycler) Optimize rowset recycling for recycler 
(#63295)
     new f0e14452c20 [doc](connector) add project tracking system for catalog 
SPI migration
     new 765cb2546dd [feat](connector) P0 SPI baseline + DDL/Partition + import 
gate (T03-T27) (#63582)
     new 68ba1cce66e [P1-T03-T05] route plugin-driven scans first in nereids 
translator (#63641)
     new c6d897baf74 [feat](connector) P2 migrate trino-connector to catalog 
SPI (T01-T13) (#64096)
     new 3dfd72a3de8 [feat](connector) P3 hudi connector hardening + test 
baseline + dispatch design (hybrid, T02-T08) (#64143)

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   (5c240dc7a34)
            \
             N -- N -- N   refs/heads/branch-catalog-spi (3dfd72a3de8)

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 5 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:
 be/benchmark/benchmark_fmod.hpp                    |  442 ++++++++
 be/benchmark/benchmark_main.cpp                    |    1 +
 be/src/common/config.cpp                           |   16 +-
 be/src/common/config.h                             |    7 +-
 be/src/core/data_type/data_type_struct.cpp         |    8 +-
 be/src/core/data_type/data_type_variant.cpp        |   42 +-
 .../data_type_serde/data_type_struct_serde.cpp     |   73 +-
 be/src/exec/common/variant_util.cpp                |   60 +-
 .../exec/exchange/local_exchange_sink_operator.cpp |    2 +-
 .../exec/exchange/local_exchange_sink_operator.h   |    2 +-
 .../exchange/local_exchange_source_operator.cpp    |    2 +-
 .../exec/exchange/local_exchange_source_operator.h |    2 +-
 be/src/exec/operator/aggregation_sink_operator.cpp |    2 +-
 be/src/exec/operator/aggregation_sink_operator.h   |    2 +-
 .../exec/operator/aggregation_source_operator.cpp  |    2 +-
 be/src/exec/operator/aggregation_source_operator.h |    2 +-
 be/src/exec/operator/analytic_sink_operator.cpp    |    7 +-
 be/src/exec/operator/analytic_sink_operator.h      |    4 +-
 be/src/exec/operator/analytic_source_operator.cpp  |    3 +-
 be/src/exec/operator/analytic_source_operator.h    |    2 +-
 be/src/exec/operator/blackhole_sink_operator.cpp   |    2 +-
 be/src/exec/operator/blackhole_sink_operator.h     |    2 +-
 .../bucketed_aggregation_sink_operator.cpp         |    2 +-
 .../operator/bucketed_aggregation_sink_operator.h  |    2 +-
 .../bucketed_aggregation_source_operator.cpp       |    2 +-
 .../bucketed_aggregation_source_operator.h         |    2 +-
 be/src/exec/operator/cache_sink_operator.cpp       |    2 +-
 be/src/exec/operator/cache_sink_operator.h         |    2 +-
 be/src/exec/operator/cache_source_operator.cpp     |    2 +-
 be/src/exec/operator/cache_source_operator.h       |    2 +-
 be/src/exec/operator/datagen_operator.cpp          |    2 +-
 be/src/exec/operator/datagen_operator.h            |    2 +-
 be/src/exec/operator/dict_sink_operator.cpp        |    2 +-
 be/src/exec/operator/dict_sink_operator.h          |    2 +-
 be/src/exec/operator/empty_set_operator.cpp        |    2 +-
 be/src/exec/operator/empty_set_operator.h          |    2 +-
 be/src/exec/operator/exchange_sink_operator.cpp    |    2 +-
 be/src/exec/operator/exchange_sink_operator.h      |    2 +-
 be/src/exec/operator/exchange_source_operator.cpp  |    2 +-
 be/src/exec/operator/exchange_source_operator.h    |    2 +-
 .../operator/group_commit_block_sink_operator.cpp  |    2 +-
 .../operator/group_commit_block_sink_operator.h    |    2 +-
 .../exec/operator/group_commit_scan_operator.cpp   |    2 +-
 be/src/exec/operator/group_commit_scan_operator.h  |    2 +-
 be/src/exec/operator/hashjoin_build_sink.cpp       |    2 +-
 be/src/exec/operator/hashjoin_build_sink.h         |    2 +-
 be/src/exec/operator/hive_table_sink_operator.h    |    2 +-
 .../exec/operator/iceberg_delete_sink_operator.h   |    2 +-
 be/src/exec/operator/iceberg_merge_sink_operator.h |    2 +-
 be/src/exec/operator/iceberg_table_sink_operator.h |    2 +-
 be/src/exec/operator/jdbc_table_sink_operator.cpp  |    2 +-
 be/src/exec/operator/jdbc_table_sink_operator.h    |    2 +-
 .../operator/local_merge_sort_source_operator.cpp  |    2 +-
 .../operator/local_merge_sort_source_operator.h    |    2 +-
 .../exec/operator/maxcompute_table_sink_operator.h |    2 +-
 .../exec/operator/memory_scratch_sink_operator.cpp |    2 +-
 .../exec/operator/memory_scratch_sink_operator.h   |    2 +-
 be/src/exec/operator/mock_operator.h               |    2 +-
 be/src/exec/operator/mock_scan_operator.h          |    2 +-
 .../exec/operator/multi_cast_data_stream_sink.cpp  |    2 +-
 be/src/exec/operator/multi_cast_data_stream_sink.h |    2 +-
 .../operator/multi_cast_data_stream_source.cpp     |    4 +-
 .../exec/operator/multi_cast_data_stream_source.h  |    2 +-
 .../operator/nested_loop_join_build_operator.cpp   |    8 +-
 .../operator/nested_loop_join_build_operator.h     |    2 +-
 be/src/exec/operator/olap_table_sink_operator.h    |    2 +-
 be/src/exec/operator/olap_table_sink_v2_operator.h |    2 +-
 be/src/exec/operator/operator.cpp                  |    6 +-
 be/src/exec/operator/operator.h                    |   23 +-
 .../exec/operator/partition_sort_sink_operator.cpp |    2 +-
 .../exec/operator/partition_sort_sink_operator.h   |    2 +-
 .../operator/partition_sort_source_operator.cpp    |    4 +-
 .../exec/operator/partition_sort_source_operator.h |    2 +-
 .../partitioned_aggregation_sink_operator.cpp      |    5 +-
 .../partitioned_aggregation_sink_operator.h        |    2 +-
 .../partitioned_aggregation_source_operator.cpp    |    6 +-
 .../partitioned_aggregation_source_operator.h      |    2 +-
 .../partitioned_hash_join_probe_operator.cpp       |    6 +-
 .../partitioned_hash_join_probe_operator.h         |    2 +-
 .../partitioned_hash_join_sink_operator.cpp        |    3 +-
 .../operator/partitioned_hash_join_sink_operator.h |    2 +-
 .../exec/operator/rec_cte_anchor_sink_operator.h   |    2 +-
 be/src/exec/operator/rec_cte_scan_operator.h       |    2 +-
 be/src/exec/operator/rec_cte_sink_operator.h       |    2 +-
 be/src/exec/operator/rec_cte_source_operator.h     |    2 +-
 be/src/exec/operator/result_file_sink_operator.cpp |    2 +-
 be/src/exec/operator/result_file_sink_operator.h   |    2 +-
 be/src/exec/operator/result_sink_operator.cpp      |    2 +-
 be/src/exec/operator/result_sink_operator.h        |    2 +-
 be/src/exec/operator/scan_operator.cpp             |    2 +-
 be/src/exec/operator/scan_operator.h               |    4 +-
 be/src/exec/operator/schema_scan_operator.cpp      |    2 +-
 be/src/exec/operator/schema_scan_operator.h        |    2 +-
 be/src/exec/operator/set_probe_sink_operator.cpp   |    3 +-
 be/src/exec/operator/set_probe_sink_operator.h     |    2 +-
 be/src/exec/operator/set_sink_operator.cpp         |    2 +-
 be/src/exec/operator/set_sink_operator.h           |    2 +-
 be/src/exec/operator/set_source_operator.cpp       |    3 +-
 be/src/exec/operator/set_source_operator.h         |    2 +-
 be/src/exec/operator/sort_sink_operator.cpp        |    2 +-
 be/src/exec/operator/sort_sink_operator.h          |    2 +-
 be/src/exec/operator/sort_source_operator.cpp      |    2 +-
 be/src/exec/operator/sort_source_operator.h        |    2 +-
 .../operator/spill_iceberg_table_sink_operator.cpp |    3 +-
 .../operator/spill_iceberg_table_sink_operator.h   |    2 +-
 be/src/exec/operator/spill_sort_sink_operator.cpp  |    6 +-
 be/src/exec/operator/spill_sort_sink_operator.h    |    2 +-
 .../exec/operator/spill_sort_source_operator.cpp   |    5 +-
 be/src/exec/operator/spill_sort_source_operator.h  |    2 +-
 be/src/exec/operator/spill_utils.h                 |    2 +
 be/src/exec/operator/tvf_table_sink_operator.h     |    2 +-
 be/src/exec/operator/union_sink_operator.cpp       |    2 +-
 be/src/exec/operator/union_sink_operator.h         |    2 +-
 be/src/exec/operator/union_source_operator.cpp     |    2 +-
 be/src/exec/operator/union_source_operator.h       |    2 +-
 be/src/exec/pipeline/pipeline_task.cpp             |    3 +-
 be/src/exprs/aggregate/aggregate_function_count.h  |   23 +-
 .../exprs/function/array/function_array_element.h  |  232 +++-
 be/src/exprs/function/cast/cast_to_variant.h       |   68 +-
 be/src/exprs/function/fmod_fast.cpp                |  160 +++
 be/src/exprs/function/fmod_fast.h                  |   41 +
 be/src/exprs/function/function_jsonb.cpp           |    5 +-
 be/src/exprs/function/function_struct_element.cpp  |  148 ---
 be/src/exprs/function/function_variant_element.cpp |    9 +
 be/src/exprs/function/modulo.cpp                   |   68 +-
 be/src/exprs/function/simple_function_factory.h    |    2 -
 be/src/load/delta_writer/delta_writer_v2.cpp       |   42 +-
 be/src/runtime/small_file_mgr.cpp                  |   46 +-
 be/src/storage/index/ann/ann_index_writer.cpp      |  119 +-
 be/src/storage/index/ann/ann_index_writer.h        |   20 +-
 be/src/storage/index/ann/faiss_ann_index.cpp       |    3 +-
 be/src/storage/rowset_builder.cpp                  |   38 +-
 be/src/storage/segment/segment_writer.cpp          |    4 +-
 .../segment/variant/variant_column_writer_impl.cpp |  514 +++++++--
 .../segment/variant/variant_column_writer_impl.h   |    6 +
 be/src/storage/tablet/tablet_schema_cache.cpp      |   88 ++
 be/src/storage/tablet/tablet_schema_cache.h        |   17 +
 be/src/storage/tablet_info.h                       |    2 +-
 be/test/core/column/column_variant_test.cpp        |   57 +
 .../data_type_serde_struct_test.cpp                |  103 ++
 be/test/exec/operator/agg_operator_test.cpp        |    2 +-
 .../exec/operator/analytic_sink_operator_test.cpp  |   66 +-
 .../nested_loop_join_build_operator_test.cpp       |  141 +++
 .../operator/partition_sort_sink_operator_test.cpp |    4 +-
 .../partitioned_aggregation_sink_operator_test.cpp |   28 +-
 ...artitioned_aggregation_source_operator_test.cpp |   48 +
 .../operator/partitioned_aggregation_test_helper.h |    4 +-
 .../partitioned_hash_join_probe_operator_test.cpp  |   33 +
 .../partitioned_hash_join_sink_operator_test.cpp   |   26 +
 .../operator/partitioned_hash_join_test_helper.h   |    4 +-
 .../exec/operator/query_cache_operator_test.cpp    |    4 +-
 be/test/exec/operator/sort_operator_test.cpp       |    4 +-
 .../operator/spill_sort_sink_operator_test.cpp     |   79 ++
 .../operator/spill_sort_source_operator_test.cpp   |   20 +
 be/test/exec/operator/spill_sort_test_helper.h     |    2 +-
 .../exec/operator/streaming_agg_operator_test.cpp  |    4 +-
 .../exec/operator/table_function_operator_test.cpp |    4 +-
 be/test/exprs/aggregate/agg_count_test.cpp         |   21 +
 .../function/cast/function_variant_cast_test.cpp   |   57 +
 .../exprs/function/function_array_element_test.cpp |  230 ++++
 ...est.cpp => function_element_at_struct_test.cpp} |   60 +-
 be/test/exprs/function/function_fmod_fast_test.cpp |  353 ++++++
 be/test/exprs/function/function_jsonb_test.cpp     |   24 +
 .../function/function_variant_element_test.cpp     |   38 +
 .../storage/index/ann/ann_index_writer_test.cpp    |  677 +++++-------
 .../segment/variant_column_writer_reader_test.cpp  |  952 ++++++++++++++++
 be/test/storage/segment/variant_util_test.cpp      |  276 ++++-
 .../storage/tablet/tablet_schema_cache_test.cpp    |  125 +++
 be/test/testutil/mock/mock_operators.h             |    4 +-
 be/test/util/profile_spec_test.cpp                 |    4 +-
 cloud/src/common/config.h                          |    4 +
 cloud/src/recycler/recycler.cpp                    |  363 ++++--
 cloud/src/recycler/recycler.h                      |   13 +-
 cloud/src/recycler/recycler_service.cpp            |    2 +-
 cloud/test/recycler_test.cpp                       |  438 +++++++-
 .../create_preinstalled_scripts/iceberg/run24.sql  |    4 +-
 doris-skills                                       |    2 +-
 extension/logstash/README.md                       |   50 +-
 extension/logstash/lib/logstash/outputs/doris.rb   |   89 +-
 extension/logstash/logstash-output-doris.gemspec   |    4 +-
 .../java/org/apache/doris/alter/AlterJobV2.java    |    2 +-
 .../doris/catalog/BuiltinScalarFunctions.java      |    2 -
 .../java/org/apache/doris/catalog/TableIf.java     |   14 +
 .../apache/doris/cloud/catalog/CloudReplica.java   |  125 +--
 .../apache/doris/cloud/catalog/CloudTablet.java    |   15 +-
 .../doris/cloud/system/CloudSystemInfoService.java |   93 +-
 .../doris/common/profile/SummaryProfile.java       |   29 +-
 .../apache/doris/datasource/ExternalCatalog.java   |   15 +
 .../apache/doris/datasource/ExternalDatabase.java  |   15 +
 .../datasource/PluginDrivenExternalTable.java      |   25 +
 .../doris/datasource/hive/HMSExternalTable.java    |   12 +
 .../datasource/iceberg/IcebergExternalTable.java   |   10 +
 .../datasource/paimon/PaimonExternalTable.java     |   10 +
 .../org/apache/doris/nereids/CascadesContext.java  |    6 +-
 .../nereids/ExternalMetadataPreloadResult.java     |   65 ++
 .../doris/nereids/ExternalTablePreloadInfo.java    |   55 +
 .../org/apache/doris/nereids/NereidsPlanner.java   |   30 +-
 .../org/apache/doris/nereids/StatementContext.java |   56 +
 .../doris/nereids/exceptions/CastException.java    |    4 +-
 .../doris/nereids/jobs/executor/Rewriter.java      |    5 +-
 .../executor/TableCollectAndHookInitializer.java   |   26 +-
 .../post/RuntimeFilterPushDownVisitor.java         |   52 +-
 .../nereids/processor/post/TopnFilterContext.java  |   16 +-
 .../post/materialize/LazyMaterializeTopN.java      |  190 ++--
 .../post/materialize/LazySlotPruning.java          |   15 +-
 .../post/materialize/MaterializeProbeVisitor.java  |   39 +-
 .../org/apache/doris/nereids/rules/RuleType.java   |    2 +
 .../nereids/rules/analysis/BindExpression.java     |    8 +-
 .../nereids/rules/analysis/CollectRelation.java    |    5 +
 .../nereids/rules/analysis/ExpressionAnalyzer.java |    7 +-
 .../rules/analysis/PreloadExternalMetadata.java    |  134 +++
 .../mv/PreMaterializedViewRewriter.java            |    1 +
 .../rules/expression/ExpressionNormalization.java  |    4 +-
 .../rules/expression/ExpressionRuleType.java       |    2 +-
 ...eStructElement.java => NormalizeElementAt.java} |   31 +-
 .../expression/rules/StringEmptyToLengthRule.java  |    2 +-
 .../rewrite/AccessPathExpressionCollector.java     |   51 +-
 .../rules/rewrite/AccessPathPlanCollector.java     |    4 +-
 .../rewrite/AddProjectForVolatileExpression.java   |  105 +-
 .../nereids/rules/rewrite/InferPredicates.java     |   13 +
 .../nereids/rules/rewrite/NestedColumnPruning.java |    2 +-
 .../rules/rewrite/OperativeColumnDerive.java       |   20 +-
 ...ProjectOtherJoinConditionForNestedLoopJoin.java |    8 +
 .../rules/rewrite/PullUpProjectExprUnderTopN.java  |  718 ++++++++++++
 .../rules/rewrite/PullUpProjectUnderLimit.java     |   11 +-
 .../rules/rewrite/PullUpProjectUnderTopN.java      |   11 +-
 .../PushDownFilterThroughPartitionTopN.java        |    8 +-
 .../rewrite/PushDownFilterThroughSetOperation.java |   82 +-
 .../rules/rewrite/PushDownFilterThroughWindow.java |   13 +-
 .../rules/rewrite/PushDownJoinOtherCondition.java  |    8 +-
 .../rules/rewrite/PushDownTopNThroughJoin.java     |   82 +-
 .../rules/rewrite/PushDownUnnestInProject.java     |   10 +-
 .../functions/executable/DateTimeArithmetic.java   |   16 +-
 .../executable/DateTimeExtractAndTransform.java    |    2 +-
 .../expressions/functions/scalar/ConvertTz.java    |   72 +-
 .../expressions/functions/scalar/ElementAt.java    |   70 +-
 .../expressions/functions/scalar/FromUnixtime.java |   56 +-
 .../functions/scalar/StructElement.java            |  117 --
 .../expressions/visitor/ScalarFunctionVisitor.java |    5 -
 .../plans/physical/PhysicalLazyMaterialize.java    |   13 +-
 .../physical/PhysicalLazyMaterializeFileScan.java  |   10 +-
 .../physical/PhysicalLazyMaterializeOlapScan.java  |   10 +-
 .../physical/PhysicalLazyMaterializeTVFScan.java   |   10 +-
 .../org/apache/doris/nereids/util/DateUtils.java   |   15 +
 .../org/apache/doris/nereids/util/JoinUtils.java   |    4 +
 .../apache/doris/planner/MaterializationNode.java  |    2 +-
 .../org/apache/doris/planner/OlapScanNode.java     |   26 +-
 .../org/apache/doris/planner/OlapTableSink.java    |   17 +-
 .../java/org/apache/doris/planner/PlanNode.java    |    8 +-
 .../java/org/apache/doris/qe/SessionVariable.java  |   26 +
 .../qe/runtime/RuntimeFiltersThriftBuilder.java    |   29 +-
 .../apache/doris/service/FrontendServiceImpl.java  |   35 +-
 .../cloud/system/CloudSystemInfoServiceTest.java   |   15 +
 .../doris/common/profile/SummaryProfileTest.java   |   19 +-
 .../PluginDrivenExternalTableEngineTest.java       |   72 +-
 .../apache/doris/nereids/NereidsPlannerTest.java   |   82 ++
 .../apache/doris/nereids/StatementContextTest.java |  559 ++++++++++
 .../nereids/postprocess/RuntimeFilterTest.java     |   19 +
 .../nereids/postprocess/TopNRuntimeFilterTest.java |   36 +
 .../materialize/MaterializeProbeVisitorTest.java   |  110 ++
 .../nereids/rules/expression/FoldConstantTest.java |    6 +
 .../rules/StringEmptyToLengthRuleTest.java         |   14 +-
 .../AddProjectForVolatileExpressionTest.java       |  149 ++-
 .../rewrite/FindHashConditionForJoinTest.java      |   22 +
 .../rules/rewrite/OperativeColumnDeriveTest.java   |   35 +-
 .../nereids/rules/rewrite/PartitionPrunerTest.java |    1 -
 .../doris/nereids/rules/rewrite/PrepareTest.java   |    2 +-
 .../rules/rewrite/PruneNestedColumnTest.java       |  150 +--
 .../rewrite/PullUpProjectExprUnderTopNTest.java    | 1166 ++++++++++++++++++++
 .../rewrite/PushDownFilterThroughWindowTest.java   |   40 +
 .../rewrite/PushDownJoinOtherConditionTest.java    |   29 +
 .../rules/rewrite/PushDownUnnestInProjectTest.java |    4 +-
 .../functions/scalar/ConvertTzTest.java            |  173 +++
 .../functions/scalar/FromUnixtimeTest.java         |   99 ++
 .../apache/doris/nereids/util/JoinUtilsTest.java   |   19 +
 .../org/apache/doris/qe/SessionVariablesTest.java  |   12 +
 .../runtime/RuntimeFiltersThriftBuilderTest.java   |  114 ++
 .../data/ann_index_p0/ivf_on_disk_index_test.out   |    4 +
 .../ivf_pq_full_buffer_train_recall.out}           |    4 +-
 .../ivf_pq_recall.out}                             |    9 +-
 ...est_runtime_filter_outer_join_nullable_side.out |   17 +
 .../test_struct_field_align_ordered.json           |    7 +
 .../test_struct_field_align_swapped.json           |    7 +
 .../data/doc/sql-manual/StructNullsafe.out         |    6 +-
 .../external_table_p0/hive/test_complex_types.out  |    8 +-
 .../data/load_p0/stream_load/test_stream_load.out  |    6 +-
 .../stream_load/test_stream_load_move_memtable.out |    6 +-
 .../column_pruning/topn_expr_pullup.out            |   76 ++
 .../topn_lazy_nested_column_pruning.out            |   39 +
 .../extend_infer_equal_predicate.out               |   10 +-
 .../infer_set_operator_distinct.out                |   30 +-
 .../partition_prune/test_convert_tz.out}           |    5 +-
 .../add_project_for_unique_function.out            |   13 +-
 ...nfer_predicates_set_op_with_unique_function.out |   47 +
 ...join_condition_for_nlj_with_unique_function.out |   36 +
 ...wn_filter_through_join_with_unique_function.out |    9 +
 ...through_partition_topn_with_unique_function.out |   17 +
 ..._through_set_operation_with_unique_function.out |   74 ++
 ..._filter_through_window_with_unique_function.out |   23 +
 ...n_join_other_condition_with_unique_function.out |   53 +
 .../cast_function/test_cast_struct.out             |    2 +-
 .../struct_functions/test_struct_functions.out     |   43 +-
 .../data/shape_check/clickbench/query36.out        |    8 +-
 .../tpcds_sf100/noStatsRfPrune/query17.out         |    8 +-
 .../tpcds_sf100/noStatsRfPrune/query54.out         |    8 +-
 .../tpcds_sf100/noStatsRfPrune/query58.out         |  165 +--
 .../tpcds_sf100/noStatsRfPrune/query59.out         |   55 +-
 .../tpcds_sf100/noStatsRfPrune/query61.out         |    4 +-
 .../tpcds_sf100/noStatsRfPrune/query83.out         |  153 +--
 .../tpcds_sf100/noStatsRfPrune/query84.out         |   40 +-
 .../tpcds_sf100/no_stats_shape/query17.out         |    8 +-
 .../tpcds_sf100/no_stats_shape/query54.out         |    8 +-
 .../tpcds_sf100/no_stats_shape/query58.out         |  165 +--
 .../tpcds_sf100/no_stats_shape/query59.out         |   55 +-
 .../tpcds_sf100/no_stats_shape/query61.out         |    4 +-
 .../tpcds_sf100/no_stats_shape/query83.out         |  153 +--
 .../tpcds_sf100/no_stats_shape/query84.out         |   40 +-
 .../shape_check/tpcds_sf100/rf_prune/query17.out   |    8 +-
 .../shape_check/tpcds_sf100/rf_prune/query54.out   |    8 +-
 .../shape_check/tpcds_sf100/rf_prune/query58.out   |  165 +--
 .../shape_check/tpcds_sf100/rf_prune/query59.out   |   55 +-
 .../shape_check/tpcds_sf100/rf_prune/query61.out   |    4 +-
 .../shape_check/tpcds_sf100/rf_prune/query83.out   |  153 +--
 .../shape_check/tpcds_sf100/rf_prune/query84.out   |   42 +-
 .../data/shape_check/tpcds_sf100/shape/query17.out |    8 +-
 .../data/shape_check/tpcds_sf100/shape/query54.out |    8 +-
 .../data/shape_check/tpcds_sf100/shape/query58.out |  165 +--
 .../data/shape_check/tpcds_sf100/shape/query59.out |   55 +-
 .../data/shape_check/tpcds_sf100/shape/query61.out |    4 +-
 .../data/shape_check/tpcds_sf100/shape/query83.out |  153 +--
 .../data/shape_check/tpcds_sf100/shape/query84.out |   42 +-
 .../tpcds_sf1000/bs_downgrade_shape/query54.out    |    8 +-
 .../tpcds_sf1000/bs_downgrade_shape/query61.out    |    4 +-
 .../data/shape_check/tpcds_sf1000/hint/query17.out |    8 +-
 .../data/shape_check/tpcds_sf1000/hint/query54.out |    8 +-
 .../data/shape_check/tpcds_sf1000/hint/query58.out |  165 +--
 .../data/shape_check/tpcds_sf1000/hint/query59.out |   55 +-
 .../data/shape_check/tpcds_sf1000/hint/query61.out |    4 +-
 .../data/shape_check/tpcds_sf1000/hint/query84.out |   42 +-
 .../shape_check/tpcds_sf1000/shape/query17.out     |    8 +-
 .../shape_check/tpcds_sf1000/shape/query54.out     |    8 +-
 .../shape_check/tpcds_sf1000/shape/query58.out     |  165 +--
 .../shape_check/tpcds_sf1000/shape/query59.out     |   55 +-
 .../shape_check/tpcds_sf1000/shape/query61.out     |    4 +-
 .../shape_check/tpcds_sf1000/shape/query83.out     |  153 +--
 .../shape_check/tpcds_sf1000/shape/query84.out     |   42 +-
 .../tpcds_sf1000_nopkfk/shape/query17.out          |    8 +-
 .../tpcds_sf1000_nopkfk/shape/query54.out          |    8 +-
 .../tpcds_sf1000_nopkfk/shape/query58.out          |  165 +--
 .../tpcds_sf1000_nopkfk/shape/query59.out          |   55 +-
 .../tpcds_sf1000_nopkfk/shape/query61.out          |    4 +-
 .../tpcds_sf1000_nopkfk/shape/query83.out          |  153 +--
 .../tpcds_sf1000_nopkfk/shape/query84.out          |   42 +-
 .../shape_check/tpcds_sf10t_orc/shape/query17.out  |    8 +-
 .../shape_check/tpcds_sf10t_orc/shape/query54.out  |    8 +-
 .../shape_check/tpcds_sf10t_orc/shape/query58.out  |  165 +--
 .../shape_check/tpcds_sf10t_orc/shape/query59.out  |   55 +-
 .../shape_check/tpcds_sf10t_orc/shape/query61.out  |    4 +-
 .../shape_check/tpcds_sf10t_orc/shape/query83.out  |  153 +--
 .../shape_check/tpcds_sf10t_orc/shape/query84.out  |   40 +-
 .../data/variant_p0/sql/select_from_value.out      |    2 +-
 regression-test/pipeline/common/doris-utils.sh     |   17 +-
 .../ann_index_build_min_segment_rows.groovy        |   66 ++
 .../ann_index_p0/ivf_on_disk_index_test.groovy     |   16 +-
 .../ivf_pq_full_buffer_train_recall.groovy         |   68 ++
 .../suites/ann_index_p0/ivf_pq_recall.groovy       |   85 ++
 ..._runtime_filter_outer_join_nullable_side.groovy |   79 ++
 .../complex_types/test_pruned_columns.groovy       |   16 +-
 .../complex_types/test_struct_field_align.groovy   |   91 ++
 .../one_level_nestedtypes_with_s3data.groovy       |   18 +-
 .../nested_types/query/sql/nested_with_join.sql    |    8 +-
 .../three_level_nestedtypes_with_s3data.groovy     |   86 +-
 .../two_level_nestedtypes_with_s3data.groovy       |   34 +-
 .../suites/dictionary_p0/test_trade_demo.groovy    |   16 +-
 .../suites/doc/sql-manual/StructNullsafe.groovy    |    8 +-
 .../basic-elements/data-types/map-md.groovy        |    2 +-
 .../basic-elements/data-types/struct-md.groovy     |   24 +-
 .../hive/test_complex_types.groovy                 |    4 +-
 .../hive/test_hive_struct_add_column.groovy        |   24 +-
 .../hive/test_hive_text_complex_type.groovy        |    6 +-
 .../hive/test_hive_topn_lazy_mat.groovy            |   10 +-
 .../hive/test_orc_nested_types.groovy              |   32 +-
 .../hive/test_parquet_bloom_filter.groovy          |    2 +-
 .../hive/test_parquet_nested_types.groovy          |   14 +-
 .../iceberg/iceberg_complex_type.groovy            |    8 +-
 .../iceberg/iceberg_schema_change.groovy           |   16 +-
 .../iceberg/test_iceberg_full_schema_change.groovy |   64 +-
 ...test_iceberg_schema_change_complex_types.groovy |    4 +-
 .../test_iceberg_struct_schema_evolution.groovy    |   60 +-
 .../paimon/paimon_timestamp_types.groovy           |    4 +-
 .../paimon/test_paimon_full_schema_change.groovy   |   30 +-
 .../tvf/test_tvf_topn_lazy_mat.groovy              |    8 +-
 .../hudi/test_hudi_full_schema_change.groovy       |   64 +-
 .../iceberg/test_hive_migrate_iceberg.groovy       |   10 +-
 .../nereids_function_p0/scalar_function/IP.groovy  |    8 +-
 .../nested_container_offset_pruning.groovy         |   16 +-
 .../column_pruning/null_column_pruning.groovy      |   62 +-
 .../string_length_column_pruning.groovy            |   28 +-
 .../column_pruning/topn_expr_pullup.groovy         |  161 +++
 .../topn_lazy_nested_column_pruning.groovy         |  365 ++++++
 .../month_quarter_cast_in_prune.groovy             |    8 +-
 .../partition_prune/test_convert_tz.groovy         |   24 +-
 .../add_project_for_unique_function.groovy         |    1 +
 ...r_predicates_set_op_with_unique_function.groovy |   66 ++
 ...n_condition_for_nlj_with_unique_function.groovy |   58 +
 ...filter_through_join_with_unique_function.groovy |   10 +
 ...ough_partition_topn_with_unique_function.groovy |   47 +
 ...rough_set_operation_with_unique_function.groovy |   75 ++
 ...lter_through_window_with_unique_function.groovy |   56 +
 ...oin_other_condition_with_unique_function.groovy |   73 ++
 .../nereids_syntax_p0/test_complex_type.groovy     |   10 +-
 .../compress_materialize/pushdown_encode.groovy    |   16 +-
 .../ip_functions/test_ipv4_cidr_to_range.groovy    |    2 +-
 .../test_ipv6_cidr_to_range_function.groovy        |    4 +-
 .../struct_functions/test_struct_functions.groovy  |   29 +-
 .../test_struct_functions_by_literal.groovy        |    4 +-
 .../suites/variant_p0/element_function.groovy      |   28 +
 .../suites/variant_p0/test_sub_path_pruning.groovy |    2 +-
 418 files changed, 14924 insertions(+), 3886 deletions(-)
 create mode 100644 be/benchmark/benchmark_fmod.hpp
 create mode 100644 be/src/exprs/function/fmod_fast.cpp
 create mode 100644 be/src/exprs/function/fmod_fast.h
 delete mode 100644 be/src/exprs/function/function_struct_element.cpp
 create mode 100644 
be/test/exec/operator/nested_loop_join_build_operator_test.cpp
 rename be/test/exprs/function/{function_struct_element_test.cpp => 
function_element_at_struct_test.cpp} (61%)
 create mode 100644 be/test/exprs/function/function_fmod_fast_test.cpp
 create mode 100644 be/test/storage/tablet/tablet_schema_cache_test.cpp
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/ExternalMetadataPreloadResult.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/ExternalTablePreloadInfo.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/PreloadExternalMetadata.java
 rename 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/{NormalizeStructElement.java
 => NormalizeElementAt.java} (69%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PullUpProjectExprUnderTopN.java
 delete mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StructElement.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/NereidsPlannerTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/StatementContextTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/processor/post/materialize/MaterializeProbeVisitorTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PullUpProjectExprUnderTopNTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ConvertTzTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/trees/expressions/functions/scalar/FromUnixtimeTest.java
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/qe/runtime/RuntimeFiltersThriftBuilderTest.java
 copy regression-test/data/{variant_p0/sql/select_from_value.out => 
ann_index_p0/ivf_pq_full_buffer_train_recall.out} (76%)
 copy regression-test/data/{variant_p0/sql/select_from_value.out => 
ann_index_p0/ivf_pq_recall.out} (53%)
 create mode 100644 
regression-test/data/correctness_p0/test_runtime_filter_outer_join_nullable_side.out
 create mode 100644 
regression-test/data/datatype_p0/complex_types/test_struct_field_align_ordered.json
 create mode 100644 
regression-test/data/datatype_p0/complex_types/test_struct_field_align_swapped.json
 create mode 100644 
regression-test/data/nereids_rules_p0/column_pruning/topn_expr_pullup.out
 create mode 100644 
regression-test/data/nereids_rules_p0/column_pruning/topn_lazy_nested_column_pruning.out
 copy regression-test/data/{variant_p0/sql/select_from_value.out => 
nereids_rules_p0/partition_prune/test_convert_tz.out} (63%)
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/infer_predicates_set_op_with_unique_function.out
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/project_other_join_condition_for_nlj_with_unique_function.out
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_partition_topn_with_unique_function.out
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_set_operation_with_unique_function.out
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/push_down_filter_through_window_with_unique_function.out
 create mode 100644 
regression-test/data/nereids_rules_p0/unique_function/push_down_join_other_condition_with_unique_function.out
 create mode 100644 
regression-test/suites/ann_index_p0/ann_index_build_min_segment_rows.groovy
 create mode 100644 
regression-test/suites/ann_index_p0/ivf_pq_full_buffer_train_recall.groovy
 create mode 100644 regression-test/suites/ann_index_p0/ivf_pq_recall.groovy
 create mode 100644 
regression-test/suites/correctness_p0/test_runtime_filter_outer_join_nullable_side.groovy
 create mode 100644 
regression-test/suites/datatype_p0/complex_types/test_struct_field_align.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/column_pruning/topn_expr_pullup.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/column_pruning/topn_lazy_nested_column_pruning.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/infer_predicates_set_op_with_unique_function.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/project_other_join_condition_for_nlj_with_unique_function.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_partition_topn_with_unique_function.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_set_operation_with_unique_function.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/push_down_filter_through_window_with_unique_function.groovy
 create mode 100644 
regression-test/suites/nereids_rules_p0/unique_function/push_down_join_other_condition_with_unique_function.groovy


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


Reply via email to