This is an automated email from the ASF dual-hosted git repository. dataroaring pushed a change to branch branch-3.0 in repository https://gitbox.apache.org/repos/asf/doris.git
from f31c2f4afe7 mark 3.0.0-rc06 new 6837ec61062 [fix](Nereids) could not push down filter through cte producer sometimes (#35463) new 87bca4f6328 [Refactor](Status) Refactor the scanner scheduler code make return error msg means (#35286) new 95e87c49d5c [fix](binlog) Fix add partition record sql (#35461) new b8d66bfcf53 [fix](index) should not use light index change for bloom filter index (#35214) new 15b226fd1f2 [fix](statistics) correct update rows when doing multi-table load (#35474) new c430a66e0d2 [opt](external) ignore not find files (#35319) new d19bf1fb21d [hotfix](jdbc table) Restoring a table type that should not be deleted (#35433) new 1adf1812af6 [fix] (compaction) fix CompactionPermitLimiter causing compaction to stall (#35078) new 17d5b981e11 [chore](cloud) Run GC if not enough memory when checkpoint (#35331) new 6d6c2dc6c4b [enhancement](export) filter empty partition before export table to remote storage (#35389) new 7fb93a71219 [fix](paimon)fix paimon cache bug (#35309) new e1494bbf02f [fix](fe) Fix drop frontend cause `bdbje` and `fe memory` inconsistent state (#35203) new ab72ae5684e [fix](spill) fix wrong disk usage of spill (#35423) new 168523d269a [Fix](JobSchedual) Modify the default value of `async_task_consumer_thread_num` (#35456) new 637706fd148 [Bug](runtime-filter) do not process rf on HashJoinBuildSinkLocalState::close when query ca… (#35487) new c49b3db4762 [Fix](group commit) Fix group commit block queue mem estimate faule (#35314) new df95c34147e [github](pr) simplify the PR template (#35550) new 9b08910a56e [fix](Nereids) fix Illegal aggregate node: group by and output is empty (#35497) new cc2648c1567 [opt](fe) Optimize fe show table statistics (#35457) new 82f69fd80d4 [fix](ci) tmp exclude block case stress_test_insert_into (#35553) new 277f3dc47cd [fix](restore) Fix restore table name when lower_case_table_names enabled (#35508) new 97890fa472e [fix](statistics)Record update rows shouldn't fail load publish. (#35549) new 9dfabbc3f66 [docker](hive) sync for hive initializing (#35479) new d16a26dc44d [bugfix](iceberg)support null values as partition (#35503) new d0c00360587 [Fix](executor)Fix backend_active_tasks only scan one be (#35492) new 25e98c48edd [improvement](page builder) avoid allocating big memory in ctor (#35493) new 0d4635d0d68 [fix](pipeline) Disable non-pipeline engine for stream load (#35555) new e31e8f5e645 [fix](compaction) fix inaccurate compaction cnt (#35539) new 975083ed8ff [fix](publish) fix publish failed when balance (#35462) new 3f2811559d5 [fix](httpapi) restore compaction/run_status api can show be's overall compaction status and refactor code (#35278) new 6e82b7a9729 [regression-test](framework) add log for scpFiles (#35570) new 459708bf59a [fix](Nereids) aggregate combinator should be case-insensitive (#35540) new 3f50783bbaf [fix](auth) Fix no auth,but can select count(*) (#35465) new 30db5b05e41 [Fix](hive-writer) Fix s3 file commiter not working. (#35502) new 632f1fa2f58 [fix](pipeline) Prevent concurrent accessing to dependencies (#35560) new 5413c414414 [fix](snappy) avoid potential buffer overflow (#35537) new 563b154c0aa [fix](Nereids) prune not required window expressions on window operator (#35504) new fa3f58f6dac [chore](fs) add a config to contorl if sync on close (#35391) new 5075f319e6e [fix](auto-partition) fix auto partition load lost data in multi sender (#35287) new b6cdd40b90b [Feature](iceberg-writer) Implements iceberg sink basic functionality for inserting into table. (#34929) new 359f4564a4b [pipeline](API) Add a new API to find pipeline tasks by a specific query ID (#35563) new 05329cfc364 [fix](mtmv) Fix partition mv rewrite result wrong (#35236) new 39640ad16af [fix](mtmv) Fix getting related partition table wrongly when multi base partition table exists (#34781) new dd2ed392e5a [enhance](mtmv) Mv refresh on commit (#34548) new 2360935fff7 [fix](inverted index) add in list to fast execute logic after hit index (#35344) new cf82dc64587 [fix](Nereids) adjust nullable for set operation may cause IndexOutOfBound (#35588) new cc4a4470bba [feature](statistics)Support partition stats cache (#35517) new 7be7b37a749 [enhancement](memory) Add `ThreadMemTrackerMgr` BE UT (#35518) new 12bcc1af585 [fix](ub) fix uninitialized accesses in BE (#35370) new fd4b72b02b2 [fix](short circurt) fix return default value issue (#34186) new cadd92431c3 [Fix](ci) release a testcase and remove some outdate log settings (#35580) new 6aff5b18947 [fix](Nereids) remove getTableInMinidumpCache temporary (#35571) new c572a7adc7b [fix](test) fix test_create_table_without_distribution.groovy bug (#35486) new 2ccaf023fc5 [refactor](functions) clean some ip functions code and make IS_IP_ADDRESS_IN_RANGE DEPENDS_ON_ARGUMENT (#35239) new 97dbd7146a6 [pipeline](tracing) Fix pipeline tracing tools (#35595) new 714537e1f6f [fix](backup) save finished state for local repo backup (#35491) new 7af77b9d3b0 [fix](group commit) Group commit http stream should not begin txn (#35494) new 5f1255ee0aa [regression-test](framework) fix scp bugs in regression framework (#35613) new 739857dd5ba [regression-test](case) remove unused files (#35614) new 380528262ab [fix](inverted index) Remove float/double support in index writer (#35615) new e02a42d0996 [fix](set) incorrect result of set operator (#35607) new b9d9d2ed0c0 [fix](resource-tag) missing resource tag after forwarding to master (#35618) new 273346472f6 [cases](array_contains)add cases for array_contains supporting inverted index and fix stopwords as query string (#35299) new ca1e471556b [opt](audit) add timeout for audit log load and modify the label format (#35535) new 98fdec3036e [fix](regression)Remove useless case which may cause preHeat npe. (#35582) new 71d17b457ed [fix](SenderQueue) error memlimit in add/sub _blocks_memory_usage (#35428) new 1db35a5bd33 [fix](fe) fix start fe failed when recover fe in different host (#35612) new e902dc6b09f [feature-wip](Cloud) Introduce azure core C++ sdk (#35208) new 6fa67e11509 [enhance](mtmv)add truncate table case (#35599) new 8cab1cff73b [fix](meta) fix catalog replay error (#35532) new 690957e31cd [feature-wip](Cloud) Extract obj storage client interface to suite different kinds of object storage (#35307) new 82a5ff6cfed [fix](s3-load) refactor s3 parallelism case and remove it to p2 (#35629) new 30c556a9769 [FE](session-variable) Add a debug variable of constant fold (#35584) new 5cb08d52edd [fix](stats) Add synchronize for some analysis maps to avoid ConcurrentModificationException (#35591) new 76c8575a72c [Feature](column) do not change column nullable on ColumnDef (#35574) new de4b2abc34e [opt](nereids) compare str literal as date literal to compute selectivity (#35610) new 7a1582ef031 [chore](multi catalog) Improve network interface detection in Hive container script (#35089) new c692ff8b951 [fix](agg) Update agg counter in execution (#35624) new 5058a70bb96 [fix](mtmv) Fix get mv statistics plan wrong and optimize code usage (#35623) new e717c08b1e3 [feature] (recycle bin) Support delete catalog recycle bin (#31893) new ae074bd0db7 [fix](mtmv) ignore MTMV when backup and restore (#35586) new b93a17536c6 [bug](Compile) Add default value for optional field to pass compile's missing-field-initializers check (#35648) new 81fc589fe5a [fix](auth)fix simple auth check and default username (#35620) new c03b8f11462 [Bug](backend-options) fix use after free on BackendOptions::get_local_backend() (#35634) new 915a1859ec1 [fix](catalog) close connection on refresh (#35426) new 524897da8fc [Fix](Variant) fix variant with empty json key (#35546) new 742e2641361 [fix](nereids) do not generate runtime filter on schema-scan (#35655) new bc9618850e1 [improvement](page builder) catch exception when page builder reset to avoid coredump (#35597) new 61d255067a7 [Test](external-table-writer) Use `use_meta_cache=true` to create catalog when executing hive/iceberg writer regression tests. (#35640) new 90cb2e74a8b [fix](clone) fix calculate merge missing version (#35627) new f655f3a87e8 [refactor](cancel) disable cancel instance for pipeline (#35632) new 80fc952dfdf [feat](thrift) add NereidsId and cardinality to TPlanNode (#35482) new d1ecb62b74e [opt](mv) calc Projection cost according to the expressions in project list (#35652) new 4f7bdced2c5 [Improvement](executor)Support kill query in be (#35602) new f4f906f77d1 [Test](regression-test): Normalize S3 http url (#35666) new 2843f8853f8 [regression-test](load) add something like $.tag.[a.b] key's json case (#35134) new 02dd0d505cc [improve](txn-insert) Add txn insert p2 case (#35439) new bceeb5b10cf [fix](binlog) Add is temp for UpsertRecord (#35636) new 5a054f1e9ad [Performance](opt) opt the scan performance and remove unless code (#35604) new 9c917f380d8 [chore](third-party) Add a workflow: Build Third Party Libraries (macOS-arm64) (#35705) new 5e5ecb25c86 [feature](statistics)Support clear stale partition stats. (#35661) new c4b0465bbff [chore](ASF) Make the workflow Build Third Party Libraries (macOS-arm64) required (#35706) new b3a8aef3d19 [fix](log) print log of error status (#35687) new f638c8e05de [Feature](Prepared Statment) Implement in nereids planner (#35318) new 26ecb1b260f [opt](mtmv) Improve the mv rewrite performance by optimize code usage (#35674) new 8a8bf8336a1 [fix](regression-test) Fix s3 load profile test failed due to css schema change (#35633) The 106 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .asf.yaml | 1 + .github/PULL_REQUEST_TEMPLATE.md | 4 - .github/workflows/build-thirdparty.yml | 60 +- be/src/agent/be_exec_version_manager.h | 1 + be/src/cloud/cloud_base_compaction.cpp | 2 +- be/src/cloud/cloud_compaction_action.cpp | 46 +- be/src/cloud/cloud_cumulative_compaction.cpp | 3 +- be/src/cloud/cloud_full_compaction.cpp | 2 +- be/src/cloud/cloud_tablet.cpp | 30 + be/src/cloud/cloud_tablet.h | 7 + be/src/cloud/cloud_tablets_channel.cpp | 6 +- be/src/common/config.cpp | 13 +- be/src/common/config.h | 10 +- be/src/common/status.h | 2 + be/src/exec/data_sink.cpp | 15 + be/src/exec/tablet_info.cpp | 17 +- be/src/http/action/compaction_action.cpp | 35 +- be/src/http/action/pipeline_task_action.cpp | 30 + be/src/http/action/pipeline_task_action.h | 9 + be/src/io/file_factory.cpp | 5 +- be/src/io/fs/local_file_writer.cpp | 2 +- be/src/io/fs/obj_storage_client.h | 103 ++ be/src/io/fs/s3_file_bufferpool.cpp | 7 +- be/src/io/fs/s3_file_bufferpool.h | 2 + be/src/io/fs/s3_file_reader.cpp | 22 +- be/src/io/fs/s3_file_reader.h | 6 +- be/src/io/fs/s3_file_system.cpp | 333 ++--- be/src/io/fs/s3_file_system.h | 18 +- be/src/io/fs/s3_file_writer.cpp | 244 +--- be/src/io/fs/s3_file_writer.h | 24 +- be/src/io/fs/s3_obj_storage_client.cpp | 348 +++++ be/src/io/fs/s3_obj_storage_client.h | 65 + be/src/olap/base_tablet.cpp | 30 - be/src/olap/base_tablet.h | 6 +- be/src/olap/column_predicate.h | 4 +- be/src/olap/compaction_permit_limiter.cpp | 20 +- be/src/olap/hll.cpp | 19 +- be/src/olap/hll.h | 73 +- be/src/olap/rowset/segment_v2/binary_dict_page.cpp | 48 +- be/src/olap/rowset/segment_v2/binary_dict_page.h | 11 +- be/src/olap/rowset/segment_v2/binary_plain_page.h | 34 +- be/src/olap/rowset/segment_v2/binary_prefix_page.h | 12 +- be/src/olap/rowset/segment_v2/bitshuffle_page.h | 38 +- .../segment_v2/bloom_filter_index_reader.cpp | 4 + be/src/olap/rowset/segment_v2/column_writer.cpp | 2 +- be/src/olap/rowset/segment_v2/encoding_info.cpp | 32 +- .../rowset/segment_v2/frame_of_reference_page.h | 15 +- .../rowset/segment_v2/indexed_column_writer.cpp | 2 +- .../rowset/segment_v2/inverted_index_writer.cpp | 2 - be/src/olap/rowset/segment_v2/page_builder.h | 18 +- be/src/olap/rowset/segment_v2/plain_page.h | 24 +- be/src/olap/rowset/segment_v2/rle_page.h | 30 +- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 8 +- be/src/olap/schema_change.cpp | 3 + be/src/olap/tablet.cpp | 33 + be/src/olap/tablet.h | 7 + be/src/olap/tablet_schema.cpp | 18 + be/src/olap/tablet_schema.h | 2 + be/src/pipeline/dependency.h | 4 +- be/src/pipeline/exec/aggregation_sink_operator.cpp | 9 +- be/src/pipeline/exec/aggregation_sink_operator.h | 1 + .../pipeline/exec/aggregation_source_operator.cpp | 19 +- be/src/pipeline/exec/aggregation_source_operator.h | 1 - be/src/pipeline/exec/file_scan_operator.cpp | 3 +- be/src/pipeline/exec/hashjoin_build_sink.cpp | 2 +- .../pipeline/exec/iceberg_table_sink_operator.cpp | 64 +- be/src/pipeline/exec/iceberg_table_sink_operator.h | 94 ++ be/src/pipeline/exec/jdbc_scan_operator.cpp | 3 +- be/src/pipeline/exec/olap_scan_operator.h | 5 +- be/src/pipeline/exec/operator.cpp | 21 +- be/src/pipeline/exec/operator.h | 5 + be/src/pipeline/exec/scan_operator.cpp | 1 - be/src/pipeline/exec/scan_operator.h | 1 - be/src/pipeline/exec/set_sink_operator.cpp | 2 +- be/src/pipeline/exec/set_source_operator.cpp | 4 +- be/src/pipeline/pipeline.cpp | 9 + be/src/pipeline/pipeline_fragment_context.cpp | 15 +- be/src/pipeline/pipeline_task.cpp | 31 +- be/src/pipeline/pipeline_task.h | 4 +- be/src/pipeline/pipeline_tracing.cpp | 48 +- be/src/pipeline/pipeline_tracing.h | 16 +- be/src/runtime/descriptors.cpp | 5 + be/src/runtime/descriptors.h | 8 +- be/src/runtime/exec_env.h | 4 +- be/src/runtime/external_scan_context_mgr.cpp | 9 +- be/src/runtime/external_scan_context_mgr.h | 3 +- be/src/runtime/fragment_mgr.cpp | 106 +- be/src/runtime/fragment_mgr.h | 11 +- be/src/runtime/group_commit_mgr.cpp | 66 +- be/src/runtime/group_commit_mgr.h | 9 +- be/src/runtime/load_channel.cpp | 25 +- be/src/runtime/load_channel.h | 9 +- be/src/runtime/load_channel_mgr.cpp | 8 - be/src/runtime/load_stream.cpp | 2 +- be/src/runtime/load_stream.h | 4 + be/src/runtime/memory/thread_mem_tracker_mgr.h | 8 +- be/src/runtime/query_context.cpp | 27 + be/src/runtime/query_context.h | 1 + be/src/runtime/runtime_state.h | 4 + be/src/runtime/tablets_channel.cpp | 43 +- be/src/runtime/tablets_channel.h | 9 +- be/src/runtime/thread_context.h | 6 - be/src/service/backend_options.cpp | 16 +- be/src/service/backend_options.h | 5 +- be/src/service/backend_service.cpp | 37 +- be/src/service/http_service.cpp | 5 + be/src/util/bitmap_value.h | 7 +- be/src/util/block_compression.cpp | 4 +- be/src/util/s3_util.cpp | 3 + be/src/vec/columns/column.h | 4 +- be/src/vec/columns/column_complex.h | 30 +- be/src/vec/core/block.cpp | 20 +- be/src/vec/core/block.h | 2 + be/src/vec/core/field.h | 15 +- be/src/vec/data_types/data_type_hll.h | 12 +- .../data_types/serde/data_type_nullable_serde.cpp | 10 +- .../exec/format/table/iceberg/partition_spec.cpp | 71 + .../vec/exec/format/table/iceberg/partition_spec.h | 97 ++ .../format/table/iceberg/partition_spec_parser.cpp | 67 + .../format/table/iceberg/partition_spec_parser.h | 56 + be/src/vec/exec/format/table/iceberg/schema.cpp | 53 + .../exec/format/table/iceberg/schema.h} | 37 +- .../exec/format/table/iceberg/schema_parser.cpp | 163 +++ .../vec/exec/format/table/iceberg/schema_parser.h | 68 + .../vec/exec/format/table/iceberg/struct_like.h | 39 +- be/src/vec/exec/format/table/iceberg/types.cpp | 194 +++ be/src/vec/exec/format/table/iceberg/types.h | 403 ++++++ .../table/iceberg/unbound_partition_spec.cpp | 75 + .../format/table/iceberg/unbound_partition_spec.h | 75 + be/src/vec/exec/scan/new_jdbc_scanner.cpp | 1 + be/src/vec/exec/scan/pip_scanner_context.h | 17 +- be/src/vec/exec/scan/scanner_context.cpp | 55 +- be/src/vec/exec/scan/scanner_context.h | 2 +- be/src/vec/exec/scan/scanner_scheduler.cpp | 68 +- be/src/vec/exec/scan/vfile_scanner.cpp | 12 +- be/src/vec/exec/vjdbc_connector.h | 15 +- be/src/vec/exec/vset_operation_node.cpp | 6 +- be/src/vec/exec/vset_operation_node.h | 4 +- .../vec/exprs/table_function/vexplode_bitmap.cpp | 2 +- be/src/vec/exprs/vectorized_fn_call.cpp | 30 +- be/src/vec/exprs/vectorized_fn_call.h | 3 - be/src/vec/exprs/vexpr.cpp | 39 + be/src/vec/exprs/vexpr.h | 7 + be/src/vec/exprs/vin_predicate.cpp | 13 + be/src/vec/exprs/vin_predicate.h | 2 + be/src/vec/functions/array/function_array_index.h | 23 +- be/src/vec/functions/function.h | 3 +- be/src/vec/functions/function_ip.cpp | 2 + be/src/vec/functions/function_ip.h | 223 +-- be/src/vec/json/parse2column.cpp | 6 +- be/src/vec/json/path_in_data.cpp | 10 +- be/src/vec/runtime/vdata_stream_recvr.cpp | 17 +- be/src/vec/runtime/vdata_stream_recvr.h | 5 + be/src/vec/runtime/vorc_transformer.cpp | 110 +- be/src/vec/runtime/vorc_transformer.h | 16 +- be/src/vec/runtime/vparquet_transformer.cpp | 24 +- be/src/vec/runtime/vparquet_transformer.h | 5 +- be/src/vec/sink/load_stream_map_pool.cpp | 11 +- be/src/vec/sink/load_stream_map_pool.h | 4 +- be/src/vec/sink/load_stream_stub.cpp | 13 +- be/src/vec/sink/load_stream_stub.h | 10 +- .../vhive_utils.h => viceberg_table_sink.cpp} | 46 +- .../vhive_utils.h => viceberg_table_sink.h} | 37 +- .../{vhive_utils.h => iceberg/partition_data.h} | 42 +- .../sink/writer/iceberg/partition_transformers.cpp | 149 ++ .../sink/writer/iceberg/partition_transformers.h | 81 ++ .../viceberg_partition_writer.cpp} | 117 +- .../writer/iceberg/viceberg_partition_writer.h | 116 ++ .../sink/writer/iceberg/viceberg_table_writer.cpp | 484 +++++++ .../sink/writer/iceberg/viceberg_table_writer.h | 151 ++ be/src/vec/sink/writer/vhive_partition_writer.cpp | 6 +- be/src/vec/sink/writer/vhive_utils.h | 5 +- be/src/vec/sink/writer/vtablet_writer.cpp | 123 +- be/src/vec/sink/writer/vtablet_writer.h | 67 +- be/src/vec/sink/writer/vtablet_writer_v2.cpp | 60 +- be/src/vec/sink/writer/vtablet_writer_v2.h | 2 + be/src/vec/spill/spill_stream.cpp | 25 +- be/src/vec/spill/spill_stream.h | 8 +- be/src/vec/spill/spill_stream_manager.cpp | 59 +- be/src/vec/spill/spill_stream_manager.h | 4 +- be/src/vec/spill/spill_writer.h | 4 +- be/test/io/fs/s3_file_writer_test.cpp | 1275 +++++++++++----- be/test/olap/rowset/beta_rowset_test.cpp | 15 +- .../rowset/segment_v2/binary_dict_page_test.cpp | 4 + .../rowset/segment_v2/binary_plain_page_test.cpp | 2 + .../rowset/segment_v2/binary_prefix_page_test.cpp | 6 + .../rowset/segment_v2/bitshuffle_page_test.cpp | 4 + .../segment_v2/frame_of_reference_page_test.cpp | 8 + be/test/olap/rowset/segment_v2/plain_page_test.cpp | 4 + be/test/olap/rowset/segment_v2/rle_page_test.cpp | 6 + .../mem_tracker_test.cpp} | 2 +- .../runtime/memory/thread_mem_tracker_mgr_test.cpp | 455 ++++++ be/test/testutil/run_all_tests.cpp | 1 + be/test/vec/core/column_complex_test.cpp | 9 +- .../table/iceberg/partition_spec_parser_test.cpp | 87 ++ .../format/table/iceberg/schema_parser_test.cpp | 264 ++++ .../vec/exec/format/table/iceberg/schema_test.cpp | 70 + .../vec/exec/format/table/iceberg/type_test.cpp | 176 +++ be/test/vec/function/function_ip_test.cpp | 10 +- build.sh | 2 +- .../docker-compose/hive/hive-2x.yaml.tpl | 13 + .../docker-compose/hive/hive-3x.yaml.tpl | 13 + docker/thirdparties/run-thirdparties-docker.sh | 13 +- .../org/apache/doris/paimon/PaimonJniScanner.java | 9 +- .../org/apache/doris/catalog/MysqlColType.java | 15 + .../org/apache/doris/catalog/PrimitiveType.java | 4 + .../main/java/org/apache/doris/common/Config.java | 10 +- .../common/security/authentication/HadoopUGI.java | 1 + .../authentication/SimpleAuthenticationConfig.java | 3 +- .../antlr4/org/apache/doris/nereids/DorisLexer.g4 | 1 + .../antlr4/org/apache/doris/nereids/DorisParser.g4 | 5 +- fe/fe-core/src/main/cup/sql_parser.cup | 26 +- .../java/org/apache/doris/analysis/ColumnDef.java | 84 +- .../apache/doris/analysis/ColumnNullableType.java} | 31 +- .../org/apache/doris/analysis/DateLiteral.java | 4 + .../apache/doris/analysis/ShowColumnStatsStmt.java | 29 + .../org/apache/doris/analysis/ShowDataStmt.java | 13 +- .../org/apache/doris/backup/BackupHandler.java | 4 +- .../java/org/apache/doris/backup/BackupJob.java | 37 +- .../java/org/apache/doris/backup/RestoreJob.java | 6 +- .../apache/doris/binlog/AddPartitionRecord.java | 32 +- .../java/org/apache/doris/binlog/UpsertRecord.java | 4 + .../apache/doris/catalog/CatalogRecycleBin.java | 111 ++ .../apache/doris/catalog/CloudTabletStatMgr.java | 71 +- .../java/org/apache/doris/catalog/Database.java | 21 +- .../main/java/org/apache/doris/catalog/Env.java | 41 +- .../org/apache/doris/catalog/InternalSchema.java | 159 +- .../apache/doris/catalog/ListPartitionItem.java | 2 +- .../java/org/apache/doris/catalog/OlapTable.java | 123 +- .../org/apache/doris/catalog/PartitionKey.java | 7 + .../apache/doris/catalog/RangePartitionItem.java | 6 +- .../java/org/apache/doris/catalog/ResourceMgr.java | 5 + .../java/org/apache/doris/catalog/TableIf.java | 4 - .../apache/doris/catalog/TabletInvertedIndex.java | 3 + .../org/apache/doris/catalog/TabletStatMgr.java | 37 +- .../org/apache/doris/catalog/TempPartitions.java | 4 + .../transaction/CloudGlobalTransactionMgr.java | 19 + .../org/apache/doris/common/proc/DbsProcDir.java | 2 +- .../org/apache/doris/common/profile/Profile.java | 17 +- .../org/apache/doris/common/util/DebugUtil.java | 24 + .../apache/doris/common/util/ProfileManager.java | 7 +- .../java/org/apache/doris/common/util/Util.java | 24 - .../apache/doris/datasource/CatalogProperty.java | 2 +- .../apache/doris/datasource/InternalCatalog.java | 76 +- .../doris/datasource/hive/HMSCachedClient.java | 5 + .../doris/datasource/hive/HMSExternalCatalog.java | 8 + .../datasource/hive/HiveMetaStoreClientHelper.java | 71 - .../doris/datasource/hive/HiveMetadataOps.java | 9 +- .../hive/PostgreSQLJdbcHMSCachedClient.java | 5 + .../datasource/hive/ThriftHMSCachedClient.java | 18 +- .../datasource/iceberg/IcebergMetadataOps.java | 4 + .../datasource/iceberg/IcebergTransaction.java | 14 +- .../datasource/operations/ExternalMetadataOps.java | 5 + .../datasource/paimon/source/PaimonScanNode.java | 2 +- .../org/apache/doris/event/DataChangeEvent.java} | 15 +- .../apache/doris/event/DropPartitionEvent.java} | 15 +- .../main/java/org/apache/doris/event/Event.java | 60 + .../org/apache/doris/event/EventException.java} | 21 +- .../org/apache/doris/event/EventListener.java} | 14 +- .../org/apache/doris/event/EventProcessor.java | 57 + .../java/org/apache/doris/event/EventType.java} | 17 +- .../apache/doris/event/ReplacePartitionEvent.java} | 15 +- .../MTMVRefreshEnum.java => event/TableEvent.java} | 60 +- .../src/main/java/org/apache/doris/ha/BDBHA.java | 31 +- .../apache/doris/job/extensions/mtmv/MTMVJob.java | 29 +- .../apache/doris/job/extensions/mtmv/MTMVTask.java | 1 + .../main/java/org/apache/doris/load/ExportJob.java | 32 +- .../java/org/apache/doris/master/Checkpoint.java | 19 +- .../doris/metric/PrometheusMetricVisitor.java | 13 +- .../java/org/apache/doris/mtmv/BaseTableInfo.java | 20 +- .../main/java/org/apache/doris/mtmv/MTMVCache.java | 20 +- .../java/org/apache/doris/mtmv/MTMVJobManager.java | 19 +- .../org/apache/doris/mtmv/MTMVRefreshEnum.java | 1 + .../java/org/apache/doris/mtmv/MTMVService.java | 31 +- .../org/apache/doris/nereids/NereidsPlanner.java | 7 + .../org/apache/doris/nereids/StatementContext.java | 26 + .../org/apache/doris/nereids/cost/CostModelV1.java | 5 +- .../glue/translator/PhysicalPlanTranslator.java | 14 +- .../glue/translator/PlanTranslatorContext.java | 10 +- .../doris/nereids/parser/LogicalPlanBuilder.java | 48 +- .../processor/post/RuntimeFilterGenerator.java | 4 + .../post/RuntimeFilterPushDownVisitor.java | 4 + .../doris/nereids/rules/analysis/BindRelation.java | 9 +- .../nereids/rules/analysis/ExpressionAnalyzer.java | 8 + .../nereids/rules/analysis/UserAuthentication.java | 18 +- .../mv/AbstractMaterializedViewAggregateRule.java | 5 +- .../mv/AbstractMaterializedViewRule.java | 303 ++-- .../mv/AsyncMaterializationContext.java | 11 +- .../mv/InitMaterializationContextHook.java | 10 +- .../exploration/mv/MaterializationContext.java | 41 +- .../exploration/mv/MaterializedViewUtils.java | 144 +- .../nereids/rules/exploration/mv/Predicates.java | 52 - .../nereids/rules/exploration/mv/StructInfo.java | 126 +- .../expression/rules/FoldConstantRuleOnBE.java | 2 + .../expression/rules/FoldConstantRuleOnFE.java | 2 + .../nereids/rules/rewrite/AdjustNullable.java | 4 +- .../doris/nereids/rules/rewrite/ColumnPruning.java | 25 + .../nereids/rules/rewrite/RewriteCteChildren.java | 11 +- .../rules/rewrite/SimplifyWindowExpression.java | 2 +- .../doris/nereids/stats/FilterEstimation.java | 127 +- .../nereids/trees/expressions/Placeholder.java | 78 + .../functions/AggCombinerFunctionBuilder.java | 14 +- .../functions/scalar/Ipv6NumToString.java | 3 +- .../functions/scalar/IsIpAddressInRange.java | 4 +- .../nereids/trees/expressions/literal/Literal.java | 169 +++ .../expressions/literal/StringLikeLiteral.java | 11 +- .../expressions/visitor/ExpressionVisitor.java | 5 + .../doris/nereids/trees/plans/PlaceholderId.java | 58 + .../apache/doris/nereids/trees/plans/PlanType.java | 6 +- .../commands/DropCatalogRecycleBinCommand.java | 81 ++ .../trees/plans/commands/ExecuteCommand.java | 83 ++ .../trees/plans/commands/PrepareCommand.java | 120 ++ .../plans/commands/UpdateMvByPartitionCommand.java | 128 +- .../plans/commands/info/ColumnDefinition.java | 29 +- .../plans/commands/insert/OlapInsertExecutor.java | 24 +- .../nereids/trees/plans/logical/LogicalWindow.java | 2 +- .../trees/plans/visitor/CommandVisitor.java | 5 + .../java/org/apache/doris/persist/EditLog.java | 8 +- .../planner/BackendPartitionedSchemaScanNode.java | 9 +- .../org/apache/doris/planner/OlapTableSink.java | 111 +- .../java/org/apache/doris/planner/PlanNode.java | 1 + .../doris/plugin/audit/AuditStreamLoader.java | 17 +- .../java/org/apache/doris/qe/ConnectContext.java | 13 + .../java/org/apache/doris/qe/ConnectProcessor.java | 10 +- .../java/org/apache/doris/qe/GlobalVariable.java | 4 + .../org/apache/doris/qe/MysqlConnectProcessor.java | 145 +- .../org/apache/doris/qe/PrepareStmtContext.java | 12 +- ...tContext.java => PreparedStatementContext.java} | 31 +- .../java/org/apache/doris/qe/SessionVariable.java | 13 +- .../java/org/apache/doris/qe/ShowExecutor.java | 47 +- .../java/org/apache/doris/qe/StmtExecutor.java | 110 +- .../apache/doris/service/FrontendServiceImpl.java | 20 +- .../apache/doris/statistics/AnalysisManager.java | 82 +- .../apache/doris/statistics/ColumnStatistic.java | 14 +- .../statistics/ColumnStatisticsCacheLoader.java | 7 +- .../doris/statistics/PartitionColumnStatistic.java | 168 +++ .../PartitionColumnStatisticBuilder.java | 158 ++ .../PartitionColumnStatisticCacheKey.java | 82 ++ .../PartitionColumnStatisticCacheLoader.java | 76 + .../org/apache/doris/statistics/Statistics.java | 9 + .../apache/doris/statistics/StatisticsCache.java | 49 +- .../apache/doris/statistics/StatisticsCleaner.java | 80 +- .../doris/statistics/StatisticsRepository.java | 76 +- .../doris/statistics/util/StatisticsUtil.java | 11 +- .../java/org/apache/doris/system/Frontend.java | 4 + .../doris/transaction/DatabaseTransactionMgr.java | 94 +- .../doris/transaction/PartitionCommitInfo.java | 13 +- .../doris/transaction/PublishVersionDaemon.java | 9 +- .../apache/doris/transaction/TransactionEntry.java | 4 +- .../org/apache/doris/analysis/ColumnDefTest.java | 4 +- .../apache/doris/analysis/CreateTableStmtTest.java | 32 +- .../org/apache/doris/catalog/AdminStmtTest.java | 2 +- .../doris/cluster/DecommissionBackendTest.java | 8 +- .../apache/doris/common/util/DebugUtilTest.java | 45 + .../org/apache/doris/common/util/UtilTest.java | 46 - .../doris/datasource/TestHMSCachedClient.java | 4 + .../doris/nereids/minidump/MinidumpUtTest.java | 2 + .../exploration/mv/MaterializedViewUtilsTest.java | 103 ++ .../doris/nereids/stats/FilterEstimationTest.java | 31 +- .../doris/nereids/trees/plans/MarkJoinTest.java | 12 +- .../doris/nereids/trees/plans/PlanVisitorTest.java | 12 +- .../org/apache/doris/planner/QueryPlanTest.java | 10 +- gensrc/proto/internal_service.proto | 2 + gensrc/script/doris_builtins_functions.py | 13 +- gensrc/thrift/Descriptors.thrift | 1 + gensrc/thrift/PlanNodes.thrift | 1 + gensrc/thrift/Types.thrift | 1 + .../qe/query_regression/result/issue_5121.result | 2 +- .../qe/query_regression/result/issue_8850.result | 2 +- pytest/qe/query_regression/sql/issue_5121.sql | 2 +- pytest/qe/query_regression/sql/issue_8850.sql | 2 +- .../test_sys_bitmap/test_sys_bitmap_function.py | 2 +- regression-test/common/table/bitmap_basic_agg.sql | 2 +- regression-test/common/table/hll_basic_agg.sql | 2 +- regression-test/conf/regression-conf.groovy | 8 +- .../test_compaction_uniq_keys_row_store.out | 8 +- .../test_create_table_without_distribution.out | 6 - .../iceberg/write/test_iceberg_write_insert.out | 233 +++ .../write/test_iceberg_write_partitions.out | 169 +++ .../test_index_ddl_fault_injection.out | 13 + regression-test/data/insert_p0/txn_insert.out | 25 + .../array_contains/documents-1000.json | 1000 +++++++++++++ .../test_char_replace_arr.out} | 79 +- .../array_contains/test_compound_arr.out} | 0 .../test_count_on_index_httplogs_arr.out} | 45 +- .../array_contains/test_equal_on_fulltext_arr.out} | 4 +- .../test_index_bkd_null_arr.out} | 0 .../array_contains/test_index_change_2_arr.out | 37 + .../array_contains/test_index_change_4_arr.out | 31 + .../array_contains/test_index_change_6_arr.out | 31 + .../test_index_compaction_dup_keys_arr.out | 105 ++ .../test_index_compaction_null_arr.out | 1531 ++++++++++++++++++++ .../test_index_compaction_unique_keys_arr.out} | 0 ...ex_compaction_with_multi_index_segments_arr.out | 219 +++ .../array_contains/test_index_delete_arr.out} | 14 +- .../test_index_empty_string_arr.out} | 0 .../array_contains/test_index_equal_select_arr.out | 245 ++++ .../test_index_match_phrase_edge_arr.out} | 18 +- .../test_index_match_regexp_arr.out} | 16 +- .../array_contains/test_index_null_arr.out} | 9 +- .../array_contains/test_invalid_param.out | 115 ++ .../test_inverted_index_null_arr.out | 130 ++ .../array_contains/test_lowercase_arr.out | 136 ++ .../test_parser_with_none_stopwords.out | 115 ++ .../inverted_index_p0/test_compound_inlist.out | 60 + .../data/load_p0/stream_load/test_json_load.out | 3 + .../load_p0/stream_load/test_special_key_json.json | 1 + .../test_s3_load_with_load_parallelism.out} | 7 +- regression-test/data/mtmv_p0/test_commit_mtmv.out | 40 + .../test_truncate_table_mtmv.out} | 13 +- .../insert_into_table/partial_update_seq_col.out | Bin 1412 -> 1416 bytes .../nereids_rules_p0/mv/partition_mv_rewrite.out | 112 +- .../sql/two_instance_correctness.out} | 0 .../data/point_query_p0/test_rowstore.out | 6 + .../data/prepared_stmt_p0/prepared_stmt.out | 53 +- .../data/query_p0/operator/test_set_operator.out | 12 + .../test_is_ip_address_in_range_function.out | 13 +- .../test_partial_update_insert_seq_col.out | Bin 1412 -> 1416 bytes .../partial_update/test_partial_update_seq_col.out | Bin 1411 -> 1415 bytes .../test_partial_update_seq_col_delete.out | Bin 1526 -> 1530 bytes regression-test/data/variant_p0/column_name.out | 17 +- .../org/apache/doris/regression/suite/Suite.groovy | 97 +- .../pipeline/cloud_p0/conf/be_custom.conf | 3 - .../pipeline/cloud_p0/conf/fe_custom.conf | 2 - .../pipeline/cloud_p1/conf/be_custom.conf | 3 - .../pipeline/cloud_p1/conf/fe_custom.conf | 3 - regression-test/pipeline/p0/conf/fe.conf | 3 - .../pipeline/p0/conf/regression-conf.groovy | 1 - regression-test/pipeline/p1/conf/fe.conf | 4 +- .../plugins/plugin_curl_requester.groovy | 4 + .../plugins/plugin_must_contains.groovy | 21 +- .../account_p0/test_nereids_authentication.groovy | 10 + .../backup_restore/test_backup_restore_mtmv.groovy | 99 ++ .../test_drop_catalog_recycle_bin.groovy | 108 ++ .../clone_p0/test_clone_missing_version.groovy | 88 ++ .../suites/compaction/test_base_compaction.groovy | 5 + .../test_lateral_view_in_subquery.groovy | 2 +- .../correctness_p0/test_table_function.groovy | 2 +- .../test_union_subquery_groupby.groovy | 2 +- .../test_create_table_without_distribution.groovy | 8 +- .../export_p0/export/test_show_export.groovy | 4 +- .../outfile/csv/test_outfile_csv_array_type.groovy | 28 +- .../csv/test_outfile_csv_complex_type.groovy | 14 +- .../outfile/csv/test_outfile_csv_map_type.groovy | 36 +- .../csv/test_outfile_csv_one_nested_type.groovy | 26 +- .../outfile/csv/test_outfile_empty_data.groovy | 2 +- .../orc/test_outfile_orc_one_nested_type.groovy | 26 +- .../outfile/orc/test_outfile_orc_timestamp.groovy | 2 +- .../test_outfile_expr_generate_col_name.groovy | 4 +- .../parquet/test_outfile_parquet_array_type.groovy | 28 +- .../test_outfile_parquet_complex_type.groovy | 14 +- .../parquet/test_outfile_parquet_map_type.groovy | 36 +- .../test_outfile_parquet_one_nested_type.groovy | 24 +- .../suites/export_p0/test_export_data_types.groovy | 10 +- .../export_p0/test_export_empty_table.groovy | 269 +--- .../suites/export_p0/test_export_orc.groovy | 2 +- .../suites/export_p0/test_export_parquet.groovy | 2 +- .../suites/export_p0/test_export_view.groovy | 2 +- .../export_p0/test_outfile_file_suffix.groovy | 4 +- .../export_p0/test_outfile_orc_array_type.groovy | 28 +- .../export_p0/test_outfile_orc_complex_type.groovy | 14 +- .../export_p0/test_outfile_orc_map_type.groovy | 36 +- .../suites/export_p0/test_with_bom.groovy | 8 +- .../export_p2/test_export_with_parallelism.groovy | 2 +- .../suites/export_p2/test_export_with_s3.groovy | 2 +- .../hive/ddl/test_hive_ctas.groovy | 3 +- .../hive/ddl/test_hive_ddl.groovy | 3 +- .../hive/ddl/test_hive_show_create_table.groovy | 3 +- .../hive/ddl/test_hive_write_type.groovy | 3 +- .../write/test_hive_write_different_path.groovy | 6 +- .../iceberg/write/test_iceberg_write_insert.groovy | 848 +++++++++++ .../write/test_iceberg_write_partitions.groovy | 228 +++ .../jdbc/test_doris_jdbc_catalog.groovy | 120 +- .../test_insert_from_tvf_with_common_user.groovy | 2 +- .../external_table_p0/tvf/test_s3_tvf.groovy | 4 +- .../tvf/test_s3_tvf_with_resource.groovy | 4 +- .../test_full_compaciton_run_status.groovy | 5 + .../test_index_ddl_fault_injection.groovy | 69 + .../suites/function_p0/test_agg_foreach.groovy | 4 +- .../insert_p0/test_group_commit_variant.groovy | 30 +- regression-test/suites/insert_p0/txn_insert.groovy | 52 + regression-test/suites/insert_p2/txn_insert.groovy | 1 + .../txn_insert_concurrent_insert_duplicate.groovy | 170 +++ .../txn_insert_concurrent_insert_ud.groovy | 183 +++ .../txn_insert_concurrent_insert_unique.groovy | 170 +++ .../txn_insert_concurrent_insert_update.groovy | 195 +++ .../test_add_drop_index_with_data_arr.groovy | 338 +++++ ...test_add_drop_index_with_delete_data_arr.groovy | 273 ++++ .../array_contains/test_char_replace_arr.groovy | 103 ++ .../array_contains/test_compound_arr.groovy | 69 + .../test_count_on_index_httplogs_arr.groovy | 204 +++ .../test_equal_on_fulltext_arr.groovy | 52 + .../array_contains/test_index_bkd_null_arr.groovy | 52 + .../array_contains/test_index_change_2_arr.groovy | 144 ++ .../array_contains/test_index_change_4_arr.groovy | 145 ++ .../array_contains/test_index_change_6_arr.groovy | 149 ++ .../test_index_compaction_dup_keys_arr.groovy | 250 ++++ .../test_index_compaction_null_arr.groovy | 329 +++++ .../test_index_compaction_unique_keys_arr.groovy | 255 ++++ ...compaction_with_multi_index_segments_arr.groovy | 410 ++++++ .../array_contains/test_index_delete_arr.groovy | 80 + .../test_index_empty_string_arr.groovy | 59 + .../test_index_equal_select_arr.groovy | 247 ++++ .../test_index_match_phrase_edge_arr.groovy | 76 + .../test_index_match_regexp_arr.groovy | 100 ++ .../array_contains/test_index_null_arr.groovy | 56 + .../array_contains/test_invalid_param.groovy | 118 ++ .../test_inverted_index_null_arr.groovy | 100 ++ .../array_contains/test_lowercase_arr.groovy | 249 ++++ .../test_parser_with_none_stopwords.groovy | 118 ++ .../inverted_index_p0/test_compound_inlist.groovy | 76 +- .../load_p0/broker_load/ddl/agg_tbl_basic.sql | 12 +- .../routine_load/ddl/agg_tbl_basic_create.sql | 12 +- .../stream_load/ddl/agg_tbl_basic_create.sql | 12 +- .../load_p0/stream_load/test_json_load.groovy | 26 + .../suites/load_p0/tvf/ddl/agg_tbl_basic_tvf.sql | 12 +- .../suites/load_p0/tvf/test_tvf_error_url.groovy | 8 +- .../broker_load/test_s3_load_parallelism.groovy | 99 -- .../test_s3_load_with_load_parallelism.groovy | 37 +- .../suites/mtmv_p0/test_commit_mtmv.groovy | 130 ++ .../suites/mtmv_p0/test_truncate_table_mtmv.groovy | 87 ++ .../where_invalid/where_invalid.groovy | 4 +- .../suites/nereids_p0/aggregate/aggregate.groovy | 15 + .../nereids_p0/join/test_bitmap_filter.groovy | 4 +- .../nereids_p0/lateral_view/test_issue_8850.sql | 2 +- .../test_aggregate_all_functions.groovy | 4 +- .../bitmap_functions/test_bitmap_function.groovy | 10 +- .../adjust_nullable/set_operation.groovy | 56 +- .../column_pruning/window_column_pruning.groovy | 60 + .../agg_with_roll_up/aggregate_with_roll_up.groovy | 1 - .../mv/availability/grace_period.groovy | 1 - .../mv/dimension/dimension_1.groovy | 1 - .../mv/dimension/dimension_2_3.groovy | 1 - .../mv/dimension/dimension_2_4.groovy | 1 - .../mv/dimension/dimension_2_5.groovy | 1 - .../mv/dimension/dimension_2_6.groovy | 1 - .../mv/dimension/dimension_2_full_join.groovy | 1 - .../mv/dimension/dimension_2_inner_join.groovy | 1 - .../mv/dimension/dimension_2_left_anti_join.groovy | 1 - .../mv/dimension/dimension_2_left_join.groovy | 1 - .../mv/dimension/dimension_2_left_semi_join.groovy | 1 - .../dimension/dimension_2_right_anti_join.groovy | 1 - .../mv/dimension/dimension_2_right_join.groovy | 1 - .../dimension/dimension_2_right_semi_join.groovy | 1 - .../mv/dimension/dimension_self_conn.groovy | 1 - .../dimension_2_join_agg.groovy | 1 - .../filter_equal_or_notequal.groovy | 1 - .../mv_contain_external_table.groovy | 1 - .../cross_join_list_str_increment_create.groovy | 1 - .../cross_join_range_date_increment_create.groovy | 1 - ...cross_join_range_number_increment_create.groovy | 1 - .../full_join_list_str_increment_create.groovy | 1 - .../full_join_range_date_increment_create.groovy | 1 - .../full_join_range_number_increment_create.groovy | 1 - .../inner_join_list_str_increment_create.groovy | 1 - .../inner_join_range_date_increment_create.groovy | 1 - ...inner_join_range_number_increment_create.groovy | 1 - ...left_anti_join_list_str_increment_create.groovy | 1 - ...ft_anti_join_range_date_increment_create.groovy | 1 - ..._anti_join_range_number_increment_create.groovy | 1 - .../left_join_list_str_increment_create.groovy | 1 - .../left_join_range_date_increment_create.groovy | 1 - .../left_join_range_number_increment_create.groovy | 1 - ...left_semi_join_list_str_increment_create.groovy | 1 - ...ft_semi_join_range_date_increment_create.groovy | 1 - ..._semi_join_range_number_increment_create.groovy | 1 - ...ight_anti_join_list_str_increment_create.groovy | 1 - ...ht_anti_join_range_date_increment_create.groovy | 1 - ..._anti_join_range_number_increment_create.groovy | 1 - .../right_join_list_str_increment_create.groovy | 1 - .../right_join_range_date_increment_create.groovy | 1 - ...right_join_range_number_increment_create.groovy | 1 - ...ight_semi_join_list_str_increment_create.groovy | 1 - ...ht_semi_join_range_date_increment_create.groovy | 1 - ..._semi_join_range_number_increment_create.groovy | 1 - .../self_conn_list_str_increment_create.groovy | 1 - .../self_conn_range_date_increment_create.groovy | 1 - .../self_conn_range_number_increment_create.groovy | 1 - .../mv/join/dphyp_inner/inner_join_dphyp.groovy | 1 - .../mv/join/dphyp_outer/outer_join_dphyp.groovy | 1 - .../mv/join/inner/inner_join.groovy | 1 - .../mv/join/left_outer/outer_join.groovy | 1 - .../mv/negative/negative_test.groovy | 1 - .../mv/nested/nested_materialized_view.groovy | 1 - .../mv/nested_mtmv/nested_mtmv.groovy | 1 - .../mv/partition_mv_rewrite.groovy | 306 +++- .../nereids_rules_p0/mv/scan/scan_table.groovy | 1 - .../partition_curd_union_rewrite.groovy | 1 - .../mv/union_rewrite/usercase_union_rewrite.groovy | 1 - .../suites/nereids_syntax_p0/lateral_view.groovy | 2 +- .../suites/nereids_syntax_p0/runtime_filter.groovy | 16 + .../tpch/push_filter_window_eqset.groovy | 2 +- .../test_auto_range_partition.groovy | 3 +- .../auto_partition/sql/multi_thread_load.groovy | 2 +- .../sql/stress_test_insert_into.groovy | 2 +- .../sql/two_instance_correctness.groovy | 45 + .../suites/point_query_p0/test_point_query.groovy | 5 +- .../suites/point_query_p0/test_rowstore.groovy | 9 + .../suites/prepared_stmt_p0/prepared_stmt.groovy | 249 ++-- .../suites/query_p0/join/test_bitmap_filter.groovy | 4 +- .../join/test_bitmap_filter_nereids.groovy | 4 +- .../query_p0/lateral_view/lateral_view.groovy | 2 +- .../query_p0/lateral_view/test_issue_8850.sql | 2 +- .../query_p0/operator/test_set_operator.groovy | 8 + .../test_aggregate_all_functions.groovy | 4 +- .../bitmap_functions/test_bitmap_function.groovy | 20 +- .../bitmap_functions/test_issue_27409.groovy | 2 +- .../test_count_distinct_with_case_function.groovy | 4 +- .../conditional_functions/test_nullif.groovy | 2 +- .../test_is_ip_address_in_range_function.groovy | 19 +- .../suites/query_p0/test_data_type_marks.groovy | 4 +- .../return_binaray/test_return_binaray_hll.groovy | 2 +- .../test_return_binary_bitmap.groovy | 2 +- .../query_profile/s3_load_profile_test.groovy | 10 +- .../suites/statistics/test_agg_complex_type.groovy | 2 +- regression-test/suites/statistics/test_ddl.groovy | 16 - .../suites/statistics/test_partition_stats.groovy | 185 +++ .../statistics/test_show_partition_stats.groovy | 92 -- .../suites/variant_p0/column_name.groovy | 23 +- .../workload_manager_p1/mixed_query_test.groovy | 197 --- samples/read_bitmap/java/ReadBitmap.java | 2 +- thirdparty/CHANGELOG.md | 4 + thirdparty/build-thirdparty.sh | 20 + thirdparty/vars.sh | 7 + tools/pipeline-tracing/origin-to-show.py | 47 +- 625 files changed, 23552 insertions(+), 4773 deletions(-) create mode 100644 be/src/io/fs/obj_storage_client.h create mode 100644 be/src/io/fs/s3_obj_storage_client.cpp create mode 100644 be/src/io/fs/s3_obj_storage_client.h copy fe/fe-core/src/main/java/org/apache/doris/mtmv/MTMVRefreshEnum.java => be/src/pipeline/exec/iceberg_table_sink_operator.cpp (50%) create mode 100644 be/src/pipeline/exec/iceberg_table_sink_operator.h create mode 100644 be/src/vec/exec/format/table/iceberg/partition_spec.cpp create mode 100644 be/src/vec/exec/format/table/iceberg/partition_spec.h create mode 100644 be/src/vec/exec/format/table/iceberg/partition_spec_parser.cpp create mode 100644 be/src/vec/exec/format/table/iceberg/partition_spec_parser.h create mode 100644 be/src/vec/exec/format/table/iceberg/schema.cpp copy be/src/{http/action/pipeline_task_action.h => vec/exec/format/table/iceberg/schema.h} (51%) create mode 100644 be/src/vec/exec/format/table/iceberg/schema_parser.cpp create mode 100644 be/src/vec/exec/format/table/iceberg/schema_parser.h rename regression-test/suites/workload_manager_p1/conf/mixed_query_test_conf.groovy => be/src/vec/exec/format/table/iceberg/struct_like.h (54%) create mode 100644 be/src/vec/exec/format/table/iceberg/types.cpp create mode 100644 be/src/vec/exec/format/table/iceberg/types.h create mode 100644 be/src/vec/exec/format/table/iceberg/unbound_partition_spec.cpp create mode 100644 be/src/vec/exec/format/table/iceberg/unbound_partition_spec.h copy be/src/vec/sink/{writer/vhive_utils.h => viceberg_table_sink.cpp} (50%) copy be/src/vec/sink/{writer/vhive_utils.h => viceberg_table_sink.h} (54%) copy be/src/vec/sink/writer/{vhive_utils.h => iceberg/partition_data.h} (53%) create mode 100644 be/src/vec/sink/writer/iceberg/partition_transformers.cpp create mode 100644 be/src/vec/sink/writer/iceberg/partition_transformers.h copy be/src/vec/sink/writer/{vhive_partition_writer.cpp => iceberg/viceberg_partition_writer.cpp} (57%) create mode 100644 be/src/vec/sink/writer/iceberg/viceberg_partition_writer.h create mode 100644 be/src/vec/sink/writer/iceberg/viceberg_table_writer.cpp create mode 100644 be/src/vec/sink/writer/iceberg/viceberg_table_writer.h rename be/test/runtime/{mem_limit_test.cpp => memory/mem_tracker_test.cpp} (97%) create mode 100644 be/test/runtime/memory/thread_mem_tracker_mgr_test.cpp create mode 100644 be/test/vec/exec/format/table/iceberg/partition_spec_parser_test.cpp create mode 100644 be/test/vec/exec/format/table/iceberg/schema_parser_test.cpp create mode 100644 be/test/vec/exec/format/table/iceberg/schema_test.cpp create mode 100644 be/test/vec/exec/format/table/iceberg/type_test.cpp copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/analysis/ColumnNullableType.java} (57%) copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/DataChangeEvent.java} (71%) copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/DropPartitionEvent.java} (71%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/event/Event.java copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/EventException.java} (71%) copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/EventListener.java} (71%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/event/EventProcessor.java copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/EventType.java} (70%) copy fe/{fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => fe-core/src/main/java/org/apache/doris/event/ReplacePartitionEvent.java} (71%) copy fe/fe-core/src/main/java/org/apache/doris/{mtmv/MTMVRefreshEnum.java => event/TableEvent.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Placeholder.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/PlaceholderId.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/DropCatalogRecycleBinCommand.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/ExecuteCommand.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/PrepareCommand.java copy fe/fe-core/src/main/java/org/apache/doris/qe/{PrepareStmtContext.java => PreparedStatementContext.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/PartitionColumnStatistic.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/PartitionColumnStatisticBuilder.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/PartitionColumnStatisticCacheKey.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/PartitionColumnStatisticCacheLoader.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/common/util/UtilTest.java create mode 100644 regression-test/data/external_table_p0/iceberg/write/test_iceberg_write_insert.out create mode 100644 regression-test/data/external_table_p0/iceberg/write/test_iceberg_write_partitions.out create mode 100644 regression-test/data/fault_injection_p0/test_index_ddl_fault_injection.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/documents-1000.json copy regression-test/data/inverted_index_p0/{test_compound_inlist.out => array_contains/test_char_replace_arr.out} (60%) copy regression-test/data/{fault_injection_p0/test_no_index_null_fault_injection.out => inverted_index_p0/array_contains/test_compound_arr.out} (100%) copy regression-test/data/inverted_index_p0/{test_compound_inlist.out => array_contains/test_count_on_index_httplogs_arr.out} (69%) copy regression-test/data/{load_p0/broker_load/test_s3_load_with_load_parallelism.out => inverted_index_p0/array_contains/test_equal_on_fulltext_arr.out} (76%) copy regression-test/data/inverted_index_p0/{test_index_null.out => array_contains/test_index_bkd_null_arr.out} (100%) create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_change_2_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_change_4_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_change_6_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_compaction_dup_keys_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_compaction_null_arr.out copy regression-test/data/inverted_index_p0/{index_compaction/test_index_compaction_unique_keys.out => array_contains/test_index_compaction_unique_keys_arr.out} (100%) create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_compaction_with_multi_index_segments_arr.out copy regression-test/data/{load_p0/broker_load/test_s3_load_with_load_parallelism.out => inverted_index_p0/array_contains/test_index_delete_arr.out} (64%) copy regression-test/data/{nereids_syntax_p0/type_cast.out => inverted_index_p0/array_contains/test_index_empty_string_arr.out} (100%) create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_index_equal_select_arr.out copy regression-test/data/{point_query_p0/test_rowstore.out => inverted_index_p0/array_contains/test_index_match_phrase_edge_arr.out} (55%) copy regression-test/data/{point_query_p0/test_rowstore.out => inverted_index_p0/array_contains/test_index_match_regexp_arr.out} (62%) rename regression-test/data/{load_p0/broker_load/test_s3_load_with_load_parallelism.out => inverted_index_p0/array_contains/test_index_null_arr.out} (68%) create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_invalid_param.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_inverted_index_null_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_lowercase_arr.out create mode 100644 regression-test/data/inverted_index_p0/array_contains/test_parser_with_none_stopwords.out create mode 100644 regression-test/data/load_p0/stream_load/test_special_key_json.json copy regression-test/data/{load_p1/broker_load/test_s3_load_parallelism.out => load_p2/broker_load/test_s3_load_with_load_parallelism.out} (71%) create mode 100644 regression-test/data/mtmv_p0/test_commit_mtmv.out rename regression-test/data/{load_p1/broker_load/test_s3_load_parallelism.out => mtmv_p0/test_truncate_table_mtmv.out} (54%) copy regression-test/data/{datatype_p0/date/test_default_current_timestamp.out => partition_p1/auto_partition/sql/two_instance_correctness.out} (100%) copy fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => regression-test/plugins/plugin_must_contains.groovy (65%) create mode 100644 regression-test/suites/backup_restore/test_backup_restore_mtmv.groovy create mode 100644 regression-test/suites/catalog_recycle_bin_p0/test_drop_catalog_recycle_bin.groovy create mode 100644 regression-test/suites/clone_p0/test_clone_missing_version.groovy create mode 100644 regression-test/suites/external_table_p0/iceberg/write/test_iceberg_write_insert.groovy create mode 100644 regression-test/suites/external_table_p0/iceberg/write/test_iceberg_write_partitions.groovy create mode 100644 regression-test/suites/fault_injection_p0/test_index_ddl_fault_injection.groovy copy fe/fe-common/src/main/java/org/apache/doris/common/security/authentication/SimpleAuthenticationConfig.java => regression-test/suites/insert_p0/test_group_commit_variant.groovy (52%) create mode 100644 regression-test/suites/insert_p2/txn_insert_concurrent_insert_duplicate.groovy create mode 100644 regression-test/suites/insert_p2/txn_insert_concurrent_insert_ud.groovy create mode 100644 regression-test/suites/insert_p2/txn_insert_concurrent_insert_unique.groovy create mode 100644 regression-test/suites/insert_p2/txn_insert_concurrent_insert_update.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_add_drop_index_with_data_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_add_drop_index_with_delete_data_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_char_replace_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_compound_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_count_on_index_httplogs_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_equal_on_fulltext_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_bkd_null_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_change_2_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_change_4_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_change_6_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_compaction_dup_keys_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_compaction_null_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_compaction_unique_keys_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_compaction_with_multi_index_segments_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_delete_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_empty_string_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_equal_select_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_match_phrase_edge_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_match_regexp_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_index_null_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_invalid_param.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_inverted_index_null_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_lowercase_arr.groovy create mode 100644 regression-test/suites/inverted_index_p0/array_contains/test_parser_with_none_stopwords.groovy delete mode 100644 regression-test/suites/load_p1/broker_load/test_s3_load_parallelism.groovy rename regression-test/suites/{load_p0 => load_p2}/broker_load/test_s3_load_with_load_parallelism.groovy (87%) create mode 100644 regression-test/suites/mtmv_p0/test_commit_mtmv.groovy create mode 100644 regression-test/suites/mtmv_p0/test_truncate_table_mtmv.groovy copy be/src/http/action/pipeline_task_action.h => regression-test/suites/nereids_rules_p0/adjust_nullable/set_operation.groovy (57%) create mode 100644 regression-test/suites/nereids_rules_p0/column_pruning/window_column_pruning.groovy create mode 100644 regression-test/suites/partition_p1/auto_partition/sql/two_instance_correctness.groovy create mode 100644 regression-test/suites/statistics/test_partition_stats.groovy delete mode 100644 regression-test/suites/statistics/test_show_partition_stats.groovy delete mode 100644 regression-test/suites/workload_manager_p1/mixed_query_test.groovy --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org