This is an automated email from the ASF dual-hosted git repository. morningman pushed a change to branch doris-jdk17 in repository https://gitbox.apache.org/repos/asf/doris.git
omit 2afa2cdec35 [Fix](JDK17) Fix start_be.sh (#30300) omit 1320b3aabfb [Fix](pre-load)Fix pom (#30287) omit f7946fb7a33 [fix](JDK17) The objects stored in `PriorityQueue` must implement the `Comparable` interface (#30050) omit 1c2dd126deb [fix](JDK17) It will report an exception whenwe start BE with JDK17 and query AVRO table : InaccessibleObjectException (#30003) omit 2592742fce2 [Fix](JDK) Start Fe with JDK17 (#29658) add b4b5445bf1e [Fix](Variant) fix variant lost null info after `cast_column` (#30153) add ed4524fec74 Change auto analyze max table width default value to 100. (#30395) add 7cf49529e3e [improve](stack_trace) avoid print stack trace in group commit (#30399) add 4376f4dc6f9 [feature](merge-cloud) add available cloud cluster for load and query (#30340) add 6e1a68bd694 [Improvement](priv) move check priv out of analyze (#30403) add 0f55b357312 [Nereids](Variant) Implement variant type and support new sub column access method (#30348) add a35671b3525 [docs](update) Update 2.0.4 release (#30416) add 6936b9b068f [fix](partial update) mishandling of exceptions in the publish phase may result in data loss (#30366) add ae3bb027bce [Rf](exec) Support build exactly not cal by ndv (#30398) add bcae5ebcedd [Fix](Nereids) Fix lost predicate when query has a filter at the right input of the outer join (#30374) add 781477ad0b8 [feature](nereids)support mark join (#30133) add b2664be0339 [doc](fix) K8s doc modify configmap code (#30420) add 4bf47e229f9 [debug](move-memtable) enable brpc debug log in regression pipelines (#30389) add dba7162d814 [refactor](join) remove unused RowRefListType from join (#30442) add e3de05c7902 [fix](fe) Fix `BackendHbResponse` serialization compatibility problem (#30433) add fa1c82aee51 [pipeline](load) p0 load failed in pipeline stream load (#30438) add b39ac11c7ab [docs](fix) Fix 2.0.4 Release note for master #30434 add 7a103e52658 [feature](Nereids): eager aggreagate support mix agg function (#30400) add c1006a04252 [fix](ES catalog) throw exception when ES meta track failed (#30409) add 9b2bd36bd1c [minor](Prefetch) log slow prefetch io operation #30415 add 31d282aa458 [feature](journal) Add log and metric to improve the observability of journal batch (#30401) add 577b4c270ea [minor fix](use_fix_replica) handle set use_fix_replica < 0 (#30358) add 99413e588f9 [fix](pipeline) Fix non-prepared execute of UnionOperator (#30355) add 23838c138ce [improvement](stmt) Add fuzzy matching of label in show transaction (#30252) add 1286f3461bd (fix)[group commit] Row count is incorrect when enable pipeline load (#30447) add 920aeac6940 [enhancement](scanner) add a lower bound for bytes in scanner queue (#29624) add 6e8037fee64 fix iceberg table get split fail when with date type conjuct (#30162) add d14ab953266 [fix](rowsetreader) determine merge iterator considering segment num (#29269) add 841cdf3bcef [feature](ranger) Support Apache ranger for Doris (#27864) add 3d767d991ba [pipelineX](localexchange) Add local exchange before TabletFunction (#30446) add bd1733baebc [improve](node) refactor partition sort node to reduce memory use (#30412) add f70643d236c [fix](cmake) Fix be cmake coverage linker flag (#30386) add 6c988e73ebf [Feature](profile)add shuffle send rows/bytes #30456 add 1b7403e153a [feature](merge-cloud) Implement write path in cloud mode (#30453) add 57ec11bd00d [fix](function) fix ipv4 funcs get failed error, improve an ipv6 func and exception message (#30269) add 65a0d3dc454 [fix](nereids)should always call visitBoundFunction first when binding ElementAt function (#30469) add 461e6494860 [fix](ccr) handle large binlog (#30435) add ef85d0d5173 [fix](glue)support access glue iceberg with credential list (#30292) add b365be3db0b Add note for workload group when upgrade Doris (#30457) add 6d6179a5eab [fix](thirdparty) patch brpc 1.4.0 to fix stream rpc (#30476) add 26c6ac6055c [improvement](mtmv)mtmv support partition by hms table (#29989) add 732194d00a2 [Improve)(Variant) do not allow fall back to legacy planner (#30430) add b029965866f [feature](invert index) does not create an inverted index to support the match_phrase_prefix feature. (#30414) add 2431e871455 [fix](nereids)should normalize mv column's name before matching prefix keys (#27464) add 5c817de9841 [fix](Nereids) create table should check column name format (#30421) add de536a1b779 [Refact](inverted index) use boost regex to resolve stack overflow issues (#30477) add a571e4c7ebb [fix](merge-on-write) handle create rowset error to avoid null pointer exception (#30474) add c583563087b [feature](Nereids): double eager support mix function (#30468) add 2da2b20b0c6 [opt](planner) use string for varchar in ctas if original table is not olap (#30323) add 453c3458a04 [optimize](invert index) avoid redundant checks for exist. (#30191) add 9b8e3ed88a3 [fix](common) If the properties in DDL is not provided, the mysql client will lost connection (#30256) add 9f30ebc3cdc [enhance](mtmv)add version and version time for table (#30437) add c1305e48b78 [enhance](auto-partition) Constrain dynamic & auto partition use same interval unit if both enable (#30426) add ced86e8bdb8 [fix](query state) Print correct DML state (#30489) add 9529c57f295 [fix](planner)avg function may use wrong decimal precision and scale (#30364) add 289bdd44083 [test](nereids)add fe ut for SimplifyArithmeticComparisonRule (#27644) add b3e72047df5 [fix](nereids)window expression's window frame may lost in NormalizeToSlot (#30378) add cbc84a01fb5 [test](nereids)add more case for SimplifyRange rule (#27314) add 193f62eb12b [test](nereids) add SimplifyCastRule test case (#26708) add 885d125e200 [Improvement](Nereids) Support aggregate rewrite by materialized view with complex expression (#30440) add a0e8d79c5c5 [test](nereids) add SimplifyArithmeticRule test (#27081) add 690df04d533 [fix](Nereids) query mv column directly (#30444) add 9876312830e [Fix](Rf) fix in_or_bloom filter merge error in broadcast join remote target tpcds q78 (#30492) add a23ccfde821 [FIX](complextype)fix complex type nested version type but not hide version (#30419) add 608fede57a7 [fix](Nereids) should not generate same exprId for diff column when sink (#30501) add c6ae402d0ea Reduce AlterJobV2/TruncateTable binlog size (#30505) add 2c4f6ce1b96 [feat](Nereids): drop foreign key after dropping primary key that is referenced by the foreign key (#30417) add 9f0300568f1 [fix](move-memtable) fix potential duplicate of TabletStream profile (#30397) add 3dade1c03c6 [feature](merge-cloud) Fix cloud cluster checker cant get backends (#30467) add 9a4017f94a8 [regression test](schema change) add some case for agg col (#30479) add 26ebd55214a [bug](node) add dependency for set operation node (#30203) add a20fdb5c065 [regression test](schema change) add case for column type change (#30472) add 4c418cf5efa [regression test](schema change) add case for modify partition info (#30338) add f63bd0574d7 [regression test](stream load) test for `enable_profile` (#28534) add 34f40618d73 [regression test](broker load) add partition load case (#28259) add f189e66f666 [fix](merge-cloud) create cloud table failed (#30502) add 9d2780f1540 [Fix](jdk17) support start FE with JDK17 (#29658) (#30485) add 6e3458b79a1 [Try_Fix](scan) try fix the scanner schedule logic to prevent excessive memory usage and timeout (#30515) add d848c81a383 [fix](move-memtable) check load timeout before close wait (#30526) add a2a6f9a3989 [enhancement](log) print detail error for segment compaction failure (#30503) add 6f30b96da09 [fix](cloud) fix add partition failed (#30532) add 57ff037659f [fix](create tablet) fix disk usage may change when chose disks (#30508) add 41f234ddca3 [Improvement](executor)Remove ThreadPoolToken from MemTableFlushExecutor #30529 add 98ac9dd196d [improvement](index)add index_id column in show index stmt (#30431) add a937c0ee802 [fix](Nereids): add order by when testing pkfk to avoid unstable res #30507 add d9e9926b12c [bugfix](iceberg)fix read NULL with date partition (#30478) add 4f1a05eb9e6 [feat](Nereids): support alias when eliminate join for partially mv rewritting #30498 add 6d23a11ab0e [fix](mtmv)resolve task tvf concurrent modification exception #30497 add bb78c547840 [chore](cmake) Refactor be/CMakeLists some add_compile_options to add_definitions && set to option (#30509) add 27a12d37acb [fix](Nereids) create constraint write edit log in lock scope (#30422) add 262cefcc129 [fix](group commit) Fix group commit VOlapTablePartitionParam memory … (#30491) add a9eff1c919f [improvement](thirdparty) introduce brpc stream patch to make stream write to socket in background bthread (#30458) add a04fd237fae [fix](Nereids): fix wrong regression test (#30520) add c37ead68b27 [fix](JDK17) It will report an exception whenwe start BE with JDK17 and query AVRO table : InaccessibleObjectException (#30541) add 0cf1abba13f [bugfix](paimon)add class loader (#30483) add cd3ef3cdd0c [fix](regex) use boost regex instead of std (#30462) add c5e4337da50 [fix](audit) add workload_group to audit log table (#30470) add c4e66697d2a [fix](Nereids): don't log edit log when replaying (#30578) add b6012ba10c3 [fix](cluster by) Fix cluster_by used-after-moved in compaction (#29273) add 1d78a62ec06 [fix](datatype) fix bugs for IPv4/v6 datatype and add some basic regression test cases (#30261) add d5c82bd4fad [revert](Nereids): revert#30578 #30422 (#30594) add f3c8ee64a99 [Colo][Scan] delete the colo scan code (#30584) add f6d4e41b587 [bugfix](paimon)fix paimon testcases (#30514) add ab5bddba39c [enhance](Nereids): support DateLiteral with suffix space (#30583) add 6b39b2d47a5 [improvement](move-memtable) enable stream write to socket in background bthread (#30586) add bdb726e428e [feature](merge-cloud) Set txn expiration fields for cloud load (#30561) add 35064dc63ba [fix](merge-cloud) Avoid converting unset fields of RowsetMeta (#30559) add b5a87faebef [feature](merge-cloud) Set the txn timeout seconds of TDataSink (#30558) add 9a24e70e743 [fix](group commit) Fix replay wal core because undefined TLoadSourceType (#30571) add 9c49f708835 [exec](function) Add tanh func (#30555) add e7ccfbc372d [Feature](Variant) support row store for variant type (#30052) add cfb09c02761 [feature](merge-cloud) Initialize _max_version_schema in BaseTablet (#30560) add 2eafef46ea9 [feature](pipeline-load) enable pipeline load by default (#30581) add 71b4e0de5c3 [fix](planner)LateralViewRef's toSql method is not correctly implemented (#30590) add df6d7a2329c support cosh math function (#30602) add f6f8c122030 Refactor MemTableFlushExecutor::create_flush_token to improve (#30554) add 9831d55749b fix gcc compile failed (#30596) add 5756724d922 [feature](fe) support ANSI standard keyword for CURRENT_XXX #30550 add a218cda5b34 [Chore](workflow)delete auto-reply workflow (#30626) add 2cec4caa4c3 [pipelinex](profile) improve memory counter of pipelineX (#30538) add 0cdd96941d6 [tools] update tpcds test tools (#30607) add 97e81210c7b [Chore](case) reset all variables at start on set_and_unset_variable case (#30580) add 918e9e633d7 [pipelineX](profile) Fix Tablet counter on pipelineX engine (#30613) add 2daead8e1f4 [typo](doc) Modify the alter table column document (#28645) add 0c73f62faf6 [fix](Nereids) div priority is not right (#30575) add 145716c59be [docs](update) Update Doris-Streamloader docs (#30552) add d65edf1f96c [typo](doc)Update flink Spark connector documentation (#30565) add 77e0ab19ffb [Feature](executor)Insert select limited by WorkloadGroup #30610 add 5f5c1f4dde0 [Refactor][Rf] remove unless code in RF (#30597) add 017706a8858 Fix bthread_fork_join unsafety (#30490) add 1e03aac6498 [fix](join) incorrect result of mark join (#30543) add 5593731566e [fix][refactor] refactor schema init of externa table and some parquet issue (#30325) add be88e68e775 [feature](merge-cloud) Set rowset dir for cloud tablet (#30632) add 98be2231847 [feature](merge-cloud) Implement cloud mixin service (#30605) add 7b4ecfb5728 [feature](merge-cloud) Fix cloud mode can't drop backends and refacto… (#30534) add ea4b0e92cbd [fix](insert into) 'output_tuple_slot_num should be equal to output_expr_num' when insert into unique table with sequence column map (#30635) add 596ef34f1f5 [fix](statistics)Fix stats cleaner delete partition stats bug (#30648) add b0fccc1d28f [fix](JDK17) The objects stored in `PriorityQueue` must implement the `Comparable` interface (#30050) (#30625) add 3c7aa0bee04 [fix](compile)Fix Ambiguous regex Namespace Issue on MacOS Compilation (#30652) add a9b93ed5682 Sync stats cache while task finished, doesn't need to query column_statistics table. (#30609) add fda337ed1d6 [Fix](parquet-reader) Fix reading fixed length byte array decimal in parquet reader. (#30535) add 6289d512e3e [fix](Cooldown) enhance the policy existence check logic when drop storage policy (#30404) add d8f80986f1e [feature](merge-cloud) Sync cloud tablet rowsets before scan (#30639) add 3c09c629569 [fix](compatibility)remove cluster prefix in user manager #30655 add 9bdcb0da902 [MINOR](fe) remove unused member in (#30664) add 395941c2514 fix wrong profile on distinct agg and pass reference on uint136's compare (#30661) add 8be23261232 [chore](show replica) show replica print path (#30402) add 66d04307561 [Bug](insert) try to fix invalid slot when insert (#30570) add 3fdabc00c41 [Refact](inverted index) refact inverted index cache to decouple with reader (#30574) add 9c613c0be63 [fix](test) fix case with same catalog name (#30585) add 417108d4cb8 [Fix](json) avoid print warn log when parse failed (#30656) add 7c133689455 [Enhancement](group commit) Optimize WAL insufficient space error messages (#30614) add c91cb428bee [Test](Nereids) Add SSB dataset to test materialized view rewrite (#30528) add 9692f31715e [doc](partial update) update plan of flexible column updates (#30682) add be44013890e [fix](Nereids) add logical project to prevent extra wrong column (#30459) add a5b10d5df0a [enhance](mtmv)use version instead of timestamp (#30599) add 7c8bcd51bb8 [improve](catalog recycle bin) show data size info when show catalog recycle bin (#30592) add 20cb1e7754d [chore](debug) check the const exprs count in union node (#30679) add 2490d6bd555 [dep](thirdparty) import wasmtime library (#30591) add 72dbd052c11 [docs](fix) Fix invalid link and unified name of Doris Streamloader (#30696) add a536bdfa422 [fix](invert index) fixed the issue of insufficient index idx generation during partial column updates. (#30678) add 96e5ec71956 [Fix](nereids)Disable getting partition related table and column when self join (#30650) add 142cbdeeaac [fix](routine-load) update partition offset cache timely to avoid negative lag #30455 add 96d5e07f1f3 [log](rpc) print log when offer_failed in internal service (#30454) add d65d0c4a8f2 [improve](stream-load) add observability on receiving HTTP request #30432 add 5b8421f1aad [fix](outfile) fix outfile csv did not write json column with string (#29067) add 2d81f991258 [improve](backup) Skip all backup/restore jobs if max allowd option is set to 0 (#30677) add 2ab042eb864 [improve](test) fix regression test case report error when run times (#30531) add b247608caa5 [refacotr](node) refactor partition sort node to improve readability (#30511) add da661b9b293 [fix](multi-catalog)access HMS need ugiDoAs (#30595) add f1961d54906 [enhance](function) refactor from_format_str and support more format (#30452) add c15c1ab1294 [chore](ci) trigger a must success pipeline (#30711) add 59e3a79b55c [Opt](exec) opt the repeat node code (#30683) add 68da2044a68 [chore](3rd) update CRoaring bitmap version to 2.1.2 (#30697) add 11023043fbb [Fix](JDK17) Fixed that BE could not be started using JDK17 (#30286) new d69da10a87c [Fix](pre-load)Fix pom (#30287) new 9f87a8f70ef [Fix](JDK17) Fix start_be.sh (#30300) 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 (2afa2cdec35) \ N -- N -- N refs/heads/doris-jdk17 (9f87a8f70ef) 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 2 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: .github/actions/create-or-update-comment | 1 - .github/workflows/auto-pr-reply.yml | 40 - .github/workflows/comment-to-trigger-teamcity.yml | 14 + .gitignore | 2 + .gitmodules | 3 - README.md | 6 +- be/CMakeLists.txt | 22 +- be/src/agent/agent_server.cpp | 276 +- be/src/agent/agent_server.h | 52 +- be/src/agent/task_worker_pool.cpp | 20 +- be/src/agent/task_worker_pool.h | 20 +- be/src/cloud/cloud_backend_service.cpp | 48 + .../src/cloud/cloud_backend_service.h | 31 +- be/src/cloud/cloud_delta_writer.cpp | 104 + be/src/cloud/cloud_delta_writer.h | 59 + .../src/cloud/cloud_internal_service.cpp | 16 +- .../src/cloud/cloud_internal_service.h | 27 +- be/src/cloud/cloud_meta_mgr.cpp | 80 +- be/src/cloud/cloud_meta_mgr.h | 2 + be/src/cloud/cloud_rowset_builder.cpp | 108 + .../cloud_rowset_builder.h} | 46 +- be/src/cloud/cloud_rowset_writer.cpp | 118 + .../src/cloud/cloud_rowset_writer.h | 27 +- be/src/cloud/cloud_storage_engine.cpp | 134 +- be/src/cloud/cloud_storage_engine.h | 21 + be/src/cloud/cloud_tablet.cpp | 34 +- be/src/cloud/cloud_tablet.h | 5 +- be/src/cloud/cloud_tablet_mgr.cpp | 5 +- be/src/cloud/cloud_tablets_channel.cpp | 250 ++ ...ud_storage_engine.h => cloud_tablets_channel.h} | 40 +- be/src/cloud/config.cpp | 6 +- be/src/cloud/config.h | 7 +- be/src/cloud/pb_convert.cpp | 16 +- be/src/common/config.cpp | 5 +- be/src/common/config.h | 3 + be/src/common/logging.h | 40 +- be/src/exec/data_sink.cpp | 16 + be/src/exec/data_sink.h | 7 +- be/src/exec/exec_node.cpp | 2 +- be/src/exec/exec_node.h | 11 + be/src/exec/olap_common.h | 6 + be/src/exec/tablet_info.cpp | 11 +- be/src/exprs/bloom_filter_func.h | 20 +- be/src/exprs/json_functions.cpp | 4 +- be/src/exprs/runtime_filter.cpp | 113 +- be/src/exprs/runtime_filter.h | 6 +- be/src/exprs/runtime_filter_slots.h | 13 +- be/src/exprs/runtime_filter_slots_cross.h | 2 +- be/src/http/action/http_stream.cpp | 17 +- be/src/http/action/stream_load.cpp | 31 +- be/src/io/fs/buffered_reader.cpp | 9 + be/src/io/fs/buffered_reader.h | 3 +- be/src/olap/base_tablet.cpp | 788 ++++ be/src/olap/base_tablet.h | 105 + be/src/olap/calc_delete_bitmap_executor.cpp | 4 +- be/src/olap/calc_delete_bitmap_executor.h | 6 +- be/src/olap/compaction.cpp | 2 +- be/src/olap/delete_handler.cpp | 16 +- be/src/olap/delta_writer.cpp | 44 +- be/src/olap/delta_writer.h | 37 +- be/src/olap/delta_writer_context.h | 1 + be/src/olap/delta_writer_v2.cpp | 6 + be/src/olap/full_compaction.cpp | 8 +- be/src/olap/memtable_flush_executor.cpp | 86 +- be/src/olap/memtable_flush_executor.h | 24 +- be/src/olap/memtable_writer.cpp | 19 +- be/src/olap/memtable_writer.h | 2 +- be/src/olap/merger.cpp | 6 +- be/src/olap/olap_server.cpp | 2 +- be/src/olap/parallel_scanner_builder.cpp | 2 +- be/src/olap/parallel_scanner_builder.h | 6 - be/src/olap/rowset/beta_rowset_reader.h | 11 +- be/src/olap/rowset/beta_rowset_writer.cpp | 69 +- be/src/olap/rowset/beta_rowset_writer.h | 13 +- be/src/olap/rowset/beta_rowset_writer_v2.h | 4 - be/src/olap/rowset/rowset.h | 2 +- be/src/olap/rowset/rowset_factory.cpp | 31 +- be/src/olap/rowset/rowset_factory.h | 11 +- be/src/olap/rowset/rowset_meta.cpp | 1 + be/src/olap/rowset/rowset_meta.h | 6 + be/src/olap/rowset/rowset_writer.h | 9 +- be/src/olap/rowset/rowset_writer_context.h | 34 +- be/src/olap/rowset/segcompaction.cpp | 3 +- be/src/olap/rowset/segment_creator.cpp | 15 +- .../inverted_index/query/query_factory.h | 2 +- .../rowset/segment_v2/inverted_index_cache.cpp | 229 +- .../olap/rowset/segment_v2/inverted_index_cache.h | 87 +- .../rowset/segment_v2/inverted_index_query_type.h | 15 + .../rowset/segment_v2/inverted_index_reader.cpp | 578 ++- .../olap/rowset/segment_v2/inverted_index_reader.h | 51 +- .../rowset/segment_v2/inverted_index_searcher.cpp | 112 + .../rowset/segment_v2/inverted_index_searcher.h | 70 + .../rowset/segment_v2/inverted_index_writer.cpp | 18 +- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 1 + be/src/olap/rowset/vertical_beta_rowset_writer.h | 2 - be/src/olap/rowset_builder.cpp | 25 +- be/src/olap/rowset_builder.h | 18 +- be/src/olap/schema_change.cpp | 16 +- be/src/olap/snapshot_manager.cpp | 11 +- be/src/olap/storage_engine.cpp | 6 +- be/src/olap/storage_engine.h | 1 + be/src/olap/tablet.cpp | 949 +---- be/src/olap/tablet.h | 124 +- be/src/olap/tablet_meta.cpp | 15 +- be/src/olap/tablet_schema.h | 2 +- be/src/olap/task/engine_checksum_task.cpp | 3 +- be/src/olap/task/engine_publish_version_task.cpp | 2 +- be/src/olap/task/engine_storage_migration_task.cpp | 6 +- be/src/olap/txn_manager.cpp | 64 +- be/src/olap/txn_manager.h | 40 +- be/src/olap/types.h | 14 +- be/src/olap/wal/wal_dirs_info.cpp | 32 +- be/src/olap/wal/wal_dirs_info.h | 2 + be/src/olap/wal/wal_manager.cpp | 4 + be/src/olap/wal/wal_manager.h | 1 + be/src/olap/wal/wal_table.cpp | 8 +- be/src/pipeline/exec/aggregation_sink_operator.cpp | 12 +- be/src/pipeline/exec/aggregation_sink_operator.h | 1 - be/src/pipeline/exec/analytic_sink_operator.cpp | 4 +- be/src/pipeline/exec/analytic_sink_operator.h | 1 - be/src/pipeline/exec/analytic_source_operator.cpp | 3 +- be/src/pipeline/exec/analytic_source_operator.h | 1 - be/src/pipeline/exec/exchange_sink_buffer.h | 1 - be/src/pipeline/exec/exchange_sink_operator.cpp | 1 - be/src/pipeline/exec/exchange_sink_operator.h | 1 - be/src/pipeline/exec/hashjoin_build_sink.cpp | 98 +- be/src/pipeline/exec/hashjoin_build_sink.h | 8 +- be/src/pipeline/exec/hashjoin_probe_operator.cpp | 74 +- be/src/pipeline/exec/hashjoin_probe_operator.h | 11 + be/src/pipeline/exec/join_build_sink_operator.cpp | 12 +- be/src/pipeline/exec/join_probe_operator.cpp | 13 +- be/src/pipeline/exec/join_probe_operator.h | 2 + be/src/pipeline/exec/olap_scan_operator.cpp | 5 +- be/src/pipeline/exec/olap_scan_operator.h | 1 + .../pipeline/exec/partition_sort_sink_operator.cpp | 48 +- .../pipeline/exec/partition_sort_sink_operator.h | 11 +- .../exec/partition_sort_source_operator.cpp | 2 - be/src/pipeline/exec/repeat_operator.cpp | 5 +- be/src/pipeline/exec/scan_operator.cpp | 11 +- be/src/pipeline/exec/scan_operator.h | 6 +- be/src/pipeline/exec/sort_sink_operator.cpp | 11 +- be/src/pipeline/exec/sort_sink_operator.h | 2 +- be/src/pipeline/exec/table_function_operator.h | 4 + be/src/pipeline/exec/union_source_operator.cpp | 15 +- be/src/pipeline/pipeline_fragment_context.cpp | 6 +- be/src/pipeline/pipeline_x/dependency.h | 2 +- be/src/pipeline/pipeline_x/operator.cpp | 12 +- be/src/pipeline/pipeline_x/operator.h | 6 +- be/src/pipeline/pipeline_x/pipeline_x_task.cpp | 5 +- be/src/runtime/exec_env_init.cpp | 2 + be/src/runtime/fragment_mgr.cpp | 5 +- be/src/runtime/group_commit_mgr.cpp | 27 +- be/src/runtime/jsonb_value.cpp | 2 +- be/src/runtime/load_channel.cpp | 18 +- be/src/runtime/load_stream.cpp | 2 +- be/src/runtime/load_stream_mgr.cpp | 2 +- be/src/runtime/load_stream_writer.cpp | 4 +- be/src/runtime/primitive_type.h | 4 +- be/src/runtime/query_statistics.cpp | 11 +- be/src/runtime/query_statistics.h | 19 +- be/src/runtime/runtime_filter_mgr.cpp | 2 +- be/src/runtime/runtime_predicate.cpp | 8 + be/src/runtime/runtime_predicate.h | 10 + be/src/runtime/stream_load/stream_load_context.h | 2 + .../runtime/stream_load/stream_load_executor.cpp | 12 +- be/src/runtime/tablets_channel.cpp | 262 +- be/src/runtime/tablets_channel.h | 16 +- be/src/service/backend_service.cpp | 121 +- be/src/service/backend_service.h | 44 +- be/src/service/brpc_service.cpp | 14 +- be/src/service/doris_main.cpp | 17 +- be/src/service/internal_service.cpp | 2 + be/src/util/jsonb_parser_simd.h | 4 +- be/src/util/runtime_profile.cpp | 5 +- be/src/util/runtime_profile.h | 6 +- be/src/util/s3_util.cpp | 42 +- .../aggregate_function_min_max.cpp | 10 + be/src/vec/columns/column_object.h | 8 + be/src/vec/columns/column_vector.cpp | 3 +- be/src/vec/columns/column_vector.h | 42 +- be/src/vec/common/hash_table/hash_map.h | 4 +- be/src/vec/common/hash_table/hash_map_context.h | 26 +- .../common/hash_table/hash_map_context_creator.h | 37 +- be/src/vec/common/hash_table/join_hash_table.h | 184 +- be/src/vec/common/schema_util.cpp | 66 +- be/src/vec/common/schema_util.h | 10 +- be/src/vec/common/sort/partition_sorter.cpp | 8 + be/src/vec/common/sort/partition_sorter.h | 1 + be/src/vec/common/uint128.h | 2 +- be/src/vec/core/field.h | 20 +- be/src/vec/core/types.h | 19 +- be/src/vec/core/wide_integer_impl.h | 3 +- be/src/vec/data_types/convert_field_to_type.cpp | 1 + be/src/vec/data_types/data_type_number_base.cpp | 6 +- .../vec/data_types/serde/data_type_jsonb_serde.cpp | 6 +- .../data_types/serde/data_type_number_serde.cpp | 9 +- .../vec/data_types/serde/data_type_number_serde.h | 2 + .../data_types/serde/data_type_object_serde.cpp | 38 + .../vec/data_types/serde/data_type_object_serde.h | 10 +- be/src/vec/data_types/serde/data_type_serde.cpp | 2 +- be/src/vec/exec/distinct_vaggregation_node.cpp | 2 +- be/src/vec/exec/format/orc/vorc_reader.cpp | 23 +- be/src/vec/exec/format/orc/vorc_reader.h | 4 +- .../exec/format/parquet/fix_length_plain_decoder.h | 6 +- be/src/vec/exec/format/parquet/vparquet_reader.cpp | 9 +- .../exec/join/null_aware_left_semi_join_impl.cpp | 10 +- be/src/vec/exec/join/process_hash_table_probe.h | 21 +- .../vec/exec/join/process_hash_table_probe_impl.h | 333 +- be/src/vec/exec/join/vhash_join_node.cpp | 135 +- be/src/vec/exec/join/vhash_join_node.h | 81 +- be/src/vec/exec/join/vjoin_node_base.cpp | 34 +- be/src/vec/exec/join/vjoin_node_base.h | 6 +- be/src/vec/exec/scan/new_olap_scan_node.cpp | 29 +- be/src/vec/exec/scan/new_olap_scan_node.h | 1 + be/src/vec/exec/scan/pip_scanner_context.h | 160 +- be/src/vec/exec/scan/scanner_context.cpp | 17 +- be/src/vec/exec/scan/scanner_context.h | 6 +- be/src/vec/exec/scan/scanner_scheduler.cpp | 8 +- be/src/vec/exec/scan/vfile_scanner.cpp | 25 +- be/src/vec/exec/scan/vscan_node.cpp | 2 +- be/src/vec/exec/scan/vscan_node.h | 1 - be/src/vec/exec/vaggregation_node.h | 2 +- be/src/vec/exec/vpartition_sort_node.cpp | 166 +- be/src/vec/exec/vpartition_sort_node.h | 101 +- be/src/vec/exec/vrepeat_node.cpp | 5 +- be/src/vec/exec/vset_operation_node.cpp | 11 +- be/src/vec/exec/vunion_node.cpp | 13 +- be/src/vec/exec/vunion_node.h | 4 +- be/src/vec/exprs/vcast_expr.cpp | 12 +- be/src/vec/exprs/vexpr_context.cpp | 44 + be/src/vec/exprs/vexpr_context.h | 4 + be/src/vec/functions/function.cpp | 11 +- be/src/vec/functions/function.h | 16 +- be/src/vec/functions/function_bitmap.cpp | 2 +- be/src/vec/functions/function_ip.cpp | 39 +- be/src/vec/functions/function_ip.h | 150 +- be/src/vec/functions/function_tokenize.cpp | 18 +- be/src/vec/functions/functions_comparison.h | 4 + be/src/vec/functions/match.cpp | 80 + be/src/vec/functions/match.h | 5 +- be/src/vec/functions/math.cpp | 12 + be/src/vec/functions/nullif.cpp | 2 +- be/src/vec/io/io_helper.h | 6 +- be/src/vec/olap/olap_data_convertor.cpp | 4 +- be/src/vec/runtime/shared_hash_table_controller.h | 1 + be/src/vec/runtime/vdatetime_value.cpp | 278 +- be/src/vec/runtime/vdatetime_value.h | 2 +- be/src/vec/sink/group_commit_block_sink.cpp | 2 +- be/src/vec/sink/group_commit_block_sink.h | 2 +- be/src/vec/sink/load_stream_stub.cpp | 4 +- be/src/vec/sink/vdata_stream_sender.cpp | 3 + be/src/vec/sink/vtablet_block_convertor.cpp | 2 +- be/src/vec/sink/writer/async_result_writer.cpp | 30 +- be/src/vec/sink/writer/vtablet_writer.cpp | 9 +- be/src/vec/sink/writer/vtablet_writer.h | 2 + be/src/vec/sink/writer/vtablet_writer_v2.cpp | 5 + be/test/agent/task_worker_pool_test.cpp | 22 +- be/test/olap/delta_writer_test.cpp | 10 +- .../olap/engine_storage_migration_task_test.cpp | 2 +- be/test/olap/memtable_memory_limiter_test.cpp | 2 +- be/test/olap/ordered_data_compaction_test.cpp | 9 +- be/test/olap/path_gc_test.cpp | 2 +- be/test/olap/rowid_conversion_test.cpp | 25 +- .../inverted_index_searcher_cache_test.cpp | 250 +- be/test/olap/tablet_cooldown_test.cpp | 2 +- be/test/runtime/load_stream_test.cpp | 3 +- be/test/vec/function/function_array_index_test.cpp | 14 +- be/test/vec/function/function_test_util.h | 19 +- be/test/vec/olap/vertical_compaction_test.cpp | 69 +- bin/start_be.sh | 13 +- bin/start_fe.sh | 8 +- cloud/src/meta-service/codec.cpp | 2 + conf/be.conf | 13 + conf/fe.conf | 4 +- .../hive/scripts/create_preinstalled_table.hql | 35 + .../fixed_length_byte_array_decimal_table/000000_0 | Bin 0 -> 200910 bytes docs/dev.json | 4 + docs/en/docs/admin-manual/privilege-ldap/ranger.md | 249 ++ docs/en/docs/admin-manual/workload-group.md | 38 +- docs/en/docs/advanced/partition/auto-partition.md | 58 + .../import/import-way/stream-load-manual.md | 13 + .../data-operate/update-delete/partial-update.md | 4 +- docs/en/docs/ecosystem/doris-streamloader.md | 250 ++ docs/en/docs/ecosystem/flink-doris-connector.md | 18 +- docs/en/docs/ecosystem/spark-doris-connector.md | 4 +- docs/en/docs/install/k8s-deploy/network.md | 4 +- .../docs/install/k8s-deploy/persistent-volume.md | 12 +- docs/en/docs/lakehouse/cloud-auth/cloud-auth.md | 61 + docs/en/docs/lakehouse/multi-catalog/hive.md | 30 +- docs/en/docs/lakehouse/multi-catalog/iceberg.md | 15 +- docs/en/docs/query-acceleration/statistics.md | 2 +- docs/en/docs/releasenotes/release-2.0.4.md | 67 + .../date-time-functions/date-format.md | 10 +- .../ip-functions/ipv4-string-to-num-or-default.md | 10 +- .../ip-functions/ipv4-string-to-num.md | 5 +- .../ip-functions/ipv6-string-to-num.md | 5 +- .../sql-functions/numeric-functions/cosh.md | 52 + .../sql-functions/numeric-functions/tanh.md | 52 + .../Alter/ALTER-TABLE-COLUMN.md | 398 +- .../sql-manual/sql-reference/Data-Types/IPV4.md | 1 - .../sql-manual/sql-reference/Data-Types/IPV6.md | 3 +- .../Show-Statements/SHOW-RESOURCES.md | 19 +- .../Show-Statements/SHOW-WORKLOAD-GROUPS.md | 19 +- docs/images/ranger/ranger1.png | Bin 0 -> 176660 bytes docs/images/ranger/ranger2.png | Bin 0 -> 150841 bytes docs/images/ranger/ranger3.png | Bin 0 -> 152867 bytes docs/images/ranger/ranger4.png | Bin 0 -> 175828 bytes docs/sidebars.json | 16 +- .../docs/admin-manual/privilege-ldap/ranger.md | 249 ++ docs/zh-CN/docs/admin-manual/workload-group.md | 39 +- .../docs/advanced/partition/auto-partition.md | 58 + .../import/import-way/stream-load-manual.md | 12 + .../data-operate/update-delete/partial-update.md | 4 +- docs/zh-CN/docs/ecosystem/doris-streamloader.md | 249 ++ docs/zh-CN/docs/ecosystem/flink-doris-connector.md | 18 +- docs/zh-CN/docs/ecosystem/spark-doris-connector.md | 4 +- docs/zh-CN/docs/install/k8s-deploy/network.md | 4 +- .../docs/install/k8s-deploy/persistent-volume.md | 11 +- docs/zh-CN/docs/lakehouse/cloud-auth/cloud-auth.md | 61 + docs/zh-CN/docs/lakehouse/multi-catalog/hive.md | 32 +- docs/zh-CN/docs/lakehouse/multi-catalog/iceberg.md | 15 +- docs/zh-CN/docs/query-acceleration/statistics.md | 2 +- docs/zh-CN/docs/releasenotes/release-2.0.4.md | 60 + .../date-time-functions/date-format.md | 4 +- .../ip-functions/ipv4-string-to-num-or-default.md | 10 +- .../ip-functions/ipv4-string-to-num.md | 5 +- .../ip-functions/ipv6-string-to-num.md | 5 +- .../sql-functions/numeric-functions/cosh.md | 52 + .../sql-functions/numeric-functions/tanh.md | 52 + .../Alter/ALTER-TABLE-COLUMN.md | 414 +- .../sql-manual/sql-reference/Data-Types/IPV4.md | 1 - .../sql-manual/sql-reference/Data-Types/IPV6.md | 3 +- .../Show-Statements/SHOW-RESOURCES.md | 11 +- .../Show-Statements/SHOW-WORKLOAD-GROUPS.md | 17 +- .../java/org/apache/doris/avro/S3FileReader.java | 7 +- .../org/apache/doris/paimon/PaimonJniScanner.java | 20 +- .../main/java/org/apache/doris/catalog/Type.java | 42 + .../main/java/org/apache/doris/common/Config.java | 15 +- .../org/apache/doris/common/FeMetaVersion.java | 4 +- .../antlr4/org/apache/doris/nereids/DorisLexer.g4 | 4 + .../antlr4/org/apache/doris/nereids/DorisParser.g4 | 15 +- fe/fe-core/src/main/cup/sql_parser.cup | 10 +- .../main/java/org/apache/doris/alter/Alter.java | 10 +- .../java/org/apache/doris/alter/AlterJobV2.java | 4 + .../apache/doris/alter/SchemaChangeHandler.java | 2 +- .../doris/analysis/AlterColumnStatsStmt.java | 18 +- .../apache/doris/analysis/AlterDatabaseRename.java | 5 +- .../apache/doris/analysis/AlterTableStatsStmt.java | 17 +- .../org/apache/doris/analysis/AlterUserStmt.java | 5 +- .../java/org/apache/doris/analysis/Analyzer.java | 5 + .../doris/analysis/CreateMaterializedViewStmt.java | 9 +- .../org/apache/doris/analysis/CreateTableStmt.java | 2 +- .../org/apache/doris/analysis/CreateUserStmt.java | 5 +- .../org/apache/doris/analysis/DateLiteral.java | 315 +- .../org/apache/doris/analysis/DescribeStmt.java | 21 +- .../main/java/org/apache/doris/analysis/Expr.java | 11 + .../apache/doris/analysis/FunctionCallExpr.java | 24 +- .../org/apache/doris/analysis/JoinOperator.java | 4 +- .../org/apache/doris/analysis/LateralViewRef.java | 2 +- .../apache/doris/analysis/NativeInsertStmt.java | 7 +- .../org/apache/doris/analysis/PartitionDesc.java | 8 + .../org/apache/doris/analysis/RecoverDbStmt.java | 6 +- .../doris/analysis/RecoverPartitionStmt.java | 6 +- .../apache/doris/analysis/RecoverTableStmt.java | 13 +- .../doris/analysis/ShowCatalogRecycleBinStmt.java | 2 +- .../apache/doris/analysis/ShowCreateDbStmt.java | 11 +- .../org/apache/doris/analysis/ShowIndexStmt.java | 1 + .../apache/doris/analysis/ShowResourcesStmt.java | 51 +- .../apache/doris/analysis/ShowTransactionStmt.java | 15 +- .../doris/analysis/ShowWorkloadGroupsStmt.java | 23 +- .../java/org/apache/doris/analysis/SlotRef.java | 11 +- .../org/apache/doris/analysis/StatementBase.java | 3 + .../org/apache/doris/backup/BackupHandler.java | 6 + .../org/apache/doris/binlog/AlterJobRecord.java | 54 + .../org/apache/doris/binlog/BinlogManager.java | 20 +- .../apache/doris/binlog/TruncateTableRecord.java | 51 + .../doris/catalog/BuiltinScalarFunctions.java | 4 + .../apache/doris/catalog/CatalogRecycleBin.java | 90 +- .../main/java/org/apache/doris/catalog/Column.java | 21 +- .../main/java/org/apache/doris/catalog/Env.java | 37 +- .../java/org/apache/doris/catalog/EnvFactory.java | 13 + .../java/org/apache/doris/catalog/EsTable.java | 7 +- .../doris/catalog/HiveMetaStoreClientHelper.java | 2 +- .../org/apache/doris/catalog/InternalSchema.java | 113 + .../doris/catalog/InternalSchemaInitializer.java | 133 +- .../apache/doris/catalog/ListPartitionItem.java | 11 + .../main/java/org/apache/doris/catalog/MTMV.java | 16 +- .../java/org/apache/doris/catalog/OlapTable.java | 61 +- .../org/apache/doris/catalog/PartitionInfo.java | 2 +- .../org/apache/doris/catalog/PartitionItem.java | 2 + .../org/apache/doris/catalog/PartitionKey.java | 4 + .../apache/doris/catalog/RangePartitionItem.java | 8 + .../java/org/apache/doris/catalog/ResourceMgr.java | 8 +- .../main/java/org/apache/doris/catalog/Table.java | 2 +- .../org/apache/doris/catalog/TableAttributes.java | 49 +- .../java/org/apache/doris/catalog/TableIf.java | 10 +- .../authorizer/ranger/RangerAccessController.java | 69 + .../authorizer/ranger/doris/DorisAccessType.java | 80 + .../doris/DorisObjectType.java} | 6 +- .../ranger/doris/RangerDorisAccessController.java | 181 + .../doris/RangerDorisPlugin.java} | 6 +- .../ranger/doris/RangerDorisResource.java | 80 + .../{ => ranger/hive}/HiveAccessType.java | 2 +- .../{ => ranger/hive}/HiveObjectType.java | 2 +- .../hive}/RangerHiveAccessController.java | 72 +- .../hive}/RangerHiveAccessControllerFactory.java | 2 +- .../{ => ranger/hive}/RangerHiveAuditHandler.java | 2 +- .../hive}/RangerHiveAuditLogFlusher.java | 2 +- .../hive}/RangerHiveAuthorizerProvider.java | 2 +- .../{ => ranger/hive}/RangerHivePlugin.java | 2 +- .../{ => ranger/hive}/RangerHiveResource.java | 2 +- .../catalog/constraint/ForeignKeyConstraint.java | 6 +- .../doris/catalog/external/HMSExternalTable.java | 193 +- .../catalog/external/IcebergExternalTable.java | 76 +- .../doris/cloud/catalog/CloudClusterChecker.java | 180 +- .../org/apache/doris/cloud/catalog/CloudEnv.java | 23 +- .../doris/cloud/catalog/CloudEnvFactory.java | 17 + .../cloud/catalog/CloudInstanceStatusChecker.java | 11 +- .../apache/doris/cloud/catalog/CloudReplica.java | 21 +- .../cloud/common/util/CloudPropertyAnalyzer.java | 39 +- .../cloud/datasource/CloudInternalCatalog.java | 2 +- .../doris/cloud/load/CloudBrokerLoadJob.java | 119 + .../cloud/planner/CloudStreamLoadPlanner.java | 62 + .../doris/cloud/system/CloudSystemInfoService.java | 331 +- .../transaction/CloudGlobalTransactionMgr.java | 5 + .../java/org/apache/doris/common/ErrorCode.java | 6 +- .../apache/doris/common/proc/BackendProcNode.java | 15 +- .../doris/common/proc/IndexSchemaProcNode.java | 24 +- .../apache/doris/common/proc/ReplicasProcNode.java | 15 +- .../apache/doris/common/proc/TablesProcDir.java | 6 +- .../apache/doris/common/proc/TabletsProcDir.java | 13 +- .../org/apache/doris/common/util/PrintableMap.java | 3 + .../apache/doris/common/util/PropertyAnalyzer.java | 73 +- .../java/org/apache/doris/common/util/S3Util.java | 20 +- .../apache/doris/datasource/InternalCatalog.java | 40 +- .../doris/datasource/hive/HiveMetaStoreCache.java | 28 +- .../doris/datasource/hive/HivePartition.java | 33 +- .../datasource/hive/ThriftHMSCachedClient.java | 81 +- .../datasource/iceberg/IcebergExternalCatalog.java | 2 +- .../iceberg/IcebergHadoopExternalCatalog.java | 7 +- .../iceberg/IcebergRestExternalCatalog.java | 7 +- .../property/constants/S3Properties.java | 4 +- .../external/elasticsearch/EsMetaStateTracker.java | 12 +- .../apache/doris/external/hive/util/HiveUtil.java | 44 +- .../doris/external/iceberg/util/IcebergUtils.java | 96 +- .../doris/httpv2/controller/BaseController.java | 9 +- .../apache/doris/job/extensions/mtmv/MTMVJob.java | 2 +- .../apache/doris/job/extensions/mtmv/MTMVTask.java | 70 +- .../org/apache/doris/journal/JournalBatch.java | 3 + .../apache/doris/journal/bdbje/BDBJEJournal.java | 21 + .../apache/doris/load/loadv2/BrokerLoadJob.java | 34 +- .../org/apache/doris/load/loadv2/BulkLoadJob.java | 10 +- .../java/org/apache/doris/load/loadv2/LoadJob.java | 3 +- .../doris/load/loadv2/LoadingTaskPlanner.java | 4 +- .../load/routineload/KafkaRoutineLoadJob.java | 9 +- .../java/org/apache/doris/metric/MetricRepo.java | 8 +- .../main/java/org/apache/doris/mtmv/MTMVCache.java | 2 +- .../java/org/apache/doris/mtmv/MTMVJobInfo.java | 11 +- .../doris/mtmv/MTMVMaxTimestampSnapshot.java | 59 + .../org/apache/doris/mtmv/MTMVPartitionInfo.java | 8 +- .../java/org/apache/doris/mtmv/MTMVPlanUtil.java | 3 +- .../MTMVRefreshPartitionSnapshot.java} | 28 +- .../org/apache/doris/mtmv/MTMVRefreshSnapshot.java | 75 + .../org/apache/doris/mtmv/MTMVRelatedTableIf.java | 90 + .../java/org/apache/doris/mtmv/MTMVService.java | 4 +- .../MTMVSnapshotIf.java} | 8 +- .../MTMVTimestampSnapshot.java} | 43 +- .../main/java/org/apache/doris/mtmv/MTMVUtil.java | 349 +- .../MTMVVersionSnapshot.java} | 39 +- .../mysql/privilege/AccessControllerManager.java | 55 +- .../mysql/privilege/CatalogAccessController.java | 10 + ...ntroller.java => InternalAccessController.java} | 19 +- .../doris/mysql/privilege/PrivPredicate.java | 23 +- .../mysql/privilege/SystemAccessController.java | 54 - .../apache/doris/mysql/privilege/UserManager.java | 1 + .../org/apache/doris/nereids/StatementContext.java | 72 + .../glue/translator/ExpressionTranslator.java | 23 +- .../glue/translator/PhysicalPlanTranslator.java | 85 +- .../glue/translator/PlanTranslatorContext.java | 5 + .../doris/nereids/jobs/executor/Analyzer.java | 7 +- .../doris/nereids/jobs/executor/Rewriter.java | 16 +- .../jobs/joinorder/hypergraph/GraphSimplifier.java | 3 +- .../jobs/joinorder/hypergraph/HyperGraph.java | 39 +- .../jobs/joinorder/hypergraph/edge/Edge.java | 4 + .../jobs/joinorder/hypergraph/edge/JoinEdge.java | 19 +- .../doris/nereids/parser/LogicalPlanBuilder.java | 34 + .../post/PushDownFilterThroughProject.java | 4 + .../doris/nereids/processor/post/Validator.java | 2 +- .../org/apache/doris/nereids/rules/RuleType.java | 11 +- .../doris/nereids/rules/analysis/BindSink.java | 9 +- .../nereids/rules/analysis/BindSlotWithPaths.java | 87 + .../nereids/rules/analysis/CheckAfterRewrite.java | 5 +- .../rules/analysis/CollectJoinConstraint.java | 2 +- .../doris/nereids/rules/analysis/SlotBinder.java | 8 +- .../nereids/rules/analysis/SubqueryToApply.java | 66 +- .../mv/AbstractMaterializedViewAggregateRule.java | 205 +- .../mv/AbstractMaterializedViewJoinRule.java | 6 - .../mv/AbstractMaterializedViewRule.java | 68 +- .../rules/exploration/mv/HyperGraphComparator.java | 116 +- .../exploration/mv/MaterializedViewUtils.java | 93 +- .../nereids/rules/exploration/mv/StructInfo.java | 4 +- .../rules/expression/ExpressionOptimization.java | 4 +- .../rules/expression/ExpressionRewrite.java | 47 +- .../nereids/rules/expression/check/CheckCast.java | 4 + .../rules/expression/rules/ElementAtToSlot.java | 89 + .../rules/expression/rules/FunctionBinder.java | 34 +- .../rules/SimplifyArithmeticComparisonRule.java | 20 +- .../TrySimplifyPredicateWithMarkJoinSlot.java | 113 + .../implementation/LogicalJoinToHashJoin.java | 1 + .../LogicalJoinToNestedLoopJoin.java | 1 + .../rules/rewrite/AdjustConjunctsReturnType.java | 5 +- .../nereids/rules/rewrite/AdjustNullable.java | 16 +- .../nereids/rules/rewrite/CheckDataTypes.java | 8 +- .../rules/rewrite/CheckMatchExpression.java | 6 +- .../rules/rewrite/ConvertInnerOrCrossJoin.java | 6 +- .../rules/rewrite/DeferMaterializeTopNResult.java | 3 +- .../rules/rewrite/EliminateDedupJoinCondition.java | 7 +- .../rules/rewrite/EliminateJoinCondition.java | 8 +- .../nereids/rules/rewrite/EliminateMarkJoin.java | 59 + .../rewrite/EliminateNullAwareLeftAntiJoin.java | 5 +- .../nereids/rules/rewrite/EliminateSemiJoin.java | 2 + .../rules/rewrite/ExtractFilterFromCrossJoin.java | 4 +- .../rules/rewrite/FindHashConditionForJoin.java | 1 + .../doris/nereids/rules/rewrite/InApplyToJoin.java | 66 +- .../nereids/rules/rewrite/NormalizeToSlot.java | 3 + .../doris/nereids/rules/rewrite/OrExpansion.java | 1 + .../rules/rewrite/PullUpProjectUnderTopN.java | 1 + ...hroughJoin.java => PushDownAggThroughJoin.java} | 107 +- ...oin.java => PushDownAggThroughJoinOneSide.java} | 50 +- .../rules/rewrite/PushDownAliasThroughJoin.java | 3 +- .../rewrite/PushDownCountThroughJoinOneSide.java | 216 -- .../PushDownExpressionsInHashCondition.java | 13 + .../rules/rewrite/PushDownFilterThroughJoin.java | 1 + .../rewrite/PushDownFilterThroughProject.java | 2 + .../rules/rewrite/PushDownJoinOtherCondition.java | 3 +- .../rules/rewrite/PushDownSumThroughJoin.java | 212 -- .../rewrite/PushDownSumThroughJoinOneSide.java | 98 - .../rewrite/UnCorrelatedApplyAggregateFilter.java | 2 +- .../rules/rewrite/UnCorrelatedApplyFilter.java | 2 +- .../rewrite/UnCorrelatedApplyProjectFilter.java | 2 +- .../mv/AbstractSelectMaterializedIndexRule.java | 4 +- .../apache/doris/nereids/stats/JoinEstimation.java | 12 +- .../trees/copier/LogicalPlanDeepCopier.java | 8 +- .../doris/nereids/trees/expressions/Alias.java | 13 +- .../trees/expressions/ArrayItemReference.java | 2 +- .../nereids/trees/expressions/SlotReference.java | 94 +- .../functions/scalar/{ElementAt.java => Cosh.java} | 41 +- .../expressions/functions/scalar/ElementAt.java | 6 +- .../scalar/PushDownToProjectionFunction.java | 40 + .../functions/scalar/{ElementAt.java => Tanh.java} | 41 +- .../trees/expressions/literal/DateLiteral.java | 5 +- .../expressions/visitor/ScalarFunctionVisitor.java | 10 + .../doris/nereids/trees/plans/algebra/Join.java | 23 +- .../doris/nereids/trees/plans/algebra/Project.java | 21 + .../trees/plans/commands/CreateTableCommand.java | 36 +- .../trees/plans/commands/InsertExecutor.java | 6 +- .../trees/plans/commands/UpdateCommand.java | 3 +- .../plans/commands/UpdateMvByPartitionCommand.java | 17 +- .../plans/commands/info/ColumnDefinition.java | 6 + .../trees/plans/commands/info/CreateMTMVInfo.java | 19 +- .../trees/plans/commands/info/CreateTableInfo.java | 8 +- .../nereids/trees/plans/logical/LogicalApply.java | 33 +- .../trees/plans/logical/LogicalCTEConsumer.java | 1 + .../plans/logical/LogicalCatalogRelation.java | 2 +- .../nereids/trees/plans/logical/LogicalJoin.java | 270 +- .../trees/plans/logical/LogicalOlapScan.java | 54 +- .../trees/plans/logical/LogicalTVFRelation.java | 2 +- .../nereids/trees/plans/logical/UsingJoin.java | 26 +- .../trees/plans/physical/AbstractPhysicalJoin.java | 61 +- .../plans/physical/PhysicalCatalogRelation.java | 2 +- .../trees/plans/physical/PhysicalHashJoin.java | 59 +- .../plans/physical/PhysicalNestedLoopJoin.java | 73 +- .../trees/plans/physical/PhysicalTVFRelation.java | 2 +- .../org/apache/doris/nereids/types/DataType.java | 6 + .../apache/doris/nereids/types/VarcharType.java | 8 +- .../types/{VarcharType.java => VariantType.java} | 71 +- .../apache/doris/nereids/util/ExpressionUtils.java | 72 + .../org/apache/doris/nereids/util/JoinUtils.java | 17 +- .../doris/nereids/util/TypeCoercionUtils.java | 16 +- .../java/org/apache/doris/persist/AlterMTMV.java | 12 + .../apache/doris/persist/DropPartitionInfo.java | 18 +- .../persist/ReplacePartitionOperationLog.java | 16 +- .../org/apache/doris/persist/gson/GsonUtils.java | 11 + .../apache/doris/planner/DistributedPlanner.java | 8 - .../java/org/apache/doris/planner/EsScanNode.java | 2 +- .../org/apache/doris/planner/HashJoinNode.java | 95 + .../apache/doris/planner/NestedLoopJoinNode.java | 17 + .../org/apache/doris/planner/OlapScanNode.java | 55 +- .../org/apache/doris/planner/OlapTableSink.java | 3 +- .../org/apache/doris/planner/OriginalPlanner.java | 10 +- .../java/org/apache/doris/planner/PlanNode.java | 5 - .../apache/doris/planner/StreamLoadPlanner.java | 11 +- .../doris/planner/external/HiveScanNode.java | 3 +- .../doris/planner/external/hudi/HudiScanNode.java | 6 +- .../planner/external/iceberg/IcebergApiSource.java | 9 +- .../planner/external/iceberg/IcebergHMSSource.java | 4 +- .../external/iceberg/IcebergMetadataCache.java | 80 +- .../planner/external/iceberg/IcebergScanNode.java | 22 +- .../external/paimon/PaimonValueConverter.java | 8 +- .../org/apache/doris/plugin/audit/AuditEvent.java | 4 + .../doris/plugin/audit/AuditLoaderPlugin.java | 1 + .../doris/plugin/audit/AuditStreamLoader.java | 8 +- .../java/org/apache/doris/policy/PolicyMgr.java | 10 +- .../java/org/apache/doris/qe/ConnectContext.java | 65 +- .../main/java/org/apache/doris/qe/Coordinator.java | 43 +- .../java/org/apache/doris/qe/SessionVariable.java | 26 +- .../java/org/apache/doris/qe/ShowExecutor.java | 26 +- .../java/org/apache/doris/qe/StmtExecutor.java | 11 +- .../resource/workloadgroup/WorkloadGroupMgr.java | 17 +- .../WorkloadRuntimeStatusMgr.java | 4 + .../apache/doris/service/FrontendServiceImpl.java | 30 +- .../org/apache/doris/statistics/AnalysisJob.java | 14 - .../apache/doris/statistics/AnalysisManager.java | 2 +- .../apache/doris/statistics/BaseAnalysisTask.java | 12 +- .../org/apache/doris/statistics/ColStatsData.java | 71 +- .../apache/doris/statistics/ColumnStatistic.java | 1 + .../doris/statistics/ExternalAnalysisTask.java | 10 - .../apache/doris/statistics/JdbcAnalysisTask.java | 9 - .../doris/statistics/StatisticConstants.java | 2 +- .../apache/doris/statistics/StatisticsCache.java | 39 +- .../apache/doris/statistics/StatisticsCleaner.java | 12 +- .../java/org/apache/doris/statistics/StatsId.java | 11 +- .../doris/statistics/util/StatisticsUtil.java | 5 +- .../org/apache/doris/system/BackendHbResponse.java | 1 - .../org/apache/doris/system/SystemInfoService.java | 190 +- .../ActiveQueriesTableValuedFunction.java | 2 + .../doris/tablefunction/MetadataGenerator.java | 4 + .../doris/tablefunction/S3TableValuedFunction.java | 7 +- .../doris/transaction/DatabaseTransactionMgr.java | 35 +- .../doris/transaction/GlobalTransactionMgr.java | 6 + .../transaction/GlobalTransactionMgrIface.java | 2 + .../apache/doris/transaction/TableCommitInfo.java | 48 +- .../apache/doris/transaction/TransactionState.java | 6 +- .../doris/alter/InternalSchemaAlterTest.java | 74 + .../apache/doris/analysis/CreateUserStmtTest.java | 6 +- .../doris/analysis/ShowResourcesStmtTest.java | 12 +- .../doris/cloud/catalog/CloudEnvFactoryTest.java | 7 +- .../doris/common/proc/BackendProcNodeTest.java | 2 +- .../apache/doris/datasource/ColumnPrivTest.java | 16 + .../datasource/property/PropertyConverterTest.java | 3 +- .../nereids/jobs/cascades/DeriveStatsJobTest.java | 5 +- .../rules/exploration/mv/EliminateJoinTest.java | 25 +- .../exploration/mv/MaterializedViewUtilsTest.java | 94 +- .../expression/ExpressionRewriteTestHelper.java | 3 + .../rules/expression/PredicatesSplitterTest.java | 4 +- .../expression/SimplifyArithmeticRuleTest.java | 39 + .../rules/expression/SimplifyRangeTest.java | 49 + .../SimplifyArithmeticComparisonRuleTest.java | 34 + .../expression/rules/SimplifyCastRuleTest.java | 141 +- .../rules/rewrite/ExistsApplyToJoinTest.java | 8 +- .../doris/nereids/rules/rewrite/OrToInTest.java | 9 + .../PushDownCountThroughJoinOneSideTest.java | 139 - .../rewrite/PushDownCountThroughJoinTest.java | 13 +- .../rewrite/PushDownMinMaxSumThroughJoinTest.java | 357 ++ .../rewrite/PushDownMinMaxThroughJoinTest.java | 183 - .../rewrite/PushDownSumThroughJoinOneSideTest.java | 135 - .../rules/rewrite/PushDownSumThroughJoinTest.java | 29 +- .../doris/nereids/stats/StatsCalculatorTest.java | 6 +- .../trees/expressions/literal/DateLiteralTest.java | 6 + .../doris/nereids/trees/plans/ConstraintTest.java | 31 + .../nereids/trees/plans/PlanToStringTest.java | 2 +- .../doris/persist/DropPartitionInfoTest.java | 14 +- .../apache/doris/planner/OlapTableSinkTest.java | 8 +- .../org/apache/doris/planner/QueryPlanTest.java | 4 +- .../apache/doris/statistics/AnalysisJobTest.java | 7 - .../doris/statistics/AnalysisTaskExecutorTest.java | 2 +- .../org/apache/doris/statistics/AnalyzeTest.java | 2 +- .../org/apache/doris/statistics/CacheTest.java | 2 - .../apache/doris/statistics/ColStatsDataTest.java | 71 + .../apache/doris/utframe/TestWithFeService.java | 4 + gensrc/script/doris_builtins_functions.py | 2 + gensrc/thrift/FrontendService.thrift | 5 +- gensrc/thrift/PlanNodes.thrift | 6 +- .../all_types.csv.gz | Bin .../data/correctness/test_str_to_date.out | 18 +- regression-test/data/correctness_p0/test_avg.out | 3 + .../data/datatype_p0/ip/test_ip_basic.out | 131 + .../test_complextype_nested_version_schema.out | 15 + .../data/export_p0/test_outfile_csv_with_names.out | 40 +- .../external_table_p0/hive/test_hive_parquet.out | 12 + .../jdbc/test_doris_jdbc_catalog.out | 16 +- .../jdbc/test_mysql_jdbc_catalog.out | 4 +- .../jdbc/test_oracle_jdbc_catalog.out | 2 +- .../jdbc/test_pg_jdbc_catalog.out | 2 +- .../jdbc/test_sqlserver_jdbc_catalog.out | 4 +- .../paimon/test_paimon_catalog.out | 134 +- .../test_external_catalog_iceberg_partition.out | 33 + .../concurrency_update1.csv} | 0 .../concurrency_update2.csv | 0 .../fault_injection_p0/concurrency_update3.csv | 21 + .../test_index_mow_fault_injection.out} | 14 +- ..._partial_update_publish_conflict_with_error.out | 47 + .../data/index_p0/test_bitmap_index.out | 58 - .../test_decimal_bitmap_index_multi_page.out | 3 - .../data/inverted_index_p0/test_bitmap_index.out | 40 - .../test_index_match_phrase_prefix.out | 15 + .../data/inverted_index_p0/test_inverted_index.out | 52 - .../broker_load/broker_load_with_partition.csv | 6 + .../test_broker_load_with_partition.out | 10 + .../data/load_p0/http_stream/test_http_stream.out | 4 + regression-test/data/mtmv_p0/test_hive_mtmv.out | 14 + regression-test/data/nereids_arith_p0/integer.out | 414 +- .../data/nereids_function_p0/ip_functions.out | 9 + .../data/nereids_function_p0/scalar_function/C.out | 29 + .../data/nereids_function_p0/scalar_function/T.out | 29 + .../data/nereids_p0/join/test_mark_join.out | 43 + .../nereids_p0/subquery/subquery_unnesting.out | 1494 ++++++++ .../subquery/test_subquery_in_project.out | 120 + .../push_down_count_through_join_one_side.out | 6 +- .../eager_aggregate/push_down_max_through_join.out | 6 +- .../eager_aggregate/push_down_min_through_join.out | 6 +- .../eager_aggregate/push_down_sum_through_join.out | 12 +- .../push_down_sum_through_join_one_side.out | 6 +- .../mv/agg_with_roll_up/aggregate_with_roll_up.out | 30 + .../aggregate_without_roll_up.out | 40 + .../mv/join/left_outer/outer_join.out | 8 + .../data/nereids_rules_p0/mv/ssb/mv_ssb_test.out | 3955 ++++++++++++++++++++ .../data/nereids_rules_p0/pkfk/eliminate_inner.out | 8 +- .../push_down_top_n_distinct_through_join.out | 2 +- .../data/nereids_syntax_p0/constraint.out | 23 +- .../data/nereids_syntax_p0/set_operation.out | 4 + .../sub_query_diff_old_optimize.out | 3 + .../shape/query10.out | 85 +- .../shape/query35.out | 53 +- .../noStatsRfPrune/query10.out | 49 +- .../noStatsRfPrune/query35.out | 51 +- .../no_stats_shape/query10.out | 49 +- .../no_stats_shape/query35.out | 51 +- .../rf_prune/query10.out | 83 +- .../rf_prune/query35.out | 53 +- .../nereids_tpcds_shape_sf100_p0/shape/query10.out | 83 +- .../nereids_tpcds_shape_sf100_p0/shape/query35.out | 53 +- .../test_aggregate_all_functions2.out | 2 +- .../ip_functions/test_ip_functions.out | 9 + .../test_schema_change_agg_check_all_types.out | 27 + .../data/variable_p0/set_and_unset_variable.out | 6 + regression-test/data/variant_p0/column_name.out | 2 +- regression-test/data/variant_p0/load.out | 4 +- .../variant_p0/schema_change/schema_change.out | 24 + .../data/variant_p0/variant_hirachinal.out | 21 + .../data/variant_p0/variant_with_rowstore.out | 25 + .../org/apache/doris/regression/suite/Suite.groovy | 50 +- regression-test/pipeline/common/teamcity-utils.sh | 6 +- regression-test/pipeline/external/conf/be.conf | 3 + regression-test/pipeline/p0/conf/be.conf | 3 + regression-test/pipeline/p0/conf/fe.conf | 3 + regression-test/pipeline/p1/conf/be.conf | 5 +- .../suites/catalog_recycle_bin_p0/show.groovy | 146 + .../cold_heat_separation/policy/create.groovy | 6 +- .../suites/cold_heat_separation/policy/drop.groovy | 55 +- ...paction_with_dup_key_max_file_size_limit.groovy | 8 +- .../compaction/test_compacation_with_delete.groovy | 21 +- .../compaction/test_compaction_agg_keys.groovy | 21 +- .../test_compaction_agg_keys_with_delete.groovy | 21 +- .../compaction/test_compaction_dup_keys.groovy | 21 +- .../test_compaction_dup_keys_with_delete.groovy | 21 +- ...compaction_uniq_cluster_keys_with_delete.groovy | 21 +- .../compaction/test_compaction_uniq_keys.groovy | 21 +- .../test_compaction_uniq_keys_cluster_key.groovy | 21 +- .../test_compaction_uniq_keys_row_store.groovy | 21 +- .../test_compaction_uniq_keys_with_delete.groovy | 21 +- .../suites/compaction/test_full_compaction.groovy | 28 +- .../test_full_compaction_by_table_id.groovy | 26 +- .../test_single_replica_compaction.groovy | 14 +- .../test_vertical_compaction_agg_keys.groovy | 21 +- .../test_vertical_compaction_dup_keys.groovy | 21 +- .../test_vertical_compaction_uniq_keys.groovy | 21 +- .../suites/correctness/test_str_to_date.groovy | 14 +- .../suites/correctness_p0/test_avg.groovy | 3 + .../correctness_p0/test_bugfix_block_reuse.groovy | 3 - .../correctness_p0/test_many_inlineview.groovy | 3 - .../test_sequence_col_default_value.groovy | 2 +- .../agg_state/max/test_agg_state_max.groovy | 2 +- .../datatype_p0/date/test_invalid_date.groovy | 37 - .../suites/datatype_p0/ip/test_ip_basic.groovy | 106 + .../test_complextype_nested_version_schema.groovy | 49 + .../export_p0/test_outfile_csv_with_names.groovy | 17 +- .../hive/test_hive_parquet.groovy | 16 + .../paimon/test_paimon_catalog.groovy | 235 +- .../test_external_catalog_iceberg_partition.groovy | 21 + .../test_external_catalog_icebergv2_nereids.groovy | 2 +- .../paimon/paimon_timestamp_types.groovy | 2 +- .../test_index_compaction_fault_injection.groovy | 33 +- .../test_index_mow_fault_injection.groovy | 72 + ...rtial_update_publish_conflict_with_error.groovy | 171 + .../test_rowset_writer_fault.groovy | 66 + .../suites/index_p0/test_bitmap_index.groovy | 68 +- .../test_decimal_bitmap_index_multi_page.groovy | 5 +- .../test_index_change_with_compaction.groovy | 23 +- .../test_index_compaction_dup_keys.groovy | 27 +- .../test_index_compaction_null.groovy | 33 +- .../test_index_compaction_unique_keys.groovy | 27 +- ...dex_compaction_with_multi_index_segments.groovy | 33 +- .../inverted_index_p0/test_bitmap_index.groovy | 46 +- .../test_index_match_phrase_prefix.groovy | 47 +- .../inverted_index_p0/test_inverted_index.groovy | 58 +- .../suites/javaudf_p0/test_javaudf_int.groovy | 2 +- .../test_broker_load_with_partition.groovy | 122 + .../load_p0/http_stream/test_http_stream.groovy | 39 + .../test_map_load_and_compaction.groovy | 10 +- .../load_p0/stream_load/test_pipeline_load.groovy | 2 +- .../load_p0/stream_load/test_stream_load.groovy | 5 +- .../suites/mtmv_p0/test_hive_mtmv.groovy | 73 + .../suites/nereids_arith_p0/integer.groovy | 12 + .../suites/nereids_function_p0/ip_functions.groovy | 3 + .../nereids_function_p0/scalar_function/C.groovy | 2 + .../nereids_function_p0/scalar_function/T.groovy | 2 + .../nereids_p0/aggregate/agg_window_project.groovy | 5 + .../create_table/test_create_table.groovy | 36 + .../nereids_p0/datatype/test_date_acquire.groovy | 9 +- .../suites/nereids_p0/join/test_mark_join.groovy | 126 + .../select_tablets/select_with_tablets.groovy | 47 +- .../nereids_p0/subquery/subquery_unnesting.groovy | 132 + .../subquery/test_subquery_in_project.groovy | 55 + .../nereids_rules_p0/eager_aggregate/basic.groovy | 5 +- .../eager_aggregate/basic_one_side.groovy | 4 +- .../push_down_count_through_join.groovy | 2 +- .../push_down_count_through_join_one_side.groovy | 2 +- .../push_down_max_through_join.groovy | 2 +- .../push_down_min_through_join.groovy | 2 +- .../push_down_sum_through_join.groovy | 4 +- .../push_down_sum_through_join_one_side.groovy | 2 +- .../agg_with_roll_up/aggregate_with_roll_up.groovy | 96 + .../aggregate_without_roll_up.groovy | 107 + .../mv/join/left_outer/outer_join.groovy | 30 +- .../mv/ssb}/ddl/customer_create.sql | 0 .../mv/ssb}/ddl/customer_delete.sql | 0 .../mv/ssb}/ddl/date_create.sql | 0 .../mv/ssb}/ddl/date_delete.sql | 0 .../mv/ssb}/ddl/lineorder_create.sql | 0 .../mv/ssb}/ddl/lineorder_delete.sql | 0 .../mv/ssb}/ddl/lineorder_flat_create.sql | 0 .../mv/ssb}/ddl/lineorder_flat_delete.sql | 0 .../mv/ssb}/ddl/part_create.sql | 0 .../mv/ssb}/ddl/part_delete.sql | 0 .../mv/ssb}/ddl/supplier_create.sql | 0 .../mv/ssb}/ddl/supplier_delete.sql | 0 .../nereids_rules_p0/mv/ssb/mv_ssb_test.groovy | 532 +++ .../nereids_rules_p0/pkfk/eliminate_inner.groovy | 4 +- .../push_down_top_n_distinct_through_join.groovy | 4 +- .../suites/nereids_syntax_p0/constraint.groovy | 42 +- .../nereids_syntax_p0/mv/newMv/unique_mv.groovy | 48 + .../suites/nereids_syntax_p0/set_operation.groovy | 74 + .../sub_query_diff_old_optimize.groovy | 20 + .../test_auto_partition_behavior.groovy | 50 + .../query_p0/lateral_view/test_with_view.groovy | 2 + .../query_p0/show/test_show_transaction.groovy | 42 + .../test_aggregate_all_functions2.groovy | 2 +- .../ip_functions/test_ip_functions.groovy | 3 + .../suites/schema_change_p0/test_partition.groovy | 29 + .../schema_change_p0/test_schema_change_agg.groovy | 161 +- .../test_schema_change_agg_check_all_types.groovy | 170 +- .../suites/statistics/test_select_mv.groovy | 12 +- .../suites/table_p0/test_table_version.groovy | 67 + .../tpch_sf100_unique_p2/load_one_step/load.groovy | 7 +- .../variable_p0/set_and_unset_variable.groovy | 2 + .../affinityByIssuesAndPRs1.sql | 16 +- .../affinityByIssuesAndPRs2.sql | 16 +- .../authorsWithTheMostPushes.sql | 8 +- .../variant_github_events_p0/countingStar1.sql | 2 +- .../variant_github_events_p0/countingStar2.sql | 2 +- .../variant_github_events_p0/countingStar3.sql | 2 +- .../distributionOfRepositoriesByStarCount.sql | 6 +- .../variant_github_events_p0/githubRoulette.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears1.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears2.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears3.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears4.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears5.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears6.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears7.sql | 6 +- .../howHasTheTotalNumberOfStarsChangedOverTime.sql | 2 +- .../issuesWithTheMostComments1.sql | 2 +- .../issuesWithTheMostComments2.sql | 2 +- .../issuesWithTheMostComments3.sql | 8 +- .../issuesWithTheMostComments4.sql | 8 +- .../issuesWithTheMostComments5.sql | 10 +- .../issuesWithTheMostComments6.sql | 12 +- .../issuesWithTheMostComments7.sql | 8 +- .../issuesWithTheMostComments8.sql | 10 +- .../suites/variant_github_events_p0/load.groovy | 2 +- .../mostForkedRepositories.sql | 2 +- .../mostPopularCommentsOnGithub.sql | 2 +- .../organizationsByTheNumberOfRepositories.sql | 6 +- .../organizationsByTheNumberOfStars.sql | 4 +- .../organizationsByTheSizeOfCommunity.sql | 20 +- .../proportionsBetweenStarsAndForks1.sql | 8 +- .../proportionsBetweenStarsAndForks2.sql | 8 +- .../proportionsBetweenStarsAndForks3.sql | 8 +- .../proportionsBetweenStarsAndForks4.sql | 8 +- .../proportionsBetweenStarsAndForks5.sql | 8 +- .../repositoriesByAmountOfModifiedCode.sql | 12 +- .../repositoriesByTheNumberOfPushes.sql | 16 +- ...epositoriesWithClickhouse_related_comments1.sql | 2 +- ...epositoriesWithClickhouse_related_comments2.sql | 8 +- .../repositoriesWithDoris_related_comments1.sql | 2 +- .../repositoriesWithDoris_related_comments2.sql | 8 +- .../repositoriesWithTheHighestGrowthYoY.sql | 10 +- .../repositoriesWithTheMaximumAmountOfIssues1.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues2.sql | 10 +- .../repositoriesWithTheMaximumAmountOfIssues3.sql | 10 +- .../repositoriesWithTheMaximumAmountOfIssues4.sql | 10 +- ...sitoriesWithTheMaximumAmountOfPullRequests1.sql | 2 +- ...sitoriesWithTheMaximumAmountOfPullRequests2.sql | 2 +- ...esWithTheMaximumNumberOfAcceptedInvitations.sql | 8 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess1.sql | 8 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess2.sql | 14 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess3.sql | 14 +- .../repositoriesWithTheMostStarsOverOneDay1.sql | 8 +- .../repositoriesWithTheMostStarsOverOneDay2.sql | 14 +- .../repositoriesWithTheMostStarsOverOneDay3.sql | 2 +- ...repositoriesWithTheMostSteadyGrowthOverTime.sql | 6 +- .../repositoriesWithTheWorstStagnation_order.sql | 10 +- .../repositoryAffinityList1.sql | 10 +- .../repositoryAffinityList2.sql | 10 +- .../starsFromHeavyGithubUsers1.sql | 12 +- .../starsFromHeavyGithubUsers2.sql | 12 +- .../theLongestRepositoryNames1.sql | 2 +- .../theLongestRepositoryNames2.sql | 2 +- .../theMostToughCodeReviews.sql | 10 +- .../theTotalNumberOfRepositoriesOnGithub.sql | 2 +- .../theTotalNumberOfUsersOnGithub1.sql | 2 +- .../theTotalNumberOfUsersOnGithub2.sql | 2 +- .../theTotalNumberOfUsersOnGithub3.sql | 2 +- .../theTotalNumberOfUsersOnGithub4.sql | 2 +- .../suites/variant_github_events_p0/topLabels1.sql | 2 +- .../suites/variant_github_events_p0/topLabels2.sql | 2 +- .../suites/variant_github_events_p0/topLabels3.sql | 2 +- .../topRepositoriesByStars.sql | 2 +- .../whatIsTheBestDayOfTheWeekToCatchAStar.sql | 2 +- .../whoAreAllThosePeopleGivingStars1.sql | 2 +- .../whoAreAllThosePeopleGivingStars2.sql | 2 +- .../whoAreAllThosePeopleGivingStars3.sql | 12 +- .../sql/affinityByIssuesAndPRs1.sql | 2 +- .../sql/affinityByIssuesAndPRs2.sql | 2 +- .../sql/authorsWithTheMostPushes.sql | 2 +- .../sql/countingStar1.sql | 2 +- .../sql/countingStar2.sql | 2 +- .../sql/countingStar3.sql | 2 +- .../sql/distributionOfRepositoriesByStarCount.sql | 2 +- .../sql/githubRoulette.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears1.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears2.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears3.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears4.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears5.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears6.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears7.sql | 2 +- .../howHasTheTotalNumberOfStarsChangedOverTime.sql | 2 +- .../sql/issuesWithTheMostComments1.sql | 2 +- .../sql/issuesWithTheMostComments2.sql | 2 +- .../sql/issuesWithTheMostComments3.sql | 2 +- .../sql/issuesWithTheMostComments4.sql | 2 +- .../sql/issuesWithTheMostComments5.sql | 2 +- .../sql/issuesWithTheMostComments6.sql | 2 +- .../sql/issuesWithTheMostComments7.sql | 2 +- .../sql/issuesWithTheMostComments8.sql | 2 +- .../sql/mostForkedRepositories.sql | 2 +- .../sql/mostPopularCommentsOnGithub.sql | 2 +- .../sql/organizationsByTheNumberOfRepositories.sql | 2 +- .../sql/organizationsByTheNumberOfStars.sql | 2 +- .../sql/organizationsByTheSizeOfCommunity.sql | 2 +- .../sql/proportionsBetweenStarsAndForks1.sql | 2 +- .../sql/proportionsBetweenStarsAndForks2.sql | 2 +- .../sql/proportionsBetweenStarsAndForks3.sql | 2 +- .../sql/proportionsBetweenStarsAndForks4.sql | 2 +- .../sql/proportionsBetweenStarsAndForks5.sql | 2 +- .../sql/repositoriesByAmountOfModifiedCode.sql | 2 +- .../sql/repositoriesByTheNumberOfPushes.sql | 2 +- ...epositoriesWithClickhouse_related_comments1.sql | 2 +- ...epositoriesWithClickhouse_related_comments2.sql | 2 +- .../repositoriesWithDoris_related_comments1.sql | 2 +- .../repositoriesWithDoris_related_comments2.sql | 2 +- .../sql/repositoriesWithTheHighestGrowthYoY.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues1.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues2.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues3.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues4.sql | 2 +- ...sitoriesWithTheMaximumAmountOfPullRequests1.sql | 2 +- ...sitoriesWithTheMaximumAmountOfPullRequests2.sql | 2 +- ...esWithTheMaximumNumberOfAcceptedInvitations.sql | 2 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess1.sql | 2 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess2.sql | 2 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess3.sql | 2 +- .../repositoriesWithTheMostStarsOverOneDay1.sql | 2 +- .../repositoriesWithTheMostStarsOverOneDay2.sql | 2 +- .../repositoriesWithTheMostStarsOverOneDay3.sql | 2 +- ...repositoriesWithTheMostSteadyGrowthOverTime.sql | 2 +- .../repositoriesWithTheWorstStagnation_order.sql | 2 +- .../sql/repositoryAffinityList1.sql | 2 +- .../sql/repositoryAffinityList2.sql | 2 +- .../sql/starsFromHeavyGithubUsers1.sql | 2 +- .../sql/starsFromHeavyGithubUsers2.sql | 2 +- .../sql/theLongestRepositoryNames1.sql | 2 +- .../sql/theLongestRepositoryNames2.sql | 2 +- .../sql/theMostToughCodeReviews.sql | 2 +- .../sql/theTotalNumberOfRepositoriesOnGithub.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub1.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub2.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub3.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub4.sql | 2 +- .../sql/topLabels1.sql | 2 +- .../sql/topLabels2.sql | 2 +- .../sql/topLabels3.sql | 2 +- .../sql/topRepositoriesByStars.sql | 2 +- .../sql/whatIsTheBestDayOfTheWeekToCatchAStar.sql | 2 +- .../sql/whoAreAllThosePeopleGivingStars1.sql | 2 +- .../sql/whoAreAllThosePeopleGivingStars2.sql | 2 +- .../sql/whoAreAllThosePeopleGivingStars3.sql | 2 +- .../suites/variant_p0/column_name.groovy | 13 +- .../variant_p0/compaction/test_compaction.groovy | 35 +- .../suites/variant_p0/complexjson.groovy | 30 +- regression-test/suites/variant_p0/desc.groovy | 10 +- .../suites/variant_p0/insert_into_select.groovy | 2 +- regression-test/suites/variant_p0/load.groovy | 86 +- regression-test/suites/variant_p0/multi_var.groovy | 6 +- .../variant_p0/schema_change/schema_change.groovy | 14 +- .../test_double_write_when_schema_change.groovy | 6 +- regression-test/suites/variant_p0/sql/gh_data.sql | 22 +- .../suites/variant_p0/sql/rewrite_or_to_in.sql | 4 +- regression-test/suites/variant_p0/tpch/load.groovy | 2 +- .../suites/variant_p0/tpch/sql/q01_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q02_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q03_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q05_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q06_trans.sql | 4 +- .../suites/variant_p0/tpch/sql/q08_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q09_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q10_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q12_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q13_trans.sql | 2 +- .../suites/variant_p0/tpch/sql/q14_trans.sql | 3 +- .../suites/variant_p0/tpch/sql/q16_trans.sql | 2 +- .../suites/variant_p0/variant_hirachinal.groovy | 48 + .../suites/variant_p0/variant_with_rowstore.groovy | 64 + .../suites/variant_p0/with_index/load.groovy | 10 +- .../suites/variant_p0/with_index/var_index.groovy | 4 +- .../variant_p2/sql/authorsWithTheMostPushes.sql | 6 +- .../suites/variant_p2/sql/countingStar2.sql | 2 +- .../suites/variant_p2/sql/countingStar3.sql | 2 +- .../sql/distributionOfRepositoriesByStarCount.sql | 4 +- .../suites/variant_p2/sql/githubRoulette.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears1.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears2.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears3.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears4.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears5.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears6.sql | 2 +- ...heListOfTopRepositoriesChangedOverTheYears7.sql | 2 +- .../variant_p2/sql/issuesWithTheMostComments2.sql | 2 +- .../variant_p2/sql/issuesWithTheMostComments3.sql | 6 +- .../variant_p2/sql/issuesWithTheMostComments4.sql | 8 +- .../variant_p2/sql/issuesWithTheMostComments5.sql | 10 +- .../variant_p2/sql/issuesWithTheMostComments6.sql | 10 +- .../variant_p2/sql/issuesWithTheMostComments7.sql | 6 +- .../variant_p2/sql/issuesWithTheMostComments8.sql | 10 +- .../variant_p2/sql/mostForkedRepositories.sql | 2 +- .../variant_p2/sql/mostPopularCommentsOnGithub.sql | 2 +- .../sql/organizationsByTheNumberOfRepositories.sql | 4 +- .../sql/organizationsByTheNumberOfStars.sql | 2 +- .../sql/organizationsByTheSizeOfCommunity.sql | 14 +- .../sql/proportionsBetweenStarsAndForks1.sql | 2 +- .../sql/proportionsBetweenStarsAndForks2.sql | 2 +- .../sql/proportionsBetweenStarsAndForks3.sql | 2 +- .../sql/proportionsBetweenStarsAndForks4.sql | 2 +- .../sql/proportionsBetweenStarsAndForks5.sql | 2 +- ...epositoriesWithClickhouse_related_comments1.sql | 2 +- ...epositoriesWithClickhouse_related_comments2.sql | 6 +- .../repositoriesWithDoris_related_comments1.sql | 2 +- .../repositoriesWithDoris_related_comments2.sql | 6 +- .../sql/repositoriesWithTheHighestGrowthYoY.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues1.sql | 2 +- .../repositoriesWithTheMaximumAmountOfIssues2.sql | 6 +- .../repositoriesWithTheMaximumAmountOfIssues3.sql | 6 +- .../repositoriesWithTheMaximumAmountOfIssues4.sql | 6 +- ...sitoriesWithTheMaximumAmountOfPullRequests1.sql | 2 +- ...sitoriesWithTheMaximumAmountOfPullRequests2.sql | 2 +- ...esWithTheMaximumNumberOfAcceptedInvitations.sql | 2 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess1.sql | 6 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess2.sql | 6 +- ...sitoriesWithTheMostPeopleWhoHavePushAccess3.sql | 6 +- .../repositoriesWithTheMostStarsOverOneDay1.sql | 4 +- .../repositoriesWithTheMostStarsOverOneDay2.sql | 4 +- .../repositoriesWithTheMostStarsOverOneDay3.sql | 2 +- ...repositoriesWithTheMostSteadyGrowthOverTime.sql | 2 +- .../repositoriesWithTheWorstStagnation_order.sql | 2 +- .../variant_p2/sql/repositoryAffinityList2.sql | 10 +- regression-test/suites/variant_p2/sql/sql01.sql | 2 +- regression-test/suites/variant_p2/sql/sql02.sql | 2 +- regression-test/suites/variant_p2/sql/sql03.sql | 2 +- regression-test/suites/variant_p2/sql/sql04.sql | 2 +- regression-test/suites/variant_p2/sql/sql05.sql | 2 +- regression-test/suites/variant_p2/sql/sql06.sql | 2 +- regression-test/suites/variant_p2/sql/sql07.sql | 2 +- regression-test/suites/variant_p2/sql/sql08.sql | 2 +- .../variant_p2/sql/theLongestRepositoryNames1.sql | 2 +- .../variant_p2/sql/theLongestRepositoryNames2.sql | 2 +- .../variant_p2/sql/theMostToughCodeReviews.sql | 10 +- .../sql/theTotalNumberOfRepositoriesOnGithub.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub1.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub2.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub3.sql | 2 +- .../sql/theTotalNumberOfUsersOnGithub4.sql | 2 +- .../suites/variant_p2/sql/topLabels1.sql | 2 +- .../suites/variant_p2/sql/topLabels2.sql | 2 +- .../suites/variant_p2/sql/topLabels3.sql | 2 +- .../variant_p2/sql/topRepositoriesByStars.sql | 2 +- .../sql/whoAreAllThosePeopleGivingStars1.sql | 2 +- .../sql/whoAreAllThosePeopleGivingStars2.sql | 2 +- .../unresovled_sql/affinityByIssuesAndPRs1.sql | 16 +- .../unresovled_sql/affinityByIssuesAndPRs2.sql | 16 +- .../repositoriesByAmountOfModifiedCode.sql | 6 +- .../repositoriesByTheNumberOfPushes.sql | 12 +- .../unresovled_sql/repositoryAffinityList1.sql | 10 +- .../unresovled_sql/starsFromHeavyGithubUsers1.sql | 10 +- .../unresovled_sql/starsFromHeavyGithubUsers2.sql | 12 +- .../whoAreAllThosePeopleGivingStars3.sql | 10 +- thirdparty/CHANGELOG.md | 5 + thirdparty/build-thirdparty.sh | 21 + .../brpc-1.4.0-fix-stream-rpc-set-connected.patch | 41 + .../patches/brpc-1.4.0-write-background.patch | 170 + thirdparty/vars.sh | 22 +- tools/tpcds-tools/conf/opt/opt_sf1.sql | 2 - tools/tpcds-tools/conf/opt/opt_sf100.sql | 4 +- tools/tpcds-tools/conf/opt/opt_sf1000.sql | 5 - tools/tpcds-tools/conf/opt/opt_sf10000.sql | 5 - 1126 files changed, 26556 insertions(+), 10238 deletions(-) delete mode 160000 .github/actions/create-or-update-comment delete mode 100644 .github/workflows/auto-pr-reply.yml create mode 100644 be/src/cloud/cloud_backend_service.cpp copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/RangerHiveAccessControllerFactory.java => be/src/cloud/cloud_backend_service.h (58%) create mode 100644 be/src/cloud/cloud_delta_writer.cpp create mode 100644 be/src/cloud/cloud_delta_writer.h copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/RangerHivePlugin.java => be/src/cloud/cloud_internal_service.cpp (72%) copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/RangerHivePlugin.java => be/src/cloud/cloud_internal_service.h (65%) create mode 100644 be/src/cloud/cloud_rowset_builder.cpp copy be/src/{olap/delta_writer_context.h => cloud/cloud_rowset_builder.h} (57%) create mode 100644 be/src/cloud/cloud_rowset_writer.cpp copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/RangerHivePlugin.java => be/src/cloud/cloud_rowset_writer.h (64%) create mode 100644 be/src/cloud/cloud_tablets_channel.cpp copy be/src/cloud/{cloud_storage_engine.h => cloud_tablets_channel.h} (50%) create mode 100644 be/src/olap/rowset/segment_v2/inverted_index_searcher.cpp create mode 100644 be/src/olap/rowset/segment_v2/inverted_index_searcher.h copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/HiveObjectType.java => be/src/vec/exec/join/null_aware_left_semi_join_impl.cpp (82%) create mode 100644 docker/thirdparties/docker-compose/hive/scripts/preinstalled_data/parquet_table/fixed_length_byte_array_decimal_table/000000_0 create mode 100644 docs/en/docs/admin-manual/privilege-ldap/ranger.md create mode 100644 docs/en/docs/ecosystem/doris-streamloader.md create mode 100644 docs/en/docs/lakehouse/cloud-auth/cloud-auth.md create mode 100644 docs/en/docs/releasenotes/release-2.0.4.md create mode 100644 docs/en/docs/sql-manual/sql-functions/numeric-functions/cosh.md create mode 100644 docs/en/docs/sql-manual/sql-functions/numeric-functions/tanh.md create mode 100644 docs/images/ranger/ranger1.png create mode 100644 docs/images/ranger/ranger2.png create mode 100644 docs/images/ranger/ranger3.png create mode 100644 docs/images/ranger/ranger4.png create mode 100644 docs/zh-CN/docs/admin-manual/privilege-ldap/ranger.md create mode 100644 docs/zh-CN/docs/ecosystem/doris-streamloader.md create mode 100644 docs/zh-CN/docs/lakehouse/cloud-auth/cloud-auth.md create mode 100644 docs/zh-CN/docs/releasenotes/release-2.0.4.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/numeric-functions/cosh.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/numeric-functions/tanh.md create mode 100644 fe/fe-core/src/main/java/org/apache/doris/binlog/AlterJobRecord.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/binlog/TruncateTableRecord.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/InternalSchema.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/RangerAccessController.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/DorisAccessType.java copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{HiveObjectType.java => ranger/doris/DorisObjectType.java} (83%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisAccessController.java copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{RangerHivePlugin.java => ranger/doris/RangerDorisPlugin.java} (84%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/ranger/doris/RangerDorisResource.java rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/HiveAccessType.java (94%) copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/HiveObjectType.java (93%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveAccessController.java (80%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveAccessControllerFactory.java (95%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveAuditHandler.java (99%) copy fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveAuditLogFlusher.java (96%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveAuthorizerProvider.java (96%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHivePlugin.java (94%) rename fe/fe-core/src/main/java/org/apache/doris/catalog/authorizer/{ => ranger/hive}/RangerHiveResource.java (98%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/cloud/load/CloudBrokerLoadJob.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/cloud/planner/CloudStreamLoadPlanner.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVMaxTimestampSnapshot.java copy fe/fe-core/src/main/java/org/apache/doris/{catalog/PartitionItem.java => mtmv/MTMVRefreshPartitionSnapshot.java} (57%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshSnapshot.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRelatedTableIf.java rename fe/fe-core/src/main/java/org/apache/doris/{catalog/authorizer/HiveObjectType.java => mtmv/MTMVSnapshotIf.java} (85%) copy fe/fe-core/src/main/java/org/apache/doris/{catalog/authorizer/RangerHiveAuditLogFlusher.java => mtmv/MTMVTimestampSnapshot.java} (50%) rename fe/fe-core/src/main/java/org/apache/doris/{catalog/authorizer/RangerHiveAuditLogFlusher.java => mtmv/MTMVVersionSnapshot.java} (55%) rename fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/{InternalCatalogAccessController.java => InternalAccessController.java} (72%) delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/mysql/privilege/SystemAccessController.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/BindSlotWithPaths.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/ElementAtToSlot.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/TrySimplifyPredicateWithMarkJoinSlot.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/EliminateMarkJoin.java rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{PushDownCountThroughJoin.java => PushDownAggThroughJoin.java} (69%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/{PushDownMinMaxThroughJoin.java => PushDownAggThroughJoinOneSide.java} (81%) delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownCountThroughJoinOneSide.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownSumThroughJoin.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/PushDownSumThroughJoinOneSide.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ElementAt.java => Cosh.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/PushDownToProjectionFunction.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ElementAt.java => Tanh.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{VarcharType.java => VariantType.java} (51%) create mode 100644 fe/fe-core/src/test/java/org/apache/doris/alter/InternalSchemaAlterTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownCountThroughJoinOneSideTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownMinMaxSumThroughJoinTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownMinMaxThroughJoinTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/PushDownSumThroughJoinOneSideTest.java copy regression-test/data/{load_p0/stream_load => catalog_recycle_bin_p0}/all_types.csv.gz (100%) create mode 100644 regression-test/data/datatype_p0/ip/test_ip_basic.out create mode 100644 regression-test/data/datatype_p0/nested_types/meta/test_complextype_nested_version_schema.out copy regression-test/data/{unique_with_mow_p0/partial_update/concurrency_update3.csv => fault_injection_p0/concurrency_update1.csv} (100%) copy regression-test/data/{unique_with_mow_p0/partial_update => fault_injection_p0}/concurrency_update2.csv (100%) create mode 100644 regression-test/data/fault_injection_p0/concurrency_update3.csv rename regression-test/data/{datatype_p0/date/test_invalid_date.out => fault_injection_p0/test_index_mow_fault_injection.out} (64%) create mode 100644 regression-test/data/fault_injection_p0/test_partial_update_publish_conflict_with_error.out create mode 100644 regression-test/data/load_p0/broker_load/broker_load_with_partition.csv create mode 100644 regression-test/data/load_p0/broker_load/test_broker_load_with_partition.out create mode 100644 regression-test/data/mtmv_p0/test_hive_mtmv.out create mode 100644 regression-test/data/nereids_p0/join/test_mark_join.out create mode 100644 regression-test/data/nereids_p0/subquery/subquery_unnesting.out create mode 100644 regression-test/data/nereids_rules_p0/mv/ssb/mv_ssb_test.out create mode 100644 regression-test/data/variant_p0/variant_hirachinal.out create mode 100644 regression-test/data/variant_p0/variant_with_rowstore.out create mode 100644 regression-test/suites/catalog_recycle_bin_p0/show.groovy delete mode 100644 regression-test/suites/datatype_p0/date/test_invalid_date.groovy create mode 100644 regression-test/suites/datatype_p0/ip/test_ip_basic.groovy create mode 100644 regression-test/suites/datatype_p0/nested_types/meta/test_complextype_nested_version_schema.groovy create mode 100644 regression-test/suites/fault_injection_p0/test_index_mow_fault_injection.groovy create mode 100644 regression-test/suites/fault_injection_p0/test_partial_update_publish_conflict_with_error.groovy create mode 100644 regression-test/suites/fault_injection_p0/test_rowset_writer_fault.groovy create mode 100644 regression-test/suites/load_p0/broker_load/test_broker_load_with_partition.groovy create mode 100644 regression-test/suites/mtmv_p0/test_hive_mtmv.groovy create mode 100644 regression-test/suites/nereids_p0/join/test_mark_join.groovy create mode 100644 regression-test/suites/nereids_p0/subquery/subquery_unnesting.groovy copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/customer_create.sql (100%) copy regression-test/suites/{inverted_index_p0/ssb_unique_sql_zstd => nereids_rules_p0/mv/ssb}/ddl/customer_delete.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/date_create.sql (100%) copy regression-test/suites/{inverted_index_p0/ssb_unique_sql_zstd => nereids_rules_p0/mv/ssb}/ddl/date_delete.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/lineorder_create.sql (100%) copy regression-test/suites/{inverted_index_p0/ssb_unique_sql_zstd => nereids_rules_p0/mv/ssb}/ddl/lineorder_delete.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/lineorder_flat_create.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/lineorder_flat_delete.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/part_create.sql (100%) copy regression-test/suites/{inverted_index_p0/ssb_unique_sql_zstd => nereids_rules_p0/mv/ssb}/ddl/part_delete.sql (100%) copy regression-test/suites/{ssb_sf0.1_p1 => nereids_rules_p0/mv/ssb}/ddl/supplier_create.sql (100%) copy regression-test/suites/{inverted_index_p0/ssb_unique_sql_zstd => nereids_rules_p0/mv/ssb}/ddl/supplier_delete.sql (100%) create mode 100644 regression-test/suites/nereids_rules_p0/mv/ssb/mv_ssb_test.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/mv/newMv/unique_mv.groovy create mode 100644 regression-test/suites/query_p0/show/test_show_transaction.groovy create mode 100644 regression-test/suites/table_p0/test_table_version.groovy create mode 100644 regression-test/suites/variant_p0/variant_hirachinal.groovy create mode 100644 regression-test/suites/variant_p0/variant_with_rowstore.groovy create mode 100644 thirdparty/patches/brpc-1.4.0-fix-stream-rpc-set-connected.patch create mode 100644 thirdparty/patches/brpc-1.4.0-write-background.patch --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org