From 039e00c8bfe474b3dda47335f388237c614d9d27 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E7=B5=B5=E7=A9=BA=E4=BA=8B=E3=82=B9=E3=83=94=E3=83=AA?=
=?UTF-8?q?=E3=83=83=E3=83=88?=
Date: Fri, 13 Dec 2024 13:44:21 +0800
Subject: [PATCH] [Doc] Add meaning of 0 for variables (#53714)
(cherry picked from commit b42eff7ae3538bc2e4e6bba68fb959d7089086a7)
# Conflicts:
# .github/CODEOWNERS
# .github/PULL_REQUEST_TEMPLATE.md
# .github/workflows/ci-comment-tools.yml
# .github/workflows/ci-merged-sonarcloud-fe.yml
# .github/workflows/ci-merged.yml
# .github/workflows/ci-pipeline-branch.yml
# .github/workflows/ci-pipeline.yml
# .github/workflows/ci-report.yml
# .github/workflows/ci-sync.yml
# .github/workflows/inspection-pipeline.yml
# .github/workflows/pr-checker.yml
# .gitignore
# .trivyignore
# README.md
# be/.gitignore
# be/CMakeLists.txt
# be/cmake_modules/FindClangTidy.cmake
# be/src/agent/agent_task.cpp
# be/src/agent/finish_task.cpp
# be/src/agent/heartbeat_server.cpp
# be/src/agent/publish_version.cpp
# be/src/agent/report_task.cpp
# be/src/agent/task_worker_pool.cpp
# be/src/agent/utils.cpp
# be/src/agent/utils.h
# be/src/bench/CMakeLists.txt
# be/src/bench/block_cache_bench.cpp
# be/src/bench/chunks_sorter_bench.cpp
# be/src/bench/csv_reader_bench.cpp
# be/src/bench/get_dict_codes_bench.cpp
# be/src/bench/orc_column_reader_bench.cpp
# be/src/bench/parquet_dict_decode_bench.cpp
# be/src/bench/persistent_index_bench.cpp
# be/src/bench/runtime_filter_bench.cpp
# be/src/bench/shuffle_chunk_bench.cpp
# be/src/block_cache/CMakeLists.txt
# be/src/block_cache/block_cache.cpp
# be/src/block_cache/block_cache.h
# be/src/block_cache/cache_options.h
# be/src/block_cache/datacache_utils.cpp
# be/src/block_cache/datacache_utils.h
# be/src/block_cache/disk_space_monitor.cpp
# be/src/block_cache/kv_cache.h
# be/src/block_cache/starcache_wrapper.cpp
# be/src/block_cache/starcache_wrapper.h
# be/src/column/adaptive_nullable_column.cpp
# be/src/column/adaptive_nullable_column.h
# be/src/column/array_column.h
# be/src/column/array_view_column.h
# be/src/column/binary_column.cpp
# be/src/column/binary_column.h
# be/src/column/bytes.h
# be/src/column/chunk.cpp
# be/src/column/chunk.h
# be/src/column/column.cpp
# be/src/column/column.h
# be/src/column/column_builder.h
# be/src/column/column_hash.h
# be/src/column/column_helper.cpp
# be/src/column/column_helper.h
# be/src/column/column_viewer.cpp
# be/src/column/const_column.cpp
# be/src/column/const_column.h
# be/src/column/datum.h
# be/src/column/field.h
# be/src/column/fixed_length_column_base.cpp
# be/src/column/fixed_length_column_base.h
# be/src/column/hash_set.h
# be/src/column/json_column.cpp
# be/src/column/json_column.h
# be/src/column/map_column.h
# be/src/column/nullable_column.cpp
# be/src/column/nullable_column.h
# be/src/column/object_column.cpp
# be/src/column/object_column.h
# be/src/column/schema.cpp
# be/src/column/struct_column.cpp
# be/src/column/struct_column.h
# be/src/column/vectorized_fwd.h
# be/src/common/config.h
# be/src/common/daemon.cpp
# be/src/common/logconfig.cpp
# be/src/common/logging.h
# be/src/common/status.cpp
# be/src/common/status.h
# be/src/connector/CMakeLists.txt
# be/src/connector/connector.cpp
# be/src/connector/connector.h
# be/src/connector/hive_connector.cpp
# be/src/connector/hive_connector.h
# be/src/connector/lake_connector.cpp
# be/src/connector/lake_connector.h
# be/src/exec/CMakeLists.txt
# be/src/exec/aggregate/agg_hash_map.h
# be/src/exec/aggregate/agg_hash_set.h
# be/src/exec/aggregate/aggregate_base_node.cpp
# be/src/exec/aggregator.cpp
# be/src/exec/aggregator.h
# be/src/exec/analytor.cpp
# be/src/exec/analytor.h
# be/src/exec/arrow_to_starrocks_converter.cpp
# be/src/exec/arrow_to_starrocks_converter.h
# be/src/exec/capture_version_node.cpp
# be/src/exec/chunks_sorter.cpp
# be/src/exec/chunks_sorter.h
# be/src/exec/chunks_sorter_full_sort.h
# be/src/exec/chunks_sorter_heap_sort.h
# be/src/exec/chunks_sorter_topn.h
# be/src/exec/connector_scan_node.cpp
# be/src/exec/csv_scanner.cpp
# be/src/exec/csv_scanner.h
# be/src/exec/data_sink.cpp
# be/src/exec/data_sink.h
# be/src/exec/dictionary_cache_writer.h
# be/src/exec/es/es_predicate.cpp
# be/src/exec/es/es_scan_reader.cpp
# be/src/exec/except_hash_set.cpp
# be/src/exec/except_hash_set.h
# be/src/exec/exec_node.h
# be/src/exec/file_scanner.cpp
# be/src/exec/hash_join_components.cpp
# be/src/exec/hash_join_components.h
# be/src/exec/hash_join_node.cpp
# be/src/exec/hash_join_node.h
# be/src/exec/hash_joiner.cpp
# be/src/exec/hash_joiner.h
# be/src/exec/hdfs_scanner.cpp
# be/src/exec/hdfs_scanner.h
# be/src/exec/hdfs_scanner_orc.cpp
# be/src/exec/hdfs_scanner_parquet.cpp
# be/src/exec/hdfs_scanner_text.cpp
# be/src/exec/iceberg/iceberg_delete_builder.cpp
# be/src/exec/iceberg/iceberg_delete_builder.h
# be/src/exec/intersect_hash_set.cpp
# be/src/exec/intersect_hash_set.h
# be/src/exec/jdbc_scanner.cpp
# be/src/exec/jdbc_scanner.h
# be/src/exec/jni_scanner.cpp
# be/src/exec/jni_scanner.h
# be/src/exec/join_hash_map.cpp
# be/src/exec/join_hash_map.h
# be/src/exec/join_hash_map.tpp
# be/src/exec/json_scanner.cpp
# be/src/exec/json_scanner.h
# be/src/exec/local_file_writer.cpp
# be/src/exec/olap_common.cpp
# be/src/exec/olap_common.h
# be/src/exec/olap_scan_node.cpp
# be/src/exec/olap_scan_node.h
# be/src/exec/olap_scan_prepare.cpp
# be/src/exec/olap_scan_prepare.h
# be/src/exec/olap_utils.h
# be/src/exec/orc_scanner.cpp
# be/src/exec/parquet_reader.cpp
# be/src/exec/parquet_reader.h
# be/src/exec/parquet_scanner.cpp
# be/src/exec/partition/chunks_partitioner.cpp
# be/src/exec/partition/chunks_partitioner.h
# be/src/exec/partition/partition_hash_map.h
# be/src/exec/partition/partition_hash_variant.cpp
# be/src/exec/partition/partition_hash_variant.h
# be/src/exec/pipeline/aggregate/aggregate_blocking_sink_operator.h
# be/src/exec/pipeline/aggregate/aggregate_blocking_source_operator.h
# be/src/exec/pipeline/aggregate/aggregate_distinct_blocking_sink_operator.h
# be/src/exec/pipeline/aggregate/aggregate_distinct_blocking_source_operator.h
# be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_sink_operator.h
# be/src/exec/pipeline/aggregate/aggregate_distinct_streaming_source_operator.h
# be/src/exec/pipeline/aggregate/aggregate_streaming_sink_operator.h
# be/src/exec/pipeline/aggregate/aggregate_streaming_source_operator.h
# be/src/exec/pipeline/aggregate/sorted_aggregate_streaming_sink_operator.h
# be/src/exec/pipeline/aggregate/sorted_aggregate_streaming_source_operator.h
# be/src/exec/pipeline/aggregate/spillable_aggregate_blocking_sink_operator.h
# be/src/exec/pipeline/aggregate/spillable_aggregate_blocking_source_operator.h
# be/src/exec/pipeline/aggregate/spillable_aggregate_distinct_blocking_operator.h
# be/src/exec/pipeline/audit_statistics_reporter.cpp
# be/src/exec/pipeline/audit_statistics_reporter.h
# be/src/exec/pipeline/chunk_accumulate_operator.h
# be/src/exec/pipeline/context_with_dependency.h
# be/src/exec/pipeline/exchange/exchange_sink_operator.cpp
# be/src/exec/pipeline/exchange/local_exchange_sink_operator.h
# be/src/exec/pipeline/exchange/local_exchange_source_operator.h
# be/src/exec/pipeline/exchange/mem_limited_chunk_queue.cpp
# be/src/exec/pipeline/exchange/multi_cast_local_exchange_sink_operator.h
# be/src/exec/pipeline/exchange/multi_cast_local_exchange_source_operator.h
# be/src/exec/pipeline/exchange/sink_buffer.cpp
# be/src/exec/pipeline/exchange/sink_buffer.h
# be/src/exec/pipeline/exec_state_reporter.cpp
# be/src/exec/pipeline/fragment_context.cpp
# be/src/exec/pipeline/fragment_context.h
# be/src/exec/pipeline/fragment_executor.cpp
# be/src/exec/pipeline/fragment_executor.h
# be/src/exec/pipeline/hash_partition_context.cpp
# be/src/exec/pipeline/hash_partition_context.h
# be/src/exec/pipeline/hashjoin/hash_join_build_operator.cpp
# be/src/exec/pipeline/hashjoin/hash_join_build_operator.h
# be/src/exec/pipeline/hashjoin/hash_join_probe_operator.cpp
# be/src/exec/pipeline/hashjoin/hash_join_probe_operator.h
# be/src/exec/pipeline/hashjoin/spillable_hash_join_build_operator.cpp
# be/src/exec/pipeline/hashjoin/spillable_hash_join_build_operator.h
# be/src/exec/pipeline/hashjoin/spillable_hash_join_probe_operator.cpp
# be/src/exec/pipeline/hashjoin/spillable_hash_join_probe_operator.h
# be/src/exec/pipeline/limit_operator.cpp
# be/src/exec/pipeline/limit_operator.h
# be/src/exec/pipeline/nljoin/nljoin_build_operator.h
# be/src/exec/pipeline/nljoin/nljoin_context.cpp
# be/src/exec/pipeline/nljoin/nljoin_context.h
# be/src/exec/pipeline/nljoin/nljoin_probe_operator.cpp
# be/src/exec/pipeline/nljoin/nljoin_probe_operator.h
# be/src/exec/pipeline/nljoin/spillable_nljoin_probe_operator.h
# be/src/exec/pipeline/operator.cpp
# be/src/exec/pipeline/operator.h
# be/src/exec/pipeline/pipeline.h
# be/src/exec/pipeline/pipeline_driver.cpp
# be/src/exec/pipeline/pipeline_driver.h
# be/src/exec/pipeline/pipeline_fwd.h
# be/src/exec/pipeline/query_context.cpp
# be/src/exec/pipeline/query_context.h
# be/src/exec/pipeline/result_sink_operator.cpp
# be/src/exec/pipeline/result_sink_operator.h
# be/src/exec/pipeline/runtime_filter_types.h
# be/src/exec/pipeline/scan/chunk_source.h
# be/src/exec/pipeline/scan/connector_scan_operator.cpp
# be/src/exec/pipeline/scan/connector_scan_operator.h
# be/src/exec/pipeline/scan/meta_scan_operator.cpp
# be/src/exec/pipeline/scan/meta_scan_operator.h
# be/src/exec/pipeline/scan/meta_scan_prepare_operator.cpp
# be/src/exec/pipeline/scan/morsel.cpp
# be/src/exec/pipeline/scan/morsel.h
# be/src/exec/pipeline/scan/olap_chunk_source.cpp
# be/src/exec/pipeline/scan/olap_chunk_source.h
# be/src/exec/pipeline/scan/olap_scan_context.cpp
# be/src/exec/pipeline/scan/olap_scan_context.h
# be/src/exec/pipeline/scan/olap_scan_operator.cpp
# be/src/exec/pipeline/scan/olap_scan_operator.h
# be/src/exec/pipeline/scan/scan_operator.cpp
# be/src/exec/pipeline/scan/scan_operator.h
# be/src/exec/pipeline/scan/schema_scan_operator.cpp
# be/src/exec/pipeline/scan/schema_scan_operator.h
# be/src/exec/pipeline/select_operator.cpp
# be/src/exec/pipeline/select_operator.h
# be/src/exec/pipeline/sort/local_partition_topn_context.cpp
# be/src/exec/pipeline/sort/local_partition_topn_context.h
# be/src/exec/pipeline/sort/sort_context.cpp
# be/src/exec/pipeline/sort/sort_context.h
# be/src/exec/pipeline/stream_epoch_manager.h
# be/src/exec/pipeline/stream_pipeline_driver.h
# be/src/exec/pipeline/table_function_operator.h
# be/src/exec/query_cache/cache_manager.h
# be/src/exec/query_cache/cache_operator.cpp
# be/src/exec/query_cache/cache_operator.h
# be/src/exec/query_cache/cache_param.h
# be/src/exec/query_cache/multilane_operator.h
# be/src/exec/scan_node.cpp
# be/src/exec/scan_node.h
# be/src/exec/schema_scan_node.cpp
# be/src/exec/select_node.cpp
# be/src/exec/select_node.h
# be/src/exec/sorted_streaming_aggregator.cpp
# be/src/exec/sorted_streaming_aggregator.h
# be/src/exec/sorting/compare_column.cpp
# be/src/exec/sorting/merge.h
# be/src/exec/sorting/merge_column.cpp
# be/src/exec/sorting/sort_permute.h
# be/src/exec/sorting/sorting.h
# be/src/exec/spill/common.h
# be/src/exec/spill/mem_table.cpp
# be/src/exec/spill/mem_table.h
# be/src/exec/spill/spiller.h
# be/src/exec/stream/aggregate/agg_group_state.cpp
# be/src/exec/stream/aggregate/agg_group_state.h
# be/src/exec/stream/aggregate/agg_state_data.cpp
# be/src/exec/stream/aggregate/agg_state_data.h
# be/src/exec/stream/aggregate/stream_aggregate_operator.h
# be/src/exec/stream/aggregate/stream_aggregator.h
# be/src/exec/stream/scan/stream_scan_operator.h
# be/src/exec/stream/state/mem_state_table.cpp
# be/src/exec/stream/state/mem_state_table.h
# be/src/exec/stream/state/state_table.h
# be/src/exec/tablet_info.cpp
# be/src/exec/tablet_info.h
# be/src/exec/tablet_scanner.cpp
# be/src/exec/tablet_scanner.h
# be/src/exec/tablet_sink.cpp
# be/src/exec/tablet_sink.h
# be/src/exec/tablet_sink_index_channel.cpp
# be/src/exec/tablet_sink_index_channel.h
# be/src/exec/tablet_sink_sender.cpp
# be/src/exec/topn_node.cpp
# be/src/exec/topn_node.h
# be/src/exec/union_node.h
# be/src/exec/write_combined_txn_log.h
# be/src/exprs/CMakeLists.txt
# be/src/exprs/agg/aggregate.h
# be/src/exprs/agg/aggregate_factory.h
# be/src/exprs/agg/approx_top_k.h
# be/src/exprs/agg/array_agg.h
# be/src/exprs/agg/array_union_agg.h
# be/src/exprs/agg/avg.h
# be/src/exprs/agg/bitmap_agg.h
# be/src/exprs/agg/count.h
# be/src/exprs/agg/distinct.h
# be/src/exprs/agg/factory/aggregate_factory.cpp
# be/src/exprs/agg/factory/aggregate_factory.hpp
# be/src/exprs/agg/factory/aggregate_resolver.hpp
# be/src/exprs/agg/factory/aggregate_resolver_approx.cpp
# be/src/exprs/agg/factory/aggregate_resolver_avg.cpp
# be/src/exprs/agg/factory/aggregate_resolver_minmaxany.cpp
# be/src/exprs/agg/factory/aggregate_resolver_others.cpp
# be/src/exprs/agg/group_concat.h
# be/src/exprs/agg/hll_ndv.h
# be/src/exprs/agg/hll_union.h
# be/src/exprs/agg/hll_union_count.h
# be/src/exprs/agg/java_udaf_function.h
# be/src/exprs/agg/nullable_aggregate.h
# be/src/exprs/agg/percentile_approx.h
# be/src/exprs/agg/percentile_cont.h
# be/src/exprs/agg/percentile_union.h
# be/src/exprs/agg/sum.h
# be/src/exprs/agg/window.h
# be/src/exprs/arithmetic_expr.cpp
# be/src/exprs/arithmetic_operation.h
# be/src/exprs/array_element_expr.cpp
# be/src/exprs/array_functions.tpp
# be/src/exprs/array_map_expr.cpp
# be/src/exprs/binary_predicate.cpp
# be/src/exprs/bitmap_functions.cpp
# be/src/exprs/builtin_functions.h
# be/src/exprs/case_expr.cpp
# be/src/exprs/cast_expr.cpp
# be/src/exprs/cast_expr.h
# be/src/exprs/compound_predicate.cpp
# be/src/exprs/debug_expr.cpp
# be/src/exprs/debug_expr.h
# be/src/exprs/decimal_binary_function.h
# be/src/exprs/expr.cpp
# be/src/exprs/expr.h
# be/src/exprs/expr_context.cpp
# be/src/exprs/expr_context.h
# be/src/exprs/function_call_expr.cpp
# be/src/exprs/function_call_expr.h
# be/src/exprs/function_context.cpp
# be/src/exprs/function_context.h
# be/src/exprs/function_helper.cpp
# be/src/exprs/function_helper.h
# be/src/exprs/in_const_predicate.hpp
# be/src/exprs/java_function_call_expr.cpp
# be/src/exprs/java_function_call_expr.h
# be/src/exprs/jit/jit_expr.cpp
# be/src/exprs/json_functions.h
# be/src/exprs/like_predicate.cpp
# be/src/exprs/literal.cpp
# be/src/exprs/literal.h
# be/src/exprs/locate.cpp
# be/src/exprs/map_apply_expr.cpp
# be/src/exprs/map_functions.cpp
# be/src/exprs/math_functions.cpp
# be/src/exprs/math_functions.h
# be/src/exprs/percentile_functions.cpp
# be/src/exprs/runtime_filter_bank.cpp
# be/src/exprs/runtime_filter_bank.h
# be/src/exprs/split.cpp
# be/src/exprs/string_functions.cpp
# be/src/exprs/string_functions.h
# be/src/exprs/table_function/generate_series.h
# be/src/exprs/table_function/java_udtf_function.h
# be/src/exprs/table_function/json_each.h
# be/src/exprs/table_function/list_rowsets.cpp
# be/src/exprs/table_function/list_rowsets.h
# be/src/exprs/table_function/multi_unnest.h
# be/src/exprs/table_function/subdivide_bitmap.h
# be/src/exprs/table_function/table_function.h
# be/src/exprs/table_function/unnest.h
# be/src/exprs/unary_function.h
# be/src/exprs/utility_functions.cpp
# be/src/exprs/utility_functions.h
# be/src/formats/CMakeLists.txt
# be/src/formats/csv/json_converter.h
# be/src/formats/orc/apache-orc/c++/include/orc/Common.hh
# be/src/formats/orc/apache-orc/c++/src/Int128.cc
# be/src/formats/orc/apache-orc/c++/src/Statistics.hh
# be/src/formats/orc/orc_chunk_reader.cpp
# be/src/formats/parquet/chunk_writer.cpp
# be/src/formats/parquet/chunk_writer.h
# be/src/formats/parquet/column_chunk_reader.cpp
# be/src/formats/parquet/column_chunk_reader.h
# be/src/formats/parquet/column_chunk_writer.cpp
# be/src/formats/parquet/column_chunk_writer.h
# be/src/formats/parquet/column_converter.cpp
# be/src/formats/parquet/column_converter.h
# be/src/formats/parquet/column_read_order_ctx.cpp
# be/src/formats/parquet/column_read_order_ctx.h
# be/src/formats/parquet/column_reader.cpp
# be/src/formats/parquet/column_reader.h
# be/src/formats/parquet/encoding.cpp
# be/src/formats/parquet/encoding.h
# be/src/formats/parquet/encoding_dict.h
# be/src/formats/parquet/file_reader.cpp
# be/src/formats/parquet/file_reader.h
# be/src/formats/parquet/file_writer.cpp
# be/src/formats/parquet/file_writer.h
# be/src/formats/parquet/group_reader.cpp
# be/src/formats/parquet/group_reader.h
# be/src/formats/parquet/level_builder.cpp
# be/src/formats/parquet/level_builder.h
# be/src/formats/parquet/level_codec.cpp
# be/src/formats/parquet/level_codec.h
# be/src/formats/parquet/meta_helper.cpp
# be/src/formats/parquet/meta_helper.h
# be/src/formats/parquet/metadata.cpp
# be/src/formats/parquet/metadata.h
# be/src/formats/parquet/page_index_reader.cpp
# be/src/formats/parquet/page_index_reader.h
# be/src/formats/parquet/page_reader.cpp
# be/src/formats/parquet/page_reader.h
# be/src/formats/parquet/parquet_file_writer.cpp
# be/src/formats/parquet/parquet_file_writer.h
# be/src/formats/parquet/schema.cpp
# be/src/formats/parquet/schema.h
# be/src/formats/parquet/statistics_helper.cpp
# be/src/formats/parquet/statistics_helper.h
# be/src/formats/parquet/stored_column_reader.cpp
# be/src/formats/parquet/stored_column_reader.h
# be/src/formats/parquet/stored_column_reader_with_index.cpp
# be/src/formats/parquet/stored_column_reader_with_index.h
# be/src/formats/parquet/utils.cpp
# be/src/formats/parquet/utils.h
# be/src/fs/CMakeLists.txt
# be/src/fs/fs.cpp
# be/src/fs/fs.h
# be/src/fs/fs_broker.cpp
# be/src/fs/fs_s3.cpp
# be/src/fs/fs_s3.h
# be/src/fs/fs_starlet.cpp
# be/src/fs/hdfs/fs_hdfs.cpp
# be/src/gen_cpp/CMakeLists.txt
# be/src/geo/wkt_parse.cpp
# be/src/geo/wkt_yacc.y
# be/src/gutil/CMakeLists.txt
# be/src/gutil/strings/join.h
# be/src/http/action/checksum_action.cpp
# be/src/http/action/datacache_action.cpp
# be/src/http/action/memory_metrics_action.cpp
# be/src/http/action/metrics_action.h
# be/src/http/action/stream_load.cpp
# be/src/http/action/stream_load.h
# be/src/http/action/update_config_action.cpp
# be/src/http/default_path_handlers.cpp
# be/src/http/download_action.cpp
# be/src/http/http_client.h
# be/src/http/http_common.h
# be/src/io/cache_input_stream.cpp
# be/src/io/cache_input_stream.h
# be/src/io/cache_select_input_stream.hpp
# be/src/io/direct_s3_output_stream.cpp
# be/src/io/s3_input_stream.cpp
# be/src/io/s3_input_stream.h
# be/src/io/s3_output_stream.cpp
# be/src/runtime/CMakeLists.txt
# be/src/runtime/broker_mgr.cpp
# be/src/runtime/buffer_control_block.cpp
# be/src/runtime/buffer_control_block.h
# be/src/runtime/chunk_cursor.h
# be/src/runtime/customized_result_writer.cpp
# be/src/runtime/customized_result_writer.h
# be/src/runtime/data_stream_mgr.h
# be/src/runtime/data_stream_sender.cpp
# be/src/runtime/data_stream_sender.h
# be/src/runtime/descriptors.cpp
# be/src/runtime/descriptors.h
# be/src/runtime/exec_env.cpp
# be/src/runtime/exec_env.h
# be/src/runtime/file_result_writer.h
# be/src/runtime/fragment_mgr.cpp
# be/src/runtime/fragment_mgr.h
# be/src/runtime/global_dict/miscs.cpp
# be/src/runtime/global_dict/parser.cpp
# be/src/runtime/global_dict/parser.h
# be/src/runtime/http_result_writer.cpp
# be/src/runtime/http_result_writer.h
# be/src/runtime/lake_snapshot_loader.cpp
# be/src/runtime/lake_tablets_channel.cpp
# be/src/runtime/load_channel.cpp
# be/src/runtime/load_channel.h
# be/src/runtime/load_path_mgr.cpp
# be/src/runtime/local_tablets_channel.cpp
# be/src/runtime/local_tablets_channel.h
# be/src/runtime/mem_pool.h
# be/src/runtime/metadata_result_writer.cpp
# be/src/runtime/metadata_result_writer.h
# be/src/runtime/mysql_result_writer.cpp
# be/src/runtime/mysql_result_writer.h
# be/src/runtime/plan_fragment_executor.cpp
# be/src/runtime/query_statistics.cpp
# be/src/runtime/query_statistics.h
# be/src/runtime/result_buffer_mgr.cpp
# be/src/runtime/result_buffer_mgr.h
# be/src/runtime/result_queue_mgr.h
# be/src/runtime/result_sink.cpp
# be/src/runtime/result_sink.h
# be/src/runtime/result_writer.h
# be/src/runtime/runtime_filter_worker.cpp
# be/src/runtime/runtime_filter_worker.h
# be/src/runtime/runtime_state.cpp
# be/src/runtime/runtime_state.h
# be/src/runtime/schema_table_sink.cpp
# be/src/runtime/small_file_mgr.h
# be/src/runtime/snapshot_loader.cpp
# be/src/runtime/statistic_result_writer.cpp
# be/src/runtime/statistic_result_writer.h
# be/src/runtime/stream_load/stream_load_context.cpp
# be/src/runtime/stream_load/stream_load_context.h
# be/src/runtime/stream_load/stream_load_pipe.cpp
# be/src/runtime/stream_load/stream_load_pipe.h
# be/src/runtime/stream_load/transaction_mgr.h
# be/src/runtime/table_function_table_sink.cpp
# be/src/runtime/table_function_table_sink.h
# be/src/runtime/tablets_channel.h
# be/src/runtime/time_types.h
# be/src/runtime/types.cpp
# be/src/runtime/types.h
# be/src/runtime/user_function_cache.cpp
# be/src/runtime/user_function_cache.h
# be/src/runtime/variable_result_writer.cpp
# be/src/runtime/variable_result_writer.h
# be/src/script/CMakeLists.txt
# be/src/script/script.cpp
# be/src/serde/column_array_serde.cpp
# be/src/service/CMakeLists.txt
# be/src/service/internal_service.cpp
# be/src/service/internal_service.h
# be/src/service/mem_hook.cpp
# be/src/service/service_be/CMakeLists.txt
# be/src/service/service_be/internal_service.cpp
# be/src/service/service_be/internal_service.h
# be/src/service/service_be/lake_service.cpp
# be/src/service/service_be/lake_service.h
# be/src/service/service_be/starrocks_be.cpp
# be/src/service/staros_worker.cpp
# be/src/service/staros_worker.h
# be/src/service/starrocks_main.cpp
# be/src/simd/simd.h
# be/src/storage/CMakeLists.txt
# be/src/storage/aggregate_iterator.cpp
# be/src/storage/aggregate_type.cpp
# be/src/storage/aggregate_type.h
# be/src/storage/async_delta_writer.cpp
# be/src/storage/base_tablet.h
# be/src/storage/chunk_aggregator.cpp
# be/src/storage/chunk_helper.cpp
# be/src/storage/chunk_helper.h
# be/src/storage/chunk_iterator.cpp
# be/src/storage/chunk_iterator.h
# be/src/storage/column_aggregate_func.cpp
# be/src/storage/column_aggregate_func.h
# be/src/storage/column_expr_predicate.h
# be/src/storage/column_in_predicate.cpp
# be/src/storage/column_not_in_predicate.cpp
# be/src/storage/column_null_predicate.cpp
# be/src/storage/column_operator_predicate.h
# be/src/storage/column_or_predicate.cpp
# be/src/storage/column_or_predicate.h
# be/src/storage/column_predicate.h
# be/src/storage/column_predicate_cmp.cpp
# be/src/storage/column_predicate_dict_conjuct.cpp
# be/src/storage/column_predicate_rewriter.cpp
# be/src/storage/column_predicate_rewriter.h
# be/src/storage/compaction.cpp
# be/src/storage/compaction_manager.h
# be/src/storage/compaction_task.cpp
# be/src/storage/compaction_task.h
# be/src/storage/compaction_utils.cpp
# be/src/storage/compaction_utils.h
# be/src/storage/delta_writer.cpp
# be/src/storage/delta_writer.h
# be/src/storage/horizontal_compaction_task.cpp
# be/src/storage/lake/async_delta_writer.cpp
# be/src/storage/lake/async_delta_writer.h
# be/src/storage/lake/delta_writer.cpp
# be/src/storage/lake/delta_writer.h
# be/src/storage/lake/general_tablet_writer.cpp
# be/src/storage/lake/horizontal_compaction_task.cpp
# be/src/storage/lake/lake_primary_index.cpp
# be/src/storage/lake/lake_primary_key_compaction_conflict_resolver.cpp
# be/src/storage/lake/lake_primary_key_compaction_conflict_resolver.h
# be/src/storage/lake/location_provider.h
# be/src/storage/lake/meta_file.cpp
# be/src/storage/lake/meta_file.h
# be/src/storage/lake/metacache.h
# be/src/storage/lake/pk_tablet_writer.cpp
# be/src/storage/lake/rowset.cpp
# be/src/storage/lake/rowset.h
# be/src/storage/lake/schema_change.cpp
# be/src/storage/lake/starlet_location_provider.cpp
# be/src/storage/lake/starlet_location_provider.h
# be/src/storage/lake/tablet.cpp
# be/src/storage/lake/tablet.h
# be/src/storage/lake/tablet_manager.cpp
# be/src/storage/lake/tablet_manager.h
# be/src/storage/lake/tablet_reader.cpp
# be/src/storage/lake/tablet_reader.h
# be/src/storage/lake/tablet_writer.h
# be/src/storage/lake/transactions.cpp
# be/src/storage/lake/transactions.h
# be/src/storage/lake/txn_log_applier.cpp
# be/src/storage/lake/update_manager.cpp
# be/src/storage/lake/update_manager.h
# be/src/storage/lake/vacuum.cpp
# be/src/storage/lake/versioned_tablet.cpp
# be/src/storage/lake/versioned_tablet.h
# be/src/storage/lake/vertical_compaction_task.cpp
# be/src/storage/local_primary_key_recover.cpp
# be/src/storage/memtable.cpp
# be/src/storage/memtable.h
# be/src/storage/memtable_flush_executor.cpp
# be/src/storage/memtable_flush_executor.h
# be/src/storage/merge_iterator.cpp
# be/src/storage/meta_reader.cpp
# be/src/storage/meta_reader.h
# be/src/storage/metadata_util.cpp
# be/src/storage/olap_common.h
# be/src/storage/olap_meta_reader.cpp
# be/src/storage/olap_runtime_range_pruner.h
# be/src/storage/olap_runtime_range_pruner.hpp
# be/src/storage/options.h
# be/src/storage/persistent_index.cpp
# be/src/storage/predicate_parser.cpp
# be/src/storage/predicate_parser.h
# be/src/storage/predicate_tree/predicate_tree.cpp
# be/src/storage/predicate_tree/predicate_tree.h
# be/src/storage/predicate_tree/predicate_tree.hpp
# be/src/storage/predicate_tree/predicate_tree_fwd.h
# be/src/storage/primary_index.cpp
# be/src/storage/projection_iterator.cpp
# be/src/storage/protobuf_file.cpp
# be/src/storage/protobuf_file.h
# be/src/storage/range.h
# be/src/storage/roaring2range.h
# be/src/storage/row_source_mask.cpp
# be/src/storage/rowset/array_column_iterator.h
# be/src/storage/rowset/array_column_writer.cpp
# be/src/storage/rowset/base_rowset.h
# be/src/storage/rowset/binary_dict_page.h
# be/src/storage/rowset/binary_plain_page.h
# be/src/storage/rowset/binary_prefix_page.cpp
# be/src/storage/rowset/binary_prefix_page.h
# be/src/storage/rowset/bitmap_range_iterator.h
# be/src/storage/rowset/bitshuffle_page.h
# be/src/storage/rowset/cast_column_iterator.h
# be/src/storage/rowset/column_iterator.h
# be/src/storage/rowset/column_iterator_decorator.h
# be/src/storage/rowset/column_reader.cpp
# be/src/storage/rowset/column_reader.h
# be/src/storage/rowset/column_writer.cpp
# be/src/storage/rowset/column_writer.h
# be/src/storage/rowset/default_value_column_iterator.cpp
# be/src/storage/rowset/default_value_column_iterator.h
# be/src/storage/rowset/fill_subfield_iterator.h
# be/src/storage/rowset/frame_of_reference_page.h
# be/src/storage/rowset/horizontal_update_rowset_writer.cpp
# be/src/storage/rowset/indexed_column_reader.cpp
# be/src/storage/rowset/indexed_column_reader.h
# be/src/storage/rowset/json_column_iterator.cpp
# be/src/storage/rowset/map_column_iterator.h
# be/src/storage/rowset/ordinal_page_index.cpp
# be/src/storage/rowset/ordinal_page_index.h
# be/src/storage/rowset/page_decoder.h
# be/src/storage/rowset/parsed_page.cpp
# be/src/storage/rowset/parsed_page.h
# be/src/storage/rowset/plain_page.h
# be/src/storage/rowset/rle_page.h
# be/src/storage/rowset/rowid_column_iterator.h
# be/src/storage/rowset/rowset.cpp
# be/src/storage/rowset/rowset.h
# be/src/storage/rowset/rowset_meta.cpp
# be/src/storage/rowset/rowset_meta.h
# be/src/storage/rowset/rowset_options.h
# be/src/storage/rowset/rowset_writer.cpp
# be/src/storage/rowset/rowset_writer.h
# be/src/storage/rowset/rowset_writer_context.h
# be/src/storage/rowset/scalar_column_iterator.cpp
# be/src/storage/rowset/scalar_column_iterator.h
# be/src/storage/rowset/segment.cpp
# be/src/storage/rowset/segment.h
# be/src/storage/rowset/segment_iterator.cpp
# be/src/storage/rowset/segment_options.h
# be/src/storage/rowset/segment_rewriter.cpp
# be/src/storage/rowset/segment_rewriter.h
# be/src/storage/rowset/segment_writer.cpp
# be/src/storage/rowset/struct_column_iterator.cpp
# be/src/storage/rowset_update_state.cpp
# be/src/storage/schema_change.cpp
# be/src/storage/schema_change_utils.cpp
# be/src/storage/schema_change_utils.h
# be/src/storage/segment_flush_executor.cpp
# be/src/storage/segment_flush_executor.h
# be/src/storage/segment_replicate_executor.cpp
# be/src/storage/segment_replicate_executor.h
# be/src/storage/snapshot_manager.cpp
# be/src/storage/table_reader.cpp
# be/src/storage/table_reader.h
# be/src/storage/tablet.cpp
# be/src/storage/tablet.h
# be/src/storage/tablet_index.cpp
# be/src/storage/tablet_manager.h
# be/src/storage/tablet_meta.h
# be/src/storage/tablet_reader.cpp
# be/src/storage/tablet_reader.h
# be/src/storage/tablet_reader_params.h
# be/src/storage/tablet_schema.cpp
# be/src/storage/tablet_schema.h
# be/src/storage/tablet_updates.cpp
# be/src/storage/tablet_updates.h
# be/src/storage/txn_manager.cpp
# be/src/storage/txn_manager.h
# be/src/storage/types.cpp
# be/src/storage/union_iterator.cpp
# be/src/storage/vertical_compaction_task.cpp
# be/src/storage/zone_map_detail.h
# be/src/testutil/column_test_helper.h
# be/src/testutil/exprs_test_helper.h
# be/src/testutil/init_test_env.h
# be/src/testutil/schema_test_helper.cpp
# be/src/testutil/schema_test_helper.h
# be/src/types/CMakeLists.txt
# be/src/types/bitmap_value.cpp
# be/src/types/bitmap_value.h
# be/src/types/bitmap_value_detail.h
# be/src/types/constexpr.h
# be/src/types/hll.cpp
# be/src/types/hll.h
# be/src/types/logical_type_infra.h
# be/src/types/timestamp_value.cpp
# be/src/types/timestamp_value.h
# be/src/udf/CMakeLists.txt
# be/src/udf/java/java_data_converter.h
# be/src/udf/java/java_udf.h
# be/src/util/CMakeLists.txt
# be/src/util/arrow/row_batch.cpp
# be/src/util/arrow/row_batch.h
# be/src/util/arrow/starrocks_column_to_arrow.cpp
# be/src/util/arrow/starrocks_column_to_arrow.h
# be/src/util/arrow/utils.h
# be/src/util/bit_packing.h
# be/src/util/bit_stream_utils.h
# be/src/util/bit_stream_utils.inline.h
# be/src/util/bitmap_intersect.h
# be/src/util/brpc_stub_cache.h
# be/src/util/c_string.h
# be/src/util/cpu_info.h
# be/src/util/debug/query_trace_impl.h
# be/src/util/decimal_types.h
# be/src/util/failpoint/fail_point.cpp
# be/src/util/filesystem_util.cc
# be/src/util/hdfs_util.cpp
# be/src/util/int96.cpp
# be/src/util/json_converter.h
# be/src/util/lru_cache.cpp
# be/src/util/lru_cache.h
# be/src/util/misc.cpp
# be/src/util/mysql_row_buffer.cpp
# be/src/util/phmap/phmap.h
# be/src/util/raw_container.h
# be/src/util/rle_encoding.h
# be/src/util/starrocks_metrics.h
# be/src/util/system_metrics.cpp
# be/src/util/system_metrics.h
# be/src/util/threadpool.h
# be/src/util/thrift_rpc_helper.cpp
# be/src/util/thrift_rpc_helper.h
# be/src/util/thrift_util.h
# be/src/util/timezone_hsscan.h
# be/src/util/uid_util.cpp
# be/src/util/uid_util.h
# be/test/CMakeLists.txt
# be/test/agent/agent_task_test.cpp
# be/test/agent/heartbeat_server_test.cpp
# be/test/block_cache/block_cache_test.cpp
# be/test/block_cache/datacache_utils_test.cpp
# be/test/block_cache/disk_space_monitor_test.cpp
# be/test/column/avx_numeric_column.h
# be/test/column/avx_numeric_column_test.cpp
# be/test/column/binary_column_test.cpp
# be/test/column/field_test.cpp
# be/test/column/fixed_length_column_test.cpp
# be/test/column/object_column_test.cpp
# be/test/column/timestamp_value_test.cpp
# be/test/exec/agg_hash_map_test.cpp
# be/test/exec/chunks_sorter_test.cpp
# be/test/exec/column_value_range_test.cpp
# be/test/exec/hdfs_scan_node_test.cpp
# be/test/exec/hdfs_scanner_test.cpp
# be/test/exec/join_hash_map_test.cpp
# be/test/exec/lake_meta_scanner_test.cpp
# be/test/exec/parquet_scanner_test.cpp
# be/test/exec/pipeline/mem_limited_chunk_queue_test.cpp
# be/test/exprs/agg/aggregate_test.cpp
# be/test/exprs/array_functions_test.cpp
# be/test/exprs/cast_expr_test.cpp
# be/test/exprs/like_test.cpp
# be/test/exprs/string_fn_money_format_decimal_test.cpp
# be/test/exprs/string_fn_test.cpp
# be/test/exprs/time_functions_test.cpp
# be/test/formats/csv/string_converter_test.cpp
# be/test/formats/csv/varbinary_converter_test.cpp
# be/test/formats/orc/orc_chunk_reader_test.cpp
# be/test/formats/parquet/column_converter_test.cpp
# be/test/formats/parquet/file_reader_test.cpp
# be/test/formats/parquet/file_writer_test.cpp
# be/test/formats/parquet/group_reader_test.cpp
# be/test/formats/parquet/iceberg_schema_evolution_file_reader_test.cpp
# be/test/formats/parquet/page_index_test.cpp
# be/test/formats/parquet/parquet_cli_reader.h
# be/test/formats/parquet/parquet_file_writer_test.cpp
# be/test/formats/parquet/parquet_ut_base.cpp
# be/test/formats/parquet/parquet_ut_base.h
# be/test/fs/fs_posix_test.cpp
# be/test/fs/fs_s3_test.cpp
# be/test/fs/fs_test.cpp
# be/test/http/stream_load_test.cpp
# be/test/io/cache_input_stream_test.cpp
# be/test/io/s3_input_stream_test.cpp
# be/test/io/s3_output_stream_test.cpp
# be/test/runtime/decimalv3_test.cpp
# be/test/runtime/lake_tablets_channel_test.cpp
# be/test/runtime/large_int_value_test.cpp
# be/test/runtime/load_channel_test.cpp
# be/test/runtime/local_tablets_channel_test.cpp
# be/test/runtime/stream_load_pipe_test.cpp
# be/test/runtime/type_descriptor_test.cpp
# be/test/serde/column_array_serde_test.cpp
# be/test/service/lake_service_test.cpp
# be/test/storage/aggregate_iterator_test.cpp
# be/test/storage/base_compaction_test.cpp
# be/test/storage/chunk_helper_test.cpp
# be/test/storage/column_predicate_test.cpp
# be/test/storage/conjunctive_predicates_test.cpp
# be/test/storage/delta_column_group_test.cpp
# be/test/storage/lake/alter_tablet_meta_test.cpp
# be/test/storage/lake/async_delta_writer_test.cpp
# be/test/storage/lake/auto_increment_partial_update_test.cpp
# be/test/storage/lake/compaction_policy_test.cpp
# be/test/storage/lake/compaction_task_test.cpp
# be/test/storage/lake/condition_update_test.cpp
# be/test/storage/lake/delta_writer_test.cpp
# be/test/storage/lake/lake_primary_key_consistency_test.cpp
# be/test/storage/lake/lake_scan_node_test.cpp
# be/test/storage/lake/meta_file_test.cpp
# be/test/storage/lake/partial_update_test.cpp
# be/test/storage/lake/primary_key_compaction_task_test.cpp
# be/test/storage/lake/primary_key_publish_test.cpp
# be/test/storage/lake/replication_txn_manager_test.cpp
# be/test/storage/lake/rowset_test.cpp
# be/test/storage/lake/schema_change_test.cpp
# be/test/storage/lake/tablet_manager_test.cpp
# be/test/storage/lake/tablet_writer_test.cpp
# be/test/storage/lake/test_util.h
# be/test/storage/meta_reader_test.cpp
# be/test/storage/projection_iterator_test.cpp
# be/test/storage/publish_version_manager_test.cpp
# be/test/storage/publish_version_task_test.cpp
# be/test/storage/roaring2range_test.cpp
# be/test/storage/rows_mapper_test.cpp
# be/test/storage/rowset/column_reader_writer_test.cpp
# be/test/storage/rowset/default_value_column_iterator_test.cpp
# be/test/storage/rowset/frame_of_reference_page_test.cpp
# be/test/storage/rowset/rle_page_test.cpp
# be/test/storage/rowset/segment_rewriter_test.cpp
# be/test/storage/rowset/segment_test.cpp
# be/test/storage/rowset_update_state_test.cpp
# be/test/storage/tablet_index_test.cpp
# be/test/storage/tablet_updates_test.cpp
# be/test/storage/task/engine_storage_migration_task_test.cpp
# be/test/storage/union_iterator_test.cpp
# be/test/types/bitmap_value_test.cpp
# be/test/util/arrow/starrocks_column_to_arrow_test.cpp
# be/test/util/bit_stream_utils_test.cpp
# be/test/util/brpc_stub_cache_test.cpp
# be/test/util/mysql_row_buffer_test.cpp
# be/test/util/threadpool_test.cpp
# bin/common.sh
# bin/show_be_version.sh
# bin/start_backend.sh
# bin/start_fe.sh
# bin/stop_be.sh
# build.sh
# contrib/starrocks-python-client/README.md
# contrib/starrocks-python-client/setup.py
# contrib/starrocks-python-client/starrocks/__init__.py
# contrib/starrocks-python-client/starrocks/dialect.py
# contrib/starrocks-python-client/test/test_suite.py
# docker/dockerfiles/dev-env/dev-env.Dockerfile
# docker/dockerfiles/toolchains/toolchains-centos7.Dockerfile
# docker/dockerfiles/toolchains/toolchains-ubuntu.Dockerfile
# docs/docusaurus/i18n/zh/docusaurus-plugin-content-docs/current.json
# docs/en/administration/management/FE_configuration.md
# docs/en/administration/management/resource_management/query_queues.md
# docs/en/administration/management/resource_management/resource_group.md
# docs/en/data_source/catalog/iceberg_catalog.md
# docs/en/developers/build-starrocks/build_starrocks_on_ubuntu.md
# docs/en/ecosystem_release/flink_connector.md
# docs/en/ecosystem_release/kafka_connector.md
# docs/en/ecosystem_release/spark_connector.md
# docs/en/integrations/BI_integrations/Metabase.md
# docs/en/introduction/Architecture.md
# docs/en/loading/Kafka-connector-starrocks.md
# docs/en/quick_start/hudi.md
# docs/en/release_notes/release-2.5.md
# docs/en/release_notes/release-3.0.md
# docs/en/release_notes/release-3.2.md
# docs/en/sql-reference/System_limit.md
# docs/en/sql-reference/System_variable.md
# docs/en/sql-reference/sql-functions/aggregate-functions/any_value.md
# docs/en/sql-reference/sql-functions/aggregate-functions/approx_count_distinct.md
# docs/en/sql-reference/sql-functions/aggregate-functions/approx_top_k.md
# docs/en/sql-reference/sql-functions/aggregate-functions/avg.md
# docs/en/sql-reference/sql-functions/aggregate-functions/corr.md
# docs/en/sql-reference/sql-functions/aggregate-functions/count.md
# docs/en/sql-reference/sql-functions/aggregate-functions/count_if.md
# docs/en/sql-reference/sql-functions/aggregate-functions/covar_pop.md
# docs/en/sql-reference/sql-functions/aggregate-functions/covar_samp.md
# docs/en/sql-reference/sql-functions/aggregate-functions/group_concat.md
# docs/en/sql-reference/sql-functions/aggregate-functions/grouping.md
# docs/en/sql-reference/sql-functions/aggregate-functions/grouping_id.md
# docs/en/sql-reference/sql-functions/aggregate-functions/hll_raw_agg.md
# docs/en/sql-reference/sql-functions/aggregate-functions/hll_union.md
# docs/en/sql-reference/sql-functions/aggregate-functions/hll_union_agg.md
# docs/en/sql-reference/sql-functions/aggregate-functions/max.md
# docs/en/sql-reference/sql-functions/aggregate-functions/max_by.md
# docs/en/sql-reference/sql-functions/aggregate-functions/min.md
# docs/en/sql-reference/sql-functions/aggregate-functions/min_by.md
# docs/en/sql-reference/sql-functions/aggregate-functions/multi_distinct_count.md
# docs/en/sql-reference/sql-functions/aggregate-functions/multi_distinct_sum.md
# docs/en/sql-reference/sql-functions/aggregate-functions/percentile_approx.md
# docs/en/sql-reference/sql-functions/aggregate-functions/percentile_cont.md
# docs/en/sql-reference/sql-functions/aggregate-functions/percentile_disc.md
# docs/en/sql-reference/sql-functions/aggregate-functions/retention.md
# docs/en/sql-reference/sql-functions/aggregate-functions/std.md
# docs/en/sql-reference/sql-functions/aggregate-functions/stddev.md
# docs/en/sql-reference/sql-functions/aggregate-functions/stddev_samp.md
# docs/en/sql-reference/sql-functions/aggregate-functions/sum.md
# docs/en/sql-reference/sql-functions/aggregate-functions/var_samp.md
# docs/en/sql-reference/sql-functions/aggregate-functions/variance.md
# docs/en/sql-reference/sql-functions/aggregate-functions/window_funnel.md
# docs/en/sql-reference/sql-functions/array-functions/all_match.md
# docs/en/sql-reference/sql-functions/array-functions/any_match.md
# docs/en/sql-reference/sql-functions/array-functions/array_agg.md
# docs/en/sql-reference/sql-functions/array-functions/array_append.md
# docs/en/sql-reference/sql-functions/array-functions/array_avg.md
# docs/en/sql-reference/sql-functions/array-functions/array_concat.md
# docs/en/sql-reference/sql-functions/array-functions/array_contains.md
# docs/en/sql-reference/sql-functions/array-functions/array_contains_all.md
# docs/en/sql-reference/sql-functions/array-functions/array_contains_seq.md
# docs/en/sql-reference/sql-functions/array-functions/array_cum_sum.md
# docs/en/sql-reference/sql-functions/array-functions/array_difference.md
# docs/en/sql-reference/sql-functions/array-functions/array_distinct.md
# docs/en/sql-reference/sql-functions/array-functions/array_filter.md
# docs/en/sql-reference/sql-functions/array-functions/array_generate.md
# docs/en/sql-reference/sql-functions/array-functions/array_intersect.md
# docs/en/sql-reference/sql-functions/array-functions/array_join.md
# docs/en/sql-reference/sql-functions/array-functions/array_length.md
# docs/en/sql-reference/sql-functions/array-functions/array_map.md
# docs/en/sql-reference/sql-functions/array-functions/array_max.md
# docs/en/sql-reference/sql-functions/array-functions/array_min.md
# docs/en/sql-reference/sql-functions/array-functions/array_position.md
# docs/en/sql-reference/sql-functions/array-functions/array_remove.md
# docs/en/sql-reference/sql-functions/array-functions/array_slice.md
# docs/en/sql-reference/sql-functions/array-functions/array_sort.md
# docs/en/sql-reference/sql-functions/array-functions/array_sortby.md
# docs/en/sql-reference/sql-functions/array-functions/array_sum.md
# docs/en/sql-reference/sql-functions/array-functions/array_to_bitmap.md
# docs/en/sql-reference/sql-functions/array-functions/array_unique_agg.md
# docs/en/sql-reference/sql-functions/array-functions/arrays_overlap.md
# docs/en/sql-reference/sql-functions/array-functions/cardinality.md
# docs/en/sql-reference/sql-functions/array-functions/element_at.md
# docs/en/sql-reference/sql-functions/array-functions/reverse.md
# docs/en/sql-reference/sql-functions/array-functions/unnest.md
# docs/en/sql-reference/sql-functions/binary-functions/from_binary.md
# docs/en/sql-reference/sql-functions/binary-functions/to_binary.md
# docs/en/sql-reference/sql-functions/bit-functions/bit_shift_left.md
# docs/en/sql-reference/sql-functions/bit-functions/bit_shift_right.md
# docs/en/sql-reference/sql-functions/bit-functions/bit_shift_right_logical.md
# docs/en/sql-reference/sql-functions/bit-functions/bitand.md
# docs/en/sql-reference/sql-functions/bit-functions/bitnot.md
# docs/en/sql-reference/sql-functions/bit-functions/bitor.md
# docs/en/sql-reference/sql-functions/bit-functions/bitxor.md
# docs/en/sql-reference/sql-functions/bitmap-functions/base64_to_bitmap.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_agg.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_and.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_andnot.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_contains.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_count.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_empty.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_from_binary.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_from_string.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_has_any.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_hash.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_intersect.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_max.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_min.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_or.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_remove.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_subset_in_range.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_subset_limit.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_to_array.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_to_base64.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_to_binary.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_to_string.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_union.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_union_count.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_union_int.md
# docs/en/sql-reference/sql-functions/bitmap-functions/bitmap_xor.md
# docs/en/sql-reference/sql-functions/bitmap-functions/intersect_count.md
# docs/en/sql-reference/sql-functions/bitmap-functions/sub_bitmap.md
# docs/en/sql-reference/sql-functions/bitmap-functions/subdivide_bitmap.md
# docs/en/sql-reference/sql-functions/bitmap-functions/to_bitmap.md
# docs/en/sql-reference/sql-functions/bitmap-functions/unnest_bitmap.md
# docs/en/sql-reference/sql-functions/cast.md
# docs/en/sql-reference/sql-functions/condition-functions/case_when.md
# docs/en/sql-reference/sql-functions/condition-functions/coalesce.md
# docs/en/sql-reference/sql-functions/condition-functions/if.md
# docs/en/sql-reference/sql-functions/condition-functions/ifnull.md
# docs/en/sql-reference/sql-functions/condition-functions/nullif.md
# docs/en/sql-reference/sql-functions/crytographic-functions/aes_decrypt.md
# docs/en/sql-reference/sql-functions/crytographic-functions/aes_encrypt.md
# docs/en/sql-reference/sql-functions/crytographic-functions/base64_decode_binary.md
# docs/en/sql-reference/sql-functions/crytographic-functions/base64_decode_string.md
# docs/en/sql-reference/sql-functions/crytographic-functions/from_base64.md
# docs/en/sql-reference/sql-functions/crytographic-functions/sm3.md
# docs/en/sql-reference/sql-functions/crytographic-functions/to_base64.md
# docs/en/sql-reference/sql-functions/date-time-functions/add_months.md
# docs/en/sql-reference/sql-functions/date-time-functions/convert_tz.md
# docs/en/sql-reference/sql-functions/date-time-functions/curdate.md
# docs/en/sql-reference/sql-functions/date-time-functions/current_timestamp.md
# docs/en/sql-reference/sql-functions/date-time-functions/curtime.md
# docs/en/sql-reference/sql-functions/date-time-functions/date.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_format.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_slice.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/date_trunc.md
# docs/en/sql-reference/sql-functions/date-time-functions/datediff.md
# docs/en/sql-reference/sql-functions/date-time-functions/day.md
# docs/en/sql-reference/sql-functions/date-time-functions/day_of_week_iso.md
# docs/en/sql-reference/sql-functions/date-time-functions/dayname.md
# docs/en/sql-reference/sql-functions/date-time-functions/dayofmonth.md
# docs/en/sql-reference/sql-functions/date-time-functions/dayofweek.md
# docs/en/sql-reference/sql-functions/date-time-functions/dayofyear.md
# docs/en/sql-reference/sql-functions/date-time-functions/days_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/days_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/days_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/from_days.md
# docs/en/sql-reference/sql-functions/date-time-functions/from_unixtime.md
# docs/en/sql-reference/sql-functions/date-time-functions/hour.md
# docs/en/sql-reference/sql-functions/date-time-functions/hours_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/hours_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/hours_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/jodatime_format.md
# docs/en/sql-reference/sql-functions/date-time-functions/last_day.md
# docs/en/sql-reference/sql-functions/date-time-functions/makedate.md
# docs/en/sql-reference/sql-functions/date-time-functions/microseconds_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/microseconds_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/milliseconds_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/minute.md
# docs/en/sql-reference/sql-functions/date-time-functions/minutes_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/minutes_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/minutes_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/month.md
# docs/en/sql-reference/sql-functions/date-time-functions/monthname.md
# docs/en/sql-reference/sql-functions/date-time-functions/months_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/months_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/months_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/next_day.md
# docs/en/sql-reference/sql-functions/date-time-functions/now.md
# docs/en/sql-reference/sql-functions/date-time-functions/previous_day.md
# docs/en/sql-reference/sql-functions/date-time-functions/quarter.md
# docs/en/sql-reference/sql-functions/date-time-functions/second.md
# docs/en/sql-reference/sql-functions/date-time-functions/seconds_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/seconds_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/str2date.md
# docs/en/sql-reference/sql-functions/date-time-functions/str_to_date.md
# docs/en/sql-reference/sql-functions/date-time-functions/str_to_jodatime.md
# docs/en/sql-reference/sql-functions/date-time-functions/time_slice.md
# docs/en/sql-reference/sql-functions/date-time-functions/time_to_sec.md
# docs/en/sql-reference/sql-functions/date-time-functions/timediff.md
# docs/en/sql-reference/sql-functions/date-time-functions/timestamp.md
# docs/en/sql-reference/sql-functions/date-time-functions/timestampadd.md
# docs/en/sql-reference/sql-functions/date-time-functions/timestampdiff.md
# docs/en/sql-reference/sql-functions/date-time-functions/to_date.md
# docs/en/sql-reference/sql-functions/date-time-functions/to_days.md
# docs/en/sql-reference/sql-functions/date-time-functions/to_iso8601.md
# docs/en/sql-reference/sql-functions/date-time-functions/to_tera_date.md
# docs/en/sql-reference/sql-functions/date-time-functions/to_tera_timestamp.md
# docs/en/sql-reference/sql-functions/date-time-functions/unix_timestamp.md
# docs/en/sql-reference/sql-functions/date-time-functions/utc_time.md
# docs/en/sql-reference/sql-functions/date-time-functions/utc_timestamp.md
# docs/en/sql-reference/sql-functions/date-time-functions/week.md
# docs/en/sql-reference/sql-functions/date-time-functions/week_iso.md
# docs/en/sql-reference/sql-functions/date-time-functions/weekofyear.md
# docs/en/sql-reference/sql-functions/date-time-functions/weeks_add.md
# docs/en/sql-reference/sql-functions/date-time-functions/weeks_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/weeks_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/year.md
# docs/en/sql-reference/sql-functions/date-time-functions/years_diff.md
# docs/en/sql-reference/sql-functions/date-time-functions/years_sub.md
# docs/en/sql-reference/sql-functions/date-time-functions/yearweek.md
# docs/en/sql-reference/sql-functions/dict-functions/dict_mapping.md
# docs/en/sql-reference/sql-functions/hash-functions/murmur_hash3_32.md
# docs/en/sql-reference/sql-functions/hash-functions/xx_hash3_128.md
# docs/en/sql-reference/sql-functions/hash-functions/xx_hash3_64.md
# docs/en/sql-reference/sql-functions/json-functions/json-constructor-functions/json_array.md
# docs/en/sql-reference/sql-functions/json-functions/json-constructor-functions/json_object.md
# docs/en/sql-reference/sql-functions/json-functions/json-constructor-functions/parse_json.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/arrow-function.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/cast.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_bool.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_double.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_int.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_string.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_each.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_exists.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_keys.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_length.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_query.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_string.md
# docs/en/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/to_json.md
# docs/en/sql-reference/sql-functions/like-predicate-functions/like.md
# docs/en/sql-reference/sql-functions/like-predicate-functions/regexp.md
# docs/en/sql-reference/sql-functions/like-predicate-functions/regexp_extract.md
# docs/en/sql-reference/sql-functions/like-predicate-functions/regexp_extract_all.md
# docs/en/sql-reference/sql-functions/like-predicate-functions/regexp_replace.md
# docs/en/sql-reference/sql-functions/map-functions/cardinality.md
# docs/en/sql-reference/sql-functions/map-functions/distinct_map_keys.md
# docs/en/sql-reference/sql-functions/map-functions/element_at.md
# docs/en/sql-reference/sql-functions/map-functions/map_apply.md
# docs/en/sql-reference/sql-functions/map-functions/map_concat.md
# docs/en/sql-reference/sql-functions/map-functions/map_filter.md
# docs/en/sql-reference/sql-functions/map-functions/map_from_arrays.md
# docs/en/sql-reference/sql-functions/map-functions/map_keys.md
# docs/en/sql-reference/sql-functions/map-functions/map_size.md
# docs/en/sql-reference/sql-functions/map-functions/map_values.md
# docs/en/sql-reference/sql-functions/map-functions/transform_keys.md
# docs/en/sql-reference/sql-functions/map-functions/transform_values.md
# docs/en/sql-reference/sql-functions/math-functions/abs.md
# docs/en/sql-reference/sql-functions/math-functions/acos.md
# docs/en/sql-reference/sql-functions/math-functions/asin.md
# docs/en/sql-reference/sql-functions/math-functions/atan.md
# docs/en/sql-reference/sql-functions/math-functions/atan2.md
# docs/en/sql-reference/sql-functions/math-functions/bin.md
# docs/en/sql-reference/sql-functions/math-functions/cbrt.md
# docs/en/sql-reference/sql-functions/math-functions/ceil.md
# docs/en/sql-reference/sql-functions/math-functions/ceiling.md
# docs/en/sql-reference/sql-functions/math-functions/conv.md
# docs/en/sql-reference/sql-functions/math-functions/cos.md
# docs/en/sql-reference/sql-functions/math-functions/cos_similarity.md
# docs/en/sql-reference/sql-functions/math-functions/cos_similarity_norm.md
# docs/en/sql-reference/sql-functions/math-functions/cosh.md
# docs/en/sql-reference/sql-functions/math-functions/cot.md
# docs/en/sql-reference/sql-functions/math-functions/degrees.md
# docs/en/sql-reference/sql-functions/math-functions/divide.md
# docs/en/sql-reference/sql-functions/math-functions/e.md
# docs/en/sql-reference/sql-functions/math-functions/exp.md
# docs/en/sql-reference/sql-functions/math-functions/floor.md
# docs/en/sql-reference/sql-functions/math-functions/fmod.md
# docs/en/sql-reference/sql-functions/math-functions/greatest.md
# docs/en/sql-reference/sql-functions/math-functions/least.md
# docs/en/sql-reference/sql-functions/math-functions/ln.md
# docs/en/sql-reference/sql-functions/math-functions/log.md
# docs/en/sql-reference/sql-functions/math-functions/log10.md
# docs/en/sql-reference/sql-functions/math-functions/log2.md
# docs/en/sql-reference/sql-functions/math-functions/mod.md
# docs/en/sql-reference/sql-functions/math-functions/multiply.md
# docs/en/sql-reference/sql-functions/math-functions/negative.md
# docs/en/sql-reference/sql-functions/math-functions/pi.md
# docs/en/sql-reference/sql-functions/math-functions/pmod.md
# docs/en/sql-reference/sql-functions/math-functions/positive.md
# docs/en/sql-reference/sql-functions/math-functions/pow.md
# docs/en/sql-reference/sql-functions/math-functions/radians.md
# docs/en/sql-reference/sql-functions/math-functions/rand.md
# docs/en/sql-reference/sql-functions/math-functions/round.md
# docs/en/sql-reference/sql-functions/math-functions/sign.md
# docs/en/sql-reference/sql-functions/math-functions/sin.md
# docs/en/sql-reference/sql-functions/math-functions/sinh.md
# docs/en/sql-reference/sql-functions/math-functions/sqrt.md
# docs/en/sql-reference/sql-functions/math-functions/square.md
# docs/en/sql-reference/sql-functions/math-functions/tan.md
# docs/en/sql-reference/sql-functions/math-functions/tanh.md
# docs/en/sql-reference/sql-functions/math-functions/truncate.md
# docs/en/sql-reference/sql-functions/percentile-functions/percentile_approx_raw.md
# docs/en/sql-reference/sql-functions/percentile-functions/percentile_empty.md
# docs/en/sql-reference/sql-functions/percentile-functions/percentile_hash.md
# docs/en/sql-reference/sql-functions/percentile-functions/percentile_union.md
# docs/en/sql-reference/sql-functions/scalar-functions/hll_cardinality.md
# docs/en/sql-reference/sql-functions/scalar-functions/hll_empty.md
# docs/en/sql-reference/sql-functions/scalar-functions/hll_hash.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_astext.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_circle.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_contains.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_distance_sphere.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_geometryfromtext.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_linefromtext.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_point.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_polygon.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_x.md
# docs/en/sql-reference/sql-functions/spatial-functions/st_y.md
# docs/en/sql-reference/sql-functions/string-functions/append_trailing_char_if_absent.md
# docs/en/sql-reference/sql-functions/string-functions/ascii.md
# docs/en/sql-reference/sql-functions/string-functions/char.md
# docs/en/sql-reference/sql-functions/string-functions/char_length.md
# docs/en/sql-reference/sql-functions/string-functions/character_length.md
# docs/en/sql-reference/sql-functions/string-functions/concat.md
# docs/en/sql-reference/sql-functions/string-functions/concat_ws.md
# docs/en/sql-reference/sql-functions/string-functions/crc32.md
# docs/en/sql-reference/sql-functions/string-functions/ends_with.md
# docs/en/sql-reference/sql-functions/string-functions/find_in_set.md
# docs/en/sql-reference/sql-functions/string-functions/group_concat.md
# docs/en/sql-reference/sql-functions/string-functions/hex.md
# docs/en/sql-reference/sql-functions/string-functions/hex_decode_binary.md
# docs/en/sql-reference/sql-functions/string-functions/hex_decode_string.md
# docs/en/sql-reference/sql-functions/string-functions/instr.md
# docs/en/sql-reference/sql-functions/string-functions/lcase.md
# docs/en/sql-reference/sql-functions/string-functions/left.md
# docs/en/sql-reference/sql-functions/string-functions/length.md
# docs/en/sql-reference/sql-functions/string-functions/locate.md
# docs/en/sql-reference/sql-functions/string-functions/lower.md
# docs/en/sql-reference/sql-functions/string-functions/lpad.md
# docs/en/sql-reference/sql-functions/string-functions/ltrim.md
# docs/en/sql-reference/sql-functions/string-functions/money_format.md
# docs/en/sql-reference/sql-functions/string-functions/ngram_search.md
# docs/en/sql-reference/sql-functions/string-functions/null_or_empty.md
# docs/en/sql-reference/sql-functions/string-functions/parse_url.md
# docs/en/sql-reference/sql-functions/string-functions/repeat.md
# docs/en/sql-reference/sql-functions/string-functions/replace.md
# docs/en/sql-reference/sql-functions/string-functions/reverse.md
# docs/en/sql-reference/sql-functions/string-functions/right.md
# docs/en/sql-reference/sql-functions/string-functions/rpad.md
# docs/en/sql-reference/sql-functions/string-functions/rtrim.md
# docs/en/sql-reference/sql-functions/string-functions/space.md
# docs/en/sql-reference/sql-functions/string-functions/split.md
# docs/en/sql-reference/sql-functions/string-functions/split_part.md
# docs/en/sql-reference/sql-functions/string-functions/starts_with.md
# docs/en/sql-reference/sql-functions/string-functions/str_to_map.md
# docs/en/sql-reference/sql-functions/string-functions/strcmp.md
# docs/en/sql-reference/sql-functions/string-functions/strleft.md
# docs/en/sql-reference/sql-functions/string-functions/strright.md
# docs/en/sql-reference/sql-functions/string-functions/substring.md
# docs/en/sql-reference/sql-functions/string-functions/substring_index.md
# docs/en/sql-reference/sql-functions/string-functions/translate.md
# docs/en/sql-reference/sql-functions/string-functions/trim.md
# docs/en/sql-reference/sql-functions/string-functions/ucase.md
# docs/en/sql-reference/sql-functions/string-functions/unhex.md
# docs/en/sql-reference/sql-functions/string-functions/upper.md
# docs/en/sql-reference/sql-functions/string-functions/url_decode.md
# docs/en/sql-reference/sql-functions/string-functions/url_encode.md
# docs/en/sql-reference/sql-functions/string-functions/url_extract_host.md
# docs/en/sql-reference/sql-functions/string-functions/url_extract_parameter.md
# docs/en/sql-reference/sql-functions/struct-functions/named_struct.md
# docs/en/sql-reference/sql-functions/struct-functions/row.md
# docs/en/sql-reference/sql-functions/table-functions/files.md
# docs/en/sql-reference/sql-functions/table-functions/generate_series.md
# docs/en/sql-reference/sql-functions/utility-functions/catalog.md
# docs/en/sql-reference/sql-functions/utility-functions/current_role.md
# docs/en/sql-reference/sql-functions/utility-functions/current_version.md
# docs/en/sql-reference/sql-functions/utility-functions/database.md
# docs/en/sql-reference/sql-functions/utility-functions/get_query_profile.md
# docs/en/sql-reference/sql-functions/utility-functions/host_name.md
# docs/en/sql-reference/sql-functions/utility-functions/is_role_in_session.md
# docs/en/sql-reference/sql-functions/utility-functions/isnotnull.md
# docs/en/sql-reference/sql-functions/utility-functions/isnull.md
# docs/en/sql-reference/sql-functions/utility-functions/last_query_id.md
# docs/en/sql-reference/sql-functions/utility-functions/sleep.md
# docs/en/sql-reference/sql-functions/utility-functions/uuid.md
# docs/en/sql-reference/sql-functions/utility-functions/uuid_numeric.md
# docs/en/sql-reference/sql-functions/utility-functions/version.md
# docs/en/sql-reference/sql-statements/Database/SHOW_DATA.md
# docs/en/sql-reference/sql-statements/Function/CREATE_FUNCTION.md
# docs/en/sql-reference/sql-statements/table_bucket_part_index/ALTER_TABLE.md
# docs/en/sql-reference/template_for_config.md
# docs/en/table_design/data_distribution/expression_partitioning.md
# docs/en/table_design/indexes/Bitmap_index.md
# docs/zh/administration/management/FE_configuration.md
# docs/zh/administration/management/resource_management/query_queues.md
# docs/zh/data_source/catalog/iceberg_catalog.md
# docs/zh/deployment/environment_configurations.md
# docs/zh/developers/build-starrocks/build_starrocks_on_ubuntu.md
# docs/zh/ecosystem_release/flink_connector.md
# docs/zh/ecosystem_release/kafka_connector.md
# docs/zh/ecosystem_release/spark_connector.md
# docs/zh/introduction/what_is_starrocks.md
# docs/zh/loading/Kafka-connector-starrocks.md
# docs/zh/quick_start/helm.md
# docs/zh/release_notes/release-2.5.md
# docs/zh/release_notes/release-3.0.md
# docs/zh/release_notes/release-3.2.md
# docs/zh/sql-reference/System_variable.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/any_value.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/approx_count_distinct.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/approx_top_k.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/avg.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/corr.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/count.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/count_if.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/covar_pop.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/covar_samp.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/group_concat.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/grouping.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/grouping_id.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/hll_raw_agg.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/hll_union.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/hll_union_agg.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/max.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/max_by.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/min.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/min_by.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/multi_distinct_count.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/multi_distinct_sum.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/percentile_approx.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/percentile_cont.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/percentile_disc.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/retention.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/std.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/stddev.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/stddev_samp.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/sum.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/var_samp.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/variance.md
# docs/zh/sql-reference/sql-functions/aggregate-functions/window_funnel.md
# docs/zh/sql-reference/sql-functions/array-functions/all_match.md
# docs/zh/sql-reference/sql-functions/array-functions/any_match.md
# docs/zh/sql-reference/sql-functions/array-functions/array_agg.md
# docs/zh/sql-reference/sql-functions/array-functions/array_append.md
# docs/zh/sql-reference/sql-functions/array-functions/array_avg.md
# docs/zh/sql-reference/sql-functions/array-functions/array_concat.md
# docs/zh/sql-reference/sql-functions/array-functions/array_contains.md
# docs/zh/sql-reference/sql-functions/array-functions/array_contains_all.md
# docs/zh/sql-reference/sql-functions/array-functions/array_cum_sum.md
# docs/zh/sql-reference/sql-functions/array-functions/array_difference.md
# docs/zh/sql-reference/sql-functions/array-functions/array_distinct.md
# docs/zh/sql-reference/sql-functions/array-functions/array_filter.md
# docs/zh/sql-reference/sql-functions/array-functions/array_generate.md
# docs/zh/sql-reference/sql-functions/array-functions/array_intersect.md
# docs/zh/sql-reference/sql-functions/array-functions/array_join.md
# docs/zh/sql-reference/sql-functions/array-functions/array_length.md
# docs/zh/sql-reference/sql-functions/array-functions/array_map.md
# docs/zh/sql-reference/sql-functions/array-functions/array_max.md
# docs/zh/sql-reference/sql-functions/array-functions/array_min.md
# docs/zh/sql-reference/sql-functions/array-functions/array_position.md
# docs/zh/sql-reference/sql-functions/array-functions/array_remove.md
# docs/zh/sql-reference/sql-functions/array-functions/array_slice.md
# docs/zh/sql-reference/sql-functions/array-functions/array_sort.md
# docs/zh/sql-reference/sql-functions/array-functions/array_sortby.md
# docs/zh/sql-reference/sql-functions/array-functions/array_sum.md
# docs/zh/sql-reference/sql-functions/array-functions/array_to_bitmap.md
# docs/zh/sql-reference/sql-functions/array-functions/array_unique_agg.md
# docs/zh/sql-reference/sql-functions/array-functions/arrays_overlap.md
# docs/zh/sql-reference/sql-functions/array-functions/cardinality.md
# docs/zh/sql-reference/sql-functions/array-functions/element_at.md
# docs/zh/sql-reference/sql-functions/array-functions/reverse.md
# docs/zh/sql-reference/sql-functions/array-functions/unnest.md
# docs/zh/sql-reference/sql-functions/binary-functions/from_binary.md
# docs/zh/sql-reference/sql-functions/binary-functions/to_binary.md
# docs/zh/sql-reference/sql-functions/bit-functions/bit_shift_left.md
# docs/zh/sql-reference/sql-functions/bit-functions/bit_shift_right.md
# docs/zh/sql-reference/sql-functions/bit-functions/bit_shift_right_logical.md
# docs/zh/sql-reference/sql-functions/bit-functions/bitand.md
# docs/zh/sql-reference/sql-functions/bit-functions/bitnot.md
# docs/zh/sql-reference/sql-functions/bit-functions/bitor.md
# docs/zh/sql-reference/sql-functions/bit-functions/bitxor.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/base64_to_bitmap.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_agg.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_and.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_andnot.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_contains.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_count.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_empty.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_from_binary.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_from_string.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_has_any.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_hash.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_intersect.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_max.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_min.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_or.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_remove.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_subset_in_range.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_subset_limit.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_to_array.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_to_base64.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_to_binary.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_to_string.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_union.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_union_count.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_union_int.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/bitmap_xor.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/intersect_count.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/sub_bitmap.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/subdivide_bitmap.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/to_bitmap.md
# docs/zh/sql-reference/sql-functions/bitmap-functions/unnest_bitmap.md
# docs/zh/sql-reference/sql-functions/cast.md
# docs/zh/sql-reference/sql-functions/condition-functions/case_when.md
# docs/zh/sql-reference/sql-functions/condition-functions/coalesce.md
# docs/zh/sql-reference/sql-functions/condition-functions/if.md
# docs/zh/sql-reference/sql-functions/condition-functions/ifnull.md
# docs/zh/sql-reference/sql-functions/condition-functions/nullif.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/aes_decrypt.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/aes_encrypt.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/base64_decode_binary.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/base64_decode_string.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/from_base64.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/md5.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/md5sum.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/md5sum_numeric.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/sha2.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/sm3.md
# docs/zh/sql-reference/sql-functions/crytographic-functions/to_base64.md
# docs/zh/sql-reference/sql-functions/date-time-functions/add_months.md
# docs/zh/sql-reference/sql-functions/date-time-functions/convert_tz.md
# docs/zh/sql-reference/sql-functions/date-time-functions/curdate.md
# docs/zh/sql-reference/sql-functions/date-time-functions/current_timestamp.md
# docs/zh/sql-reference/sql-functions/date-time-functions/curtime.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_format.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_slice.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/date_trunc.md
# docs/zh/sql-reference/sql-functions/date-time-functions/datediff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/day.md
# docs/zh/sql-reference/sql-functions/date-time-functions/day_of_week_iso.md
# docs/zh/sql-reference/sql-functions/date-time-functions/dayname.md
# docs/zh/sql-reference/sql-functions/date-time-functions/dayofmonth.md
# docs/zh/sql-reference/sql-functions/date-time-functions/dayofweek.md
# docs/zh/sql-reference/sql-functions/date-time-functions/dayofyear.md
# docs/zh/sql-reference/sql-functions/date-time-functions/days_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/days_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/days_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/from_days.md
# docs/zh/sql-reference/sql-functions/date-time-functions/from_unixtime.md
# docs/zh/sql-reference/sql-functions/date-time-functions/hour.md
# docs/zh/sql-reference/sql-functions/date-time-functions/hours_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/hours_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/hours_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/jodatime_format.md
# docs/zh/sql-reference/sql-functions/date-time-functions/last_day.md
# docs/zh/sql-reference/sql-functions/date-time-functions/makedate.md
# docs/zh/sql-reference/sql-functions/date-time-functions/microseconds_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/microseconds_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/milliseconds_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/minute.md
# docs/zh/sql-reference/sql-functions/date-time-functions/minutes_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/minutes_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/minutes_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/month.md
# docs/zh/sql-reference/sql-functions/date-time-functions/monthname.md
# docs/zh/sql-reference/sql-functions/date-time-functions/months_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/months_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/months_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/next_day.md
# docs/zh/sql-reference/sql-functions/date-time-functions/now.md
# docs/zh/sql-reference/sql-functions/date-time-functions/previous_day.md
# docs/zh/sql-reference/sql-functions/date-time-functions/quarter.md
# docs/zh/sql-reference/sql-functions/date-time-functions/second.md
# docs/zh/sql-reference/sql-functions/date-time-functions/seconds_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/seconds_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/seconds_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/str2date.md
# docs/zh/sql-reference/sql-functions/date-time-functions/str_to_date.md
# docs/zh/sql-reference/sql-functions/date-time-functions/str_to_jodatime.md
# docs/zh/sql-reference/sql-functions/date-time-functions/time_slice.md
# docs/zh/sql-reference/sql-functions/date-time-functions/time_to_sec.md
# docs/zh/sql-reference/sql-functions/date-time-functions/timediff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/timestamp.md
# docs/zh/sql-reference/sql-functions/date-time-functions/timestampadd.md
# docs/zh/sql-reference/sql-functions/date-time-functions/timestampdiff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/to_date.md
# docs/zh/sql-reference/sql-functions/date-time-functions/to_days.md
# docs/zh/sql-reference/sql-functions/date-time-functions/to_iso8601.md
# docs/zh/sql-reference/sql-functions/date-time-functions/to_tera_date.md
# docs/zh/sql-reference/sql-functions/date-time-functions/to_tera_timestamp.md
# docs/zh/sql-reference/sql-functions/date-time-functions/unix_timestamp.md
# docs/zh/sql-reference/sql-functions/date-time-functions/utc_timestamp.md
# docs/zh/sql-reference/sql-functions/date-time-functions/week.md
# docs/zh/sql-reference/sql-functions/date-time-functions/week_iso.md
# docs/zh/sql-reference/sql-functions/date-time-functions/weekofyear.md
# docs/zh/sql-reference/sql-functions/date-time-functions/weeks_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/weeks_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/weeks_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/year.md
# docs/zh/sql-reference/sql-functions/date-time-functions/years_add.md
# docs/zh/sql-reference/sql-functions/date-time-functions/years_diff.md
# docs/zh/sql-reference/sql-functions/date-time-functions/years_sub.md
# docs/zh/sql-reference/sql-functions/date-time-functions/yearweek.md
# docs/zh/sql-reference/sql-functions/dict-functions/dict_mapping.md
# docs/zh/sql-reference/sql-functions/hash-functions/murmur_hash3_32.md
# docs/zh/sql-reference/sql-functions/hash-functions/xx_hash3_128.md
# docs/zh/sql-reference/sql-functions/hash-functions/xx_hash3_64.md
# docs/zh/sql-reference/sql-functions/json-functions/json-constructor-functions/json_array.md
# docs/zh/sql-reference/sql-functions/json-functions/json-constructor-functions/json_object.md
# docs/zh/sql-reference/sql-functions/json-functions/json-constructor-functions/parse_json.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/arrow-function.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/cast.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_bool.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_double.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_int.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/get_json_string.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_each.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_exists.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_keys.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_length.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/json_string.md
# docs/zh/sql-reference/sql-functions/json-functions/json-query-and-processing-functions/to_json.md
# docs/zh/sql-reference/sql-functions/like-predicate-functions/like.md
# docs/zh/sql-reference/sql-functions/like-predicate-functions/regexp.md
# docs/zh/sql-reference/sql-functions/like-predicate-functions/regexp_extract.md
# docs/zh/sql-reference/sql-functions/like-predicate-functions/regexp_extract_all.md
# docs/zh/sql-reference/sql-functions/like-predicate-functions/regexp_replace.md
# docs/zh/sql-reference/sql-functions/map-functions/cardinality.md
# docs/zh/sql-reference/sql-functions/map-functions/distinct_map_keys.md
# docs/zh/sql-reference/sql-functions/map-functions/element_at.md
# docs/zh/sql-reference/sql-functions/map-functions/map_apply.md
# docs/zh/sql-reference/sql-functions/map-functions/map_concat.md
# docs/zh/sql-reference/sql-functions/map-functions/map_filter.md
# docs/zh/sql-reference/sql-functions/map-functions/map_from_arrays.md
# docs/zh/sql-reference/sql-functions/map-functions/map_keys.md
# docs/zh/sql-reference/sql-functions/map-functions/map_size.md
# docs/zh/sql-reference/sql-functions/map-functions/map_values.md
# docs/zh/sql-reference/sql-functions/map-functions/transform_keys.md
# docs/zh/sql-reference/sql-functions/map-functions/transform_values.md
# docs/zh/sql-reference/sql-functions/math-functions/abs.md
# docs/zh/sql-reference/sql-functions/math-functions/acos.md
# docs/zh/sql-reference/sql-functions/math-functions/asin.md
# docs/zh/sql-reference/sql-functions/math-functions/atan.md
# docs/zh/sql-reference/sql-functions/math-functions/atan2.md
# docs/zh/sql-reference/sql-functions/math-functions/bin.md
# docs/zh/sql-reference/sql-functions/math-functions/cbrt.md
# docs/zh/sql-reference/sql-functions/math-functions/ceil.md
# docs/zh/sql-reference/sql-functions/math-functions/ceiling.md
# docs/zh/sql-reference/sql-functions/math-functions/conv.md
# docs/zh/sql-reference/sql-functions/math-functions/cos.md
# docs/zh/sql-reference/sql-functions/math-functions/cos_similarity.md
# docs/zh/sql-reference/sql-functions/math-functions/cos_similarity_norm.md
# docs/zh/sql-reference/sql-functions/math-functions/cosh.md
# docs/zh/sql-reference/sql-functions/math-functions/cot.md
# docs/zh/sql-reference/sql-functions/math-functions/degrees.md
# docs/zh/sql-reference/sql-functions/math-functions/divide.md
# docs/zh/sql-reference/sql-functions/math-functions/e.md
# docs/zh/sql-reference/sql-functions/math-functions/exp.md
# docs/zh/sql-reference/sql-functions/math-functions/floor.md
# docs/zh/sql-reference/sql-functions/math-functions/fmod.md
# docs/zh/sql-reference/sql-functions/math-functions/greatest.md
# docs/zh/sql-reference/sql-functions/math-functions/least.md
# docs/zh/sql-reference/sql-functions/math-functions/ln.md
# docs/zh/sql-reference/sql-functions/math-functions/log.md
# docs/zh/sql-reference/sql-functions/math-functions/log10.md
# docs/zh/sql-reference/sql-functions/math-functions/log2.md
# docs/zh/sql-reference/sql-functions/math-functions/mod.md
# docs/zh/sql-reference/sql-functions/math-functions/multiply.md
# docs/zh/sql-reference/sql-functions/math-functions/negative.md
# docs/zh/sql-reference/sql-functions/math-functions/pi.md
# docs/zh/sql-reference/sql-functions/math-functions/pmod.md
# docs/zh/sql-reference/sql-functions/math-functions/positive.md
# docs/zh/sql-reference/sql-functions/math-functions/pow.md
# docs/zh/sql-reference/sql-functions/math-functions/radians.md
# docs/zh/sql-reference/sql-functions/math-functions/rand.md
# docs/zh/sql-reference/sql-functions/math-functions/round.md
# docs/zh/sql-reference/sql-functions/math-functions/sign.md
# docs/zh/sql-reference/sql-functions/math-functions/sin.md
# docs/zh/sql-reference/sql-functions/math-functions/sinh.md
# docs/zh/sql-reference/sql-functions/math-functions/sqrt.md
# docs/zh/sql-reference/sql-functions/math-functions/square.md
# docs/zh/sql-reference/sql-functions/math-functions/tan.md
# docs/zh/sql-reference/sql-functions/math-functions/tanh.md
# docs/zh/sql-reference/sql-functions/math-functions/truncate.md
# docs/zh/sql-reference/sql-functions/percentile-functions/percentile_approx_raw.md
# docs/zh/sql-reference/sql-functions/percentile-functions/percentile_empty.md
# docs/zh/sql-reference/sql-functions/percentile-functions/percentile_hash.md
# docs/zh/sql-reference/sql-functions/percentile-functions/percentile_union.md
# docs/zh/sql-reference/sql-functions/scalar-functions/hll_cardinality.md
# docs/zh/sql-reference/sql-functions/scalar-functions/hll_empty.md
# docs/zh/sql-reference/sql-functions/scalar-functions/hll_hash.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_astext.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_circle.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_contains.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_distance_sphere.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_geometryfromtext.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_linefromtext.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_point.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_polygon.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_x.md
# docs/zh/sql-reference/sql-functions/spatial-functions/st_y.md
# docs/zh/sql-reference/sql-functions/string-functions/append_trailing_char_if_absent.md
# docs/zh/sql-reference/sql-functions/string-functions/ascii.md
# docs/zh/sql-reference/sql-functions/string-functions/char.md
# docs/zh/sql-reference/sql-functions/string-functions/char_length.md
# docs/zh/sql-reference/sql-functions/string-functions/character_length.md
# docs/zh/sql-reference/sql-functions/string-functions/concat.md
# docs/zh/sql-reference/sql-functions/string-functions/concat_ws.md
# docs/zh/sql-reference/sql-functions/string-functions/crc32.md
# docs/zh/sql-reference/sql-functions/string-functions/ends_with.md
# docs/zh/sql-reference/sql-functions/string-functions/find_in_set.md
# docs/zh/sql-reference/sql-functions/string-functions/group_concat.md
# docs/zh/sql-reference/sql-functions/string-functions/hex.md
# docs/zh/sql-reference/sql-functions/string-functions/hex_decode_binary.md
# docs/zh/sql-reference/sql-functions/string-functions/hex_decode_string.md
# docs/zh/sql-reference/sql-functions/string-functions/instr.md
# docs/zh/sql-reference/sql-functions/string-functions/lcase.md
# docs/zh/sql-reference/sql-functions/string-functions/left.md
# docs/zh/sql-reference/sql-functions/string-functions/length.md
# docs/zh/sql-reference/sql-functions/string-functions/locate.md
# docs/zh/sql-reference/sql-functions/string-functions/lower.md
# docs/zh/sql-reference/sql-functions/string-functions/lpad.md
# docs/zh/sql-reference/sql-functions/string-functions/ltrim.md
# docs/zh/sql-reference/sql-functions/string-functions/money_format.md
# docs/zh/sql-reference/sql-functions/string-functions/ngram_search.md
# docs/zh/sql-reference/sql-functions/string-functions/null_or_empty.md
# docs/zh/sql-reference/sql-functions/string-functions/parse_url.md
# docs/zh/sql-reference/sql-functions/string-functions/repeat.md
# docs/zh/sql-reference/sql-functions/string-functions/replace.md
# docs/zh/sql-reference/sql-functions/string-functions/reverse.md
# docs/zh/sql-reference/sql-functions/string-functions/right.md
# docs/zh/sql-reference/sql-functions/string-functions/rpad.md
# docs/zh/sql-reference/sql-functions/string-functions/rtrim.md
# docs/zh/sql-reference/sql-functions/string-functions/space.md
# docs/zh/sql-reference/sql-functions/string-functions/split.md
# docs/zh/sql-reference/sql-functions/string-functions/split_part.md
# docs/zh/sql-reference/sql-functions/string-functions/starts_with.md
# docs/zh/sql-reference/sql-functions/string-functions/str_to_map.md
# docs/zh/sql-reference/sql-functions/string-functions/strleft.md
# docs/zh/sql-reference/sql-functions/string-functions/strright.md
# docs/zh/sql-reference/sql-functions/string-functions/substring.md
# docs/zh/sql-reference/sql-functions/string-functions/substring_index.md
# docs/zh/sql-reference/sql-functions/string-functions/translate.md
# docs/zh/sql-reference/sql-functions/string-functions/trim.md
# docs/zh/sql-reference/sql-functions/string-functions/ucase.md
# docs/zh/sql-reference/sql-functions/string-functions/unhex.md
# docs/zh/sql-reference/sql-functions/string-functions/upper.md
# docs/zh/sql-reference/sql-functions/string-functions/url_decode.md
# docs/zh/sql-reference/sql-functions/string-functions/url_encode.md
# docs/zh/sql-reference/sql-functions/string-functions/url_extract_host.md
# docs/zh/sql-reference/sql-functions/string-functions/url_extract_parameter.md
# docs/zh/sql-reference/sql-functions/struct-functions/named_struct.md
# docs/zh/sql-reference/sql-functions/struct-functions/row.md
# docs/zh/sql-reference/sql-functions/table-functions/files.md
# docs/zh/sql-reference/sql-functions/table-functions/generate_series.md
# docs/zh/sql-reference/sql-functions/utility-functions/catalog.md
# docs/zh/sql-reference/sql-functions/utility-functions/current_role.md
# docs/zh/sql-reference/sql-functions/utility-functions/current_version.md
# docs/zh/sql-reference/sql-functions/utility-functions/database.md
# docs/zh/sql-reference/sql-functions/utility-functions/get_query_profile.md
# docs/zh/sql-reference/sql-functions/utility-functions/host_name.md
# docs/zh/sql-reference/sql-functions/utility-functions/is_role_in_session.md
# docs/zh/sql-reference/sql-functions/utility-functions/isnull.md
# docs/zh/sql-reference/sql-functions/utility-functions/last_query_id.md
# docs/zh/sql-reference/sql-functions/utility-functions/sleep.md
# docs/zh/sql-reference/sql-functions/utility-functions/uuid.md
# docs/zh/sql-reference/sql-functions/utility-functions/uuid_numeric.md
# docs/zh/sql-reference/sql-functions/utility-functions/version.md
# docs/zh/sql-reference/sql-statements/Function/CREATE_FUNCTION.md
# docs/zh/sql-reference/sql-statements/materialized_view/ALTER_MATERIALIZED_VIEW.md
# docs/zh/sql-reference/sql-statements/table_bucket_part_index/ALTER_TABLE.md
# docs/zh/sql-reference/sql-statements/table_bucket_part_index/SELECT.md
# docs/zh/sql-reference/template_for_config.md
# docs/zh/table_design/data_distribution/expression_partitioning.md
# env.sh
# fe/fe-core/pom.xml
# fe/fe-core/src/main/java/com/starrocks/StarRocksFE.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterHandler.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterJobExecutor.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterJobMgr.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterJobV2.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterJobV2Builder.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterMVJobExecutor.java
# fe/fe-core/src/main/java/com/starrocks/alter/AlterOpType.java
# fe/fe-core/src/main/java/com/starrocks/alter/CompactionHandler.java
# fe/fe-core/src/main/java/com/starrocks/alter/LakeTableAlterJobV2Builder.java
# fe/fe-core/src/main/java/com/starrocks/alter/LakeTableAlterMetaJob.java
# fe/fe-core/src/main/java/com/starrocks/alter/LakeTableAlterMetaJobBase.java
# fe/fe-core/src/main/java/com/starrocks/alter/LakeTableSchemaChangeJob.java
# fe/fe-core/src/main/java/com/starrocks/alter/MaterializedViewHandler.java
# fe/fe-core/src/main/java/com/starrocks/alter/OlapTableAlterJobV2Builder.java
# fe/fe-core/src/main/java/com/starrocks/alter/OnlineOptimizeJobV2.java
# fe/fe-core/src/main/java/com/starrocks/alter/OptimizeJobV2.java
# fe/fe-core/src/main/java/com/starrocks/alter/OptimizeJobV2Builder.java
# fe/fe-core/src/main/java/com/starrocks/alter/RollupJobV2.java
# fe/fe-core/src/main/java/com/starrocks/alter/SchemaChangeHandler.java
# fe/fe-core/src/main/java/com/starrocks/alter/SchemaChangeJobV2.java
# fe/fe-core/src/main/java/com/starrocks/alter/SystemHandler.java
# fe/fe-core/src/main/java/com/starrocks/analysis/Analyzer.java
# fe/fe-core/src/main/java/com/starrocks/analysis/BloomFilterIndexUtil.java
# fe/fe-core/src/main/java/com/starrocks/analysis/DescriptorTable.java
# fe/fe-core/src/main/java/com/starrocks/analysis/DictQueryExpr.java
# fe/fe-core/src/main/java/com/starrocks/analysis/FunctionCallExpr.java
# fe/fe-core/src/main/java/com/starrocks/analysis/FunctionName.java
# fe/fe-core/src/main/java/com/starrocks/analysis/HintNode.java
# fe/fe-core/src/main/java/com/starrocks/analysis/InvertedIndexUtil.java
# fe/fe-core/src/main/java/com/starrocks/analysis/JoinOperator.java
# fe/fe-core/src/main/java/com/starrocks/analysis/LabelName.java
# fe/fe-core/src/main/java/com/starrocks/analysis/OutFileClause.java
# fe/fe-core/src/main/java/com/starrocks/analysis/ParseNode.java
# fe/fe-core/src/main/java/com/starrocks/analysis/SortInfo.java
# fe/fe-core/src/main/java/com/starrocks/analysis/TableName.java
# fe/fe-core/src/main/java/com/starrocks/analysis/VarBinaryLiteral.java
# fe/fe-core/src/main/java/com/starrocks/authentication/AuthenticationMgr.java
# fe/fe-core/src/main/java/com/starrocks/authentication/AuthenticationProvider.java
# fe/fe-core/src/main/java/com/starrocks/authentication/KerberosAuthenticationProvider.java
# fe/fe-core/src/main/java/com/starrocks/authentication/LDAPAuthProviderForNative.java
# fe/fe-core/src/main/java/com/starrocks/authentication/PlainPasswordAuthenticationProvider.java
# fe/fe-core/src/main/java/com/starrocks/authentication/UserPropertyInfo.java
# fe/fe-core/src/main/java/com/starrocks/backup/BackupHandler.java
# fe/fe-core/src/main/java/com/starrocks/backup/BackupJob.java
# fe/fe-core/src/main/java/com/starrocks/backup/BackupJobInfo.java
# fe/fe-core/src/main/java/com/starrocks/backup/BackupMeta.java
# fe/fe-core/src/main/java/com/starrocks/backup/BlobStorage.java
# fe/fe-core/src/main/java/com/starrocks/backup/RestoreJob.java
# fe/fe-core/src/main/java/com/starrocks/backup/mv/MVRestoreUpdater.java
# fe/fe-core/src/main/java/com/starrocks/binlog/BinlogManager.java
# fe/fe-core/src/main/java/com/starrocks/catalog/AggregateFunction.java
# fe/fe-core/src/main/java/com/starrocks/catalog/AggregateType.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Catalog.java
# fe/fe-core/src/main/java/com/starrocks/catalog/CatalogRecycleBin.java
# fe/fe-core/src/main/java/com/starrocks/catalog/CatalogUtils.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ColocateTableIndex.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Column.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Database.java
# fe/fe-core/src/main/java/com/starrocks/catalog/DeltaLakeTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Dictionary.java
# fe/fe-core/src/main/java/com/starrocks/catalog/DictionaryMgr.java
# fe/fe-core/src/main/java/com/starrocks/catalog/DistributionInfo.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ExternalOlapTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/FileTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Function.java
# fe/fe-core/src/main/java/com/starrocks/catalog/FunctionSet.java
# fe/fe-core/src/main/java/com/starrocks/catalog/GlobalFunctionMgr.java
# fe/fe-core/src/main/java/com/starrocks/catalog/HiveTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/HudiTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/IcebergTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/IcebergView.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Index.java
# fe/fe-core/src/main/java/com/starrocks/catalog/JDBCTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/KuduTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ListPartitionInfo.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedIndex.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MaterializedView.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MetadataViewer.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MvBaseTableUpdateInfo.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MvRefreshArbiter.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MvUpdateInfo.java
# fe/fe-core/src/main/java/com/starrocks/catalog/MysqlTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/OdpsTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/OlapTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/PaimonTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Partition.java
# fe/fe-core/src/main/java/com/starrocks/catalog/PhysicalPartition.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ResourceGroupClassifier.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ResourceGroupMgr.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ResourceMgr.java
# fe/fe-core/src/main/java/com/starrocks/catalog/ScalarFunction.java
# fe/fe-core/src/main/java/com/starrocks/catalog/StructField.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Table.java
# fe/fe-core/src/main/java/com/starrocks/catalog/TableFunctionTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/TableProperty.java
# fe/fe-core/src/main/java/com/starrocks/catalog/TabletInvertedIndex.java
# fe/fe-core/src/main/java/com/starrocks/catalog/TabletStatMgr.java
# fe/fe-core/src/main/java/com/starrocks/catalog/TempPartitions.java
# fe/fe-core/src/main/java/com/starrocks/catalog/Type.java
# fe/fe-core/src/main/java/com/starrocks/catalog/View.java
# fe/fe-core/src/main/java/com/starrocks/catalog/constraint/ForeignKeyConstraint.java
# fe/fe-core/src/main/java/com/starrocks/catalog/constraint/UniqueConstraint.java
# fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessArbiter.java
# fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessListPartitionArbiter.java
# fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessNonPartitionArbiter.java
# fe/fe-core/src/main/java/com/starrocks/catalog/mv/MVTimelinessRangePartitionArbiter.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/information/TaskRunsSystemTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/information/TasksSystemTable.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/sys/GrantsTo.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/sys/RoleEdges.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/sys/SysFeLocks.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/sys/SysFeMemoryUsage.java
# fe/fe-core/src/main/java/com/starrocks/catalog/system/sys/SysObjectDependencies.java
# fe/fe-core/src/main/java/com/starrocks/clone/ColocateTableBalancer.java
# fe/fe-core/src/main/java/com/starrocks/clone/DiskAndTabletLoadReBalancer.java
# fe/fe-core/src/main/java/com/starrocks/clone/DynamicPartitionScheduler.java
# fe/fe-core/src/main/java/com/starrocks/clone/TabletChecker.java
# fe/fe-core/src/main/java/com/starrocks/clone/TabletSchedCtx.java
# fe/fe-core/src/main/java/com/starrocks/clone/TabletScheduler.java
# fe/fe-core/src/main/java/com/starrocks/common/AlreadyExistsException.java
# fe/fe-core/src/main/java/com/starrocks/common/AnalysisException.java
# fe/fe-core/src/main/java/com/starrocks/common/AuthenticationException.java
# fe/fe-core/src/main/java/com/starrocks/common/Config.java
# fe/fe-core/src/main/java/com/starrocks/common/ConfigBase.java
# fe/fe-core/src/main/java/com/starrocks/common/DdlException.java
# fe/fe-core/src/main/java/com/starrocks/common/ErrorCode.java
# fe/fe-core/src/main/java/com/starrocks/common/ErrorReport.java
# fe/fe-core/src/main/java/com/starrocks/common/FeConstants.java
# fe/fe-core/src/main/java/com/starrocks/common/InvertedIndexParams.java
# fe/fe-core/src/main/java/com/starrocks/common/LoadException.java
# fe/fe-core/src/main/java/com/starrocks/common/MarkDownParser.java
# fe/fe-core/src/main/java/com/starrocks/common/MetaNotFoundException.java
# fe/fe-core/src/main/java/com/starrocks/common/NgramBfIndexParamsKey.java
# fe/fe-core/src/main/java/com/starrocks/common/NoAliveBackendException.java
# fe/fe-core/src/main/java/com/starrocks/common/NotImplementedException.java
# fe/fe-core/src/main/java/com/starrocks/common/TimeoutException.java
# fe/fe-core/src/main/java/com/starrocks/common/TraceManager.java
# fe/fe-core/src/main/java/com/starrocks/common/io/DeepCopy.java
# fe/fe-core/src/main/java/com/starrocks/common/io/ParamsKey.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/BackendsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/ComputeNodeProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/DbsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/EsPartitionsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/EsShardProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/HMSTablePartitionsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/IndexInfoProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/IndicesProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/JobsDbProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/LakeTabletsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/LocalTabletsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/PartitionsProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/ProcUtils.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/ReplicasProcNode.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/StatisticProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/TableProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/proc/TablesProcDir.java
# fe/fe-core/src/main/java/com/starrocks/common/profile/Tracer.java
# fe/fe-core/src/main/java/com/starrocks/common/profile/TracerImpl.java
# fe/fe-core/src/main/java/com/starrocks/common/profile/Tracers.java
# fe/fe-core/src/main/java/com/starrocks/common/profile/Var.java
# fe/fe-core/src/main/java/com/starrocks/common/profile/VarTracer.java
# fe/fe-core/src/main/java/com/starrocks/common/util/AutoInferUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/BrokerUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/Daemon.java
# fe/fe-core/src/main/java/com/starrocks/common/util/DynamicPartitionUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/KafkaUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/ParseUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/ProfileManager.java
# fe/fe-core/src/main/java/com/starrocks/common/util/PropertyAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/common/util/PulsarUtil.java
# fe/fe-core/src/main/java/com/starrocks/common/util/SmallFileMgr.java
# fe/fe-core/src/main/java/com/starrocks/common/util/TimeUtils.java
# fe/fe-core/src/main/java/com/starrocks/common/util/Util.java
# fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/QueryableReentrantReadWriteLock.java
# fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/lock/AutoCloseableLock.java
# fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/lock/Locker.java
# fe/fe-core/src/main/java/com/starrocks/connector/CachingRemoteFileIO.java
# fe/fe-core/src/main/java/com/starrocks/connector/CatalogConnectorMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/ConnectorFactory.java
# fe/fe-core/src/main/java/com/starrocks/connector/ConnectorMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/ConnectorPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/ConnectorTableInfo.java
# fe/fe-core/src/main/java/com/starrocks/connector/MetaPreparationItem.java
# fe/fe-core/src/main/java/com/starrocks/connector/PartitionInfo.java
# fe/fe-core/src/main/java/com/starrocks/connector/PartitionUtil.java
# fe/fe-core/src/main/java/com/starrocks/connector/PredicateSearchKey.java
# fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileIO.java
# fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileInfo.java
# fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileOperations.java
# fe/fe-core/src/main/java/com/starrocks/connector/RemotePathKey.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaLakeCacheUpdateProcessor.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaLakeMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaLakeMetadataFactory.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/FileScanTask.java
# fe/fe-core/src/main/java/com/starrocks/connector/delta/ScanFileUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/elasticsearch/EsRepository.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/CachingHiveMetastore.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/ConnectorTableMetadataProcessor.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveCacheUpdateProcessor.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveCommitter.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveConnector.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetadataFactory.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetastore.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetastoreApiConverter.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveMetastoreOperations.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveRemoteFileIO.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveStatisticsProvider.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveWriteUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/Partition.java
# fe/fe-core/src/main/java/com/starrocks/connector/hive/RemoteFileInputFormat.java
# fe/fe-core/src/main/java/com/starrocks/connector/hudi/HudiConnector.java
# fe/fe-core/src/main/java/com/starrocks/connector/hudi/HudiMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/hudi/HudiMetadataFactory.java
# fe/fe-core/src/main/java/com/starrocks/connector/hudi/HudiRemoteFileIO.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/CachingIcebergCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergAlterTableExecutor.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergApiConverter.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnector.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergMetaSpec.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergMetaSplit.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergPartitionUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/cost/IcebergStatisticProvider.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/glue/IcebergGlueCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/hadoop/IcebergHadoopCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/hive/IcebergHiveCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/iceberg/rest/IcebergRESTCatalog.java
# fe/fe-core/src/main/java/com/starrocks/connector/jdbc/JDBCMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/jdbc/MysqlSchemaResolver.java
# fe/fe-core/src/main/java/com/starrocks/connector/kudu/KuduMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/kudu/KuduPredicateConverter.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/MetadataCollectJob.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/MetadataExecutor.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/MetadataTable.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/MetadataTableType.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/TableMetaConnector.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/TableMetaMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/LogicalIcebergMetadataTable.java
# fe/fe-core/src/main/java/com/starrocks/connector/odps/OdpsMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/paimon/PaimonConnector.java
# fe/fe-core/src/main/java/com/starrocks/connector/paimon/PaimonMetadata.java
# fe/fe-core/src/main/java/com/starrocks/connector/parser/trino/AstBuilder.java
# fe/fe-core/src/main/java/com/starrocks/connector/parser/trino/TrinoParserUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/CachedPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/DefaultTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/DeltaLakePartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/HivePartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/HudiPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/IcebergPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/JDBCPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/KuduPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/OdpsPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/OlapPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/partitiontraits/PaimonPartitionTraits.java
# fe/fe-core/src/main/java/com/starrocks/connector/statistics/ConnectorColumnStatsCacheLoader.java
# fe/fe-core/src/main/java/com/starrocks/connector/statistics/ConnectorTableColumnStats.java
# fe/fe-core/src/main/java/com/starrocks/connector/statistics/StatisticsUtils.java
# fe/fe-core/src/main/java/com/starrocks/connector/unified/UnifiedMetadata.java
# fe/fe-core/src/main/java/com/starrocks/consistency/CheckConsistencyJob.java
# fe/fe-core/src/main/java/com/starrocks/consistency/ConsistencyChecker.java
# fe/fe-core/src/main/java/com/starrocks/consistency/LockChecker.java
# fe/fe-core/src/main/java/com/starrocks/consistency/MetaRecoveryDaemon.java
# fe/fe-core/src/main/java/com/starrocks/credential/CloudConfigurationFactory.java
# fe/fe-core/src/main/java/com/starrocks/datacache/DataCacheSelectExecutor.java
# fe/fe-core/src/main/java/com/starrocks/fs/HdfsUtil.java
# fe/fe-core/src/main/java/com/starrocks/fs/hdfs/HdfsFsManager.java
# fe/fe-core/src/main/java/com/starrocks/fs/hdfs/HdfsService.java
# fe/fe-core/src/main/java/com/starrocks/fs/hdfs/WildcardURI.java
# fe/fe-core/src/main/java/com/starrocks/ha/BDBHA.java
# fe/fe-core/src/main/java/com/starrocks/ha/HAProtocol.java
# fe/fe-core/src/main/java/com/starrocks/ha/LeaderInfo.java
# fe/fe-core/src/main/java/com/starrocks/http/BaseAction.java
# fe/fe-core/src/main/java/com/starrocks/http/HttpConnectProcessor.java
# fe/fe-core/src/main/java/com/starrocks/http/HttpServer.java
# fe/fe-core/src/main/java/com/starrocks/http/action/WebBaseAction.java
# fe/fe-core/src/main/java/com/starrocks/http/meta/ColocateMetaService.java
# fe/fe-core/src/main/java/com/starrocks/http/meta/GlobalDictMetaService.java
# fe/fe-core/src/main/java/com/starrocks/http/meta/MetaService.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/BootstrapFinishAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/CancelStreamLoad.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/CheckDecommissionAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/GetDdlStmtAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/GetLoadInfoAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/GetLogFileAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/GetStreamLoadState.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/LoadAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/MetaReplayerCheckAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/MetricsAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/MigrationAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/RestBaseAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/RestBaseResult.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/RowCountAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/SetConfigAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/ShowDataAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/ShowMetaInfoAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/ShowProcAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/StopFeAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/StorageTypeCheckAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/SyncCloudTableMetaAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/TableQueryPlanAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/TableRowCountAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/TableSchemaAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/TransactionLoadAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/TriggerAction.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/BypassWriteTransactionHandler.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionOperationHandler.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionWithChannelHandler.java
# fe/fe-core/src/main/java/com/starrocks/http/rest/transaction/TransactionWithoutChannelHandler.java
# fe/fe-core/src/main/java/com/starrocks/journal/JournalEntity.java
# fe/fe-core/src/main/java/com/starrocks/journal/bdbje/BDBTool.java
# fe/fe-core/src/main/java/com/starrocks/journal/bdbje/Timestamp.java
# fe/fe-core/src/main/java/com/starrocks/lake/LakeMaterializedView.java
# fe/fe-core/src/main/java/com/starrocks/lake/LakeTable.java
# fe/fe-core/src/main/java/com/starrocks/lake/LakeTableHelper.java
# fe/fe-core/src/main/java/com/starrocks/lake/StarMgrMetaSyncer.java
# fe/fe-core/src/main/java/com/starrocks/lake/StarOSAgent.java
# fe/fe-core/src/main/java/com/starrocks/lake/TxnInfoHelper.java
# fe/fe-core/src/main/java/com/starrocks/lake/Utils.java
# fe/fe-core/src/main/java/com/starrocks/lake/backup/LakeBackupJob.java
# fe/fe-core/src/main/java/com/starrocks/lake/backup/LakeRestoreJob.java
# fe/fe-core/src/main/java/com/starrocks/lake/compaction/CompactionMgr.java
# fe/fe-core/src/main/java/com/starrocks/lake/compaction/CompactionScheduler.java
# fe/fe-core/src/main/java/com/starrocks/lake/compaction/CompactionTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/lake/delete/LakeDeleteJob.java
# fe/fe-core/src/main/java/com/starrocks/lake/vacuum/AutovacuumDaemon.java
# fe/fe-core/src/main/java/com/starrocks/leader/LeaderImpl.java
# fe/fe-core/src/main/java/com/starrocks/leader/MetaHelper.java
# fe/fe-core/src/main/java/com/starrocks/leader/ReportHandler.java
# fe/fe-core/src/main/java/com/starrocks/listener/LoadJobMVListener.java
# fe/fe-core/src/main/java/com/starrocks/listener/LoadJobStatsListener.java
# fe/fe-core/src/main/java/com/starrocks/load/BrokerFileGroup.java
# fe/fe-core/src/main/java/com/starrocks/load/DeleteInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/DeleteJob.java
# fe/fe-core/src/main/java/com/starrocks/load/DeleteMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/EtlStatus.java
# fe/fe-core/src/main/java/com/starrocks/load/ExportChecker.java
# fe/fe-core/src/main/java/com/starrocks/load/ExportJob.java
# fe/fe-core/src/main/java/com/starrocks/load/ExportMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/InsertOverwriteJob.java
# fe/fe-core/src/main/java/com/starrocks/load/InsertOverwriteJobMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/InsertOverwriteJobRunner.java
# fe/fe-core/src/main/java/com/starrocks/load/Load.java
# fe/fe-core/src/main/java/com/starrocks/load/OlapDeleteJob.java
# fe/fe-core/src/main/java/com/starrocks/load/PartitionUtils.java
# fe/fe-core/src/main/java/com/starrocks/load/TabletDeleteInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/BrokerLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/BrokerLoadPendingTask.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/BulkLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/InsertLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadJobFinalOperation.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadLoadingTask.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadTask.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/LoadsHistorySyncer.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/ManualLoadTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/MiniLoadTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkEtlJobHandler.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkLoadPendingTask.java
# fe/fe-core/src/main/java/com/starrocks/load/loadv2/SparkRepository.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/FilePipeSource.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/Pipe.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/PipeListener.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/PipeManager.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/filelist/FileListTableRepo.java
# fe/fe-core/src/main/java/com/starrocks/load/pipe/filelist/RepoCreator.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaProgress.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaRoutineLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/KafkaTaskInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/PulsarRoutineLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/PulsarTaskInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RLTaskTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadFunctionalExprProvider.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadJob.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadScheduler.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadTaskInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/routineload/RoutineLoadTaskScheduler.java
# fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadFunctionalExprProvider.java
# fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadInfo.java
# fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadMgr.java
# fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadTask.java
# fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/metric/MaterializedViewMetricsEntity.java
# fe/fe-core/src/main/java/com/starrocks/metric/MetricRepo.java
# fe/fe-core/src/main/java/com/starrocks/monitor/jvm/JvmStats.java
# fe/fe-core/src/main/java/com/starrocks/mv/MVMetaVersionRepairer.java
# fe/fe-core/src/main/java/com/starrocks/mv/MVRepairHandler.java
# fe/fe-core/src/main/java/com/starrocks/mv/analyzer/MVPartitionExprResolver.java
# fe/fe-core/src/main/java/com/starrocks/mv/analyzer/MVPartitionSlotRefResolver.java
# fe/fe-core/src/main/java/com/starrocks/mysql/privilege/Password.java
# fe/fe-core/src/main/java/com/starrocks/persist/BackendTabletsInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/CreateInsertOverwriteJobLog.java
# fe/fe-core/src/main/java/com/starrocks/persist/CreateUserInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/DatabaseInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/DropPartitionInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/EditLog.java
# fe/fe-core/src/main/java/com/starrocks/persist/MetaCleaner.java
# fe/fe-core/src/main/java/com/starrocks/persist/ModifyPartitionInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/OperationType.java
# fe/fe-core/src/main/java/com/starrocks/persist/PhysicalPartitionPersistInfoV2.java
# fe/fe-core/src/main/java/com/starrocks/persist/RecoverInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/RolePrivilegeCollectionInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/TableInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/UserPrivilegeCollectionInfo.java
# fe/fe-core/src/main/java/com/starrocks/persist/gson/GsonUtils.java
# fe/fe-core/src/main/java/com/starrocks/planner/AggregationNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/AnalyticEvalNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/BinlogScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/DeltaLakeScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/EsScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/ExchangeNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/ExportSink.java
# fe/fe-core/src/main/java/com/starrocks/planner/FileScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/FileTableScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/FragmentNormalizer.java
# fe/fe-core/src/main/java/com/starrocks/planner/HashDistributionPruner.java
# fe/fe-core/src/main/java/com/starrocks/planner/HashJoinNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/HdfsScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/HiveTableSink.java
# fe/fe-core/src/main/java/com/starrocks/planner/HudiScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/IcebergMetadataScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/IcebergScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/IcebergTableSink.java
# fe/fe-core/src/main/java/com/starrocks/planner/JDBCScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/JoinNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/KuduScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/LoadScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/MetaScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/MysqlScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/MysqlTableSink.java
# fe/fe-core/src/main/java/com/starrocks/planner/OdpsScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/OlapScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/OlapTableSink.java
# fe/fe-core/src/main/java/com/starrocks/planner/PaimonScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/PlanFragment.java
# fe/fe-core/src/main/java/com/starrocks/planner/PlanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/ProjectNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/RepeatNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/RuntimeFilterPushDownContext.java
# fe/fe-core/src/main/java/com/starrocks/planner/ScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/SchemaScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/SelectNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/SetOperationNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/SortNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/StreamLoadPlanner.java
# fe/fe-core/src/main/java/com/starrocks/planner/StreamLoadScanNode.java
# fe/fe-core/src/main/java/com/starrocks/planner/TableFunctionNode.java
# fe/fe-core/src/main/java/com/starrocks/plugin/BuiltinPluginLoader.java
# fe/fe-core/src/main/java/com/starrocks/plugin/DynamicPluginLoader.java
# fe/fe-core/src/main/java/com/starrocks/plugin/PluginException.java
# fe/fe-core/src/main/java/com/starrocks/plugin/PluginLoader.java
# fe/fe-core/src/main/java/com/starrocks/plugin/PluginMgr.java
# fe/fe-core/src/main/java/com/starrocks/plugin/PluginZip.java
# fe/fe-core/src/main/java/com/starrocks/qe/BackendSelector.java
# fe/fe-core/src/main/java/com/starrocks/qe/ColocatedBackendSelector.java
# fe/fe-core/src/main/java/com/starrocks/qe/ConnectContext.java
# fe/fe-core/src/main/java/com/starrocks/qe/ConnectProcessor.java
# fe/fe-core/src/main/java/com/starrocks/qe/ConnectScheduler.java
# fe/fe-core/src/main/java/com/starrocks/qe/CoordinatorPreprocessor.java
# fe/fe-core/src/main/java/com/starrocks/qe/DDLStmtExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/DefaultCoordinator.java
# fe/fe-core/src/main/java/com/starrocks/qe/ExecuteExceptionHandler.java
# fe/fe-core/src/main/java/com/starrocks/qe/ExecuteScriptExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/HDFSBackendSelector.java
# fe/fe-core/src/main/java/com/starrocks/qe/LeaderOpExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/NormalBackendSelector.java
# fe/fe-core/src/main/java/com/starrocks/qe/QeProcessor.java
# fe/fe-core/src/main/java/com/starrocks/qe/QeProcessorImpl.java
# fe/fe-core/src/main/java/com/starrocks/qe/QueryQueueManager.java
# fe/fe-core/src/main/java/com/starrocks/qe/QueryStateException.java
# fe/fe-core/src/main/java/com/starrocks/qe/QueryStatisticsInfo.java
# fe/fe-core/src/main/java/com/starrocks/qe/ResultReceiver.java
# fe/fe-core/src/main/java/com/starrocks/qe/SessionVariable.java
# fe/fe-core/src/main/java/com/starrocks/qe/SetDefaultRoleExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/SetRoleExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/ShortCircuitExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/ShortCircuitHybridExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/ShowExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/ShowMaterializedViewStatus.java
# fe/fe-core/src/main/java/com/starrocks/qe/StmtExecutor.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/Coordinator.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/Deployer.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/FeExecuteCoordinator.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/QueryRuntimeProfile.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/SchedulerException.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/TFragmentInstanceFactory.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/BackendSelectorFactory.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/FragmentAssignmentStrategy.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/FragmentAssignmentStrategyFactory.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/LocalFragmentAssignmentStrategy.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/assignment/RemoteFragmentAssignmentStrategy.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/AllAtOnceExecutionSchedule.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/ExecutionDAG.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/ExecutionSchedule.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/FragmentInstance.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/FragmentInstanceExecState.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/JobSpec.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/PhasedExecutionSchedule.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/dag/ScheduleNextTurnRunner.java
# fe/fe-core/src/main/java/com/starrocks/qe/scheduler/slot/GlobalSlotProvider.java
# fe/fe-core/src/main/java/com/starrocks/replication/ReplicationJob.java
# fe/fe-core/src/main/java/com/starrocks/replication/ReplicationMgr.java
# fe/fe-core/src/main/java/com/starrocks/replication/ReplicationTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/rpc/BrpcProxy.java
# fe/fe-core/src/main/java/com/starrocks/rpc/PBackendService.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/Constants.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/DataCacheSelectProcessor.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/MVActiveChecker.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/MvTaskRunContext.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessor.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/TableSnapshotInfo.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/TableWithPartitions.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/TaskManager.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/TaskRun.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/TaskRunManager.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/history/TableKeeper.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVMaintenanceJob.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVMaintenanceTask.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshListPartitioner.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshNonPartitioner.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshPartitioner.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshPlanBuilder.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTRefreshRangePartitioner.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVTraceUtils.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVVersionManager.java
# fe/fe-core/src/main/java/com/starrocks/scheduler/mv/TxnBasedEpochCoordinator.java
# fe/fe-core/src/main/java/com/starrocks/server/CatalogMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/GlobalStateMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/HiveTableFactory.java
# fe/fe-core/src/main/java/com/starrocks/server/HudiTableFactory.java
# fe/fe-core/src/main/java/com/starrocks/server/IcebergTableFactory.java
# fe/fe-core/src/main/java/com/starrocks/server/LocalMetastore.java
# fe/fe-core/src/main/java/com/starrocks/server/MetadataMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/NodeMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/OlapTableFactory.java
# fe/fe-core/src/main/java/com/starrocks/server/SharedDataStorageVolumeMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/StorageVolumeMgr.java
# fe/fe-core/src/main/java/com/starrocks/server/WarehouseManager.java
# fe/fe-core/src/main/java/com/starrocks/service/FrontendServiceImpl.java
# fe/fe-core/src/main/java/com/starrocks/service/InformationSchemaDataSource.java
# fe/fe-core/src/main/java/com/starrocks/sql/DeletePlanner.java
# fe/fe-core/src/main/java/com/starrocks/sql/Explain.java
# fe/fe-core/src/main/java/com/starrocks/sql/ExplainAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/InsertPlanner.java
# fe/fe-core/src/main/java/com/starrocks/sql/LoadPlanner.java
# fe/fe-core/src/main/java/com/starrocks/sql/StatementPlanner.java
# fe/fe-core/src/main/java/com/starrocks/sql/UpdatePlanner.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AggregationAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AlterRoutineLoadAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AlterTableClauseAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AlterTableStatementAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AnalyzeStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/Analyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AnalyzerUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AstToSQLBuilder.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AstToStringBuilder.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/Authorizer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AuthorizerStmtVisitor.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/BackupRestoreAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CTASAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CancelAlterTableStatementAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CreateRoutineLoadAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CreateTableAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CreateTableLikeAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/DecimalV3FunctionAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/DeleteAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/DictionaryAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/DropStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ExportStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ExpressionAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/FeNameFormat.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/FunctionAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/InsertAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/LoadStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/MaterializedViewAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/PlannerMetaLocker.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/PolymorphicFunctionAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/QueryAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/RecoverPartitionAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/RecoverTableAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/RefreshTableStatementAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ResourceGroupAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/SelectAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/SetStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ShowAlterStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ShowStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ShowTabletStmtAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/TruncateTableAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/UpdateAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ViewAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/analyzer/WarehouseAnalyzer.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AbstractBackupStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AddFieldClause.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AlterRoutineLoadStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AlterUserStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AnalyzeStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/AstVisitor.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/BackupStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/BaseCreateAlterUserStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/BaseGrantRevokePrivilegeStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CancelBackupStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ColumnDef.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateFunctionStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateMaterializedViewStatement.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateMaterializedViewStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateRoutineLoadStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateTableAsSelectStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateUserStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/DataDescription.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/DmlStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/DropFunctionStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/DropPartitionClause.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ExportStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/FileTableFunctionRelation.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/IndexDef.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/InsertStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/IntervalLiteral.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ListPartitionDesc.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/MVColumnItem.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/QueryStatement.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/RefreshMaterializedViewStatement.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/RestoreStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ShowAnalyzeJobStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ShowAnalyzeStatusStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ShowBasicStatsMetaStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ShowHistogramStatsMetaStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/StatementBase.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/TableRelation.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/UnitIdentifier.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/UserAuthOption.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/UserIdentity.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/ValuesRelation.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/pipe/ShowPipeStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/ast/warehouse/ShowWarehousesStmt.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/DebugOperatorTracer.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/Generator.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/ListPartitionDiffer.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/MetaUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PListCell.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PRangeCell.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PRangeCellPlus.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/ParserErrorMsg.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiff.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiffResult.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PartitionDiffer.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/PermutationGenerator.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/RangePartitionDiffer.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/SqlWithIdUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/SyncPartitionUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/common/TimeUnitUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/CTEUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/LogicalPlanPrinter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializationContext.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MaterializedViewOptimizer.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MvRewriteContext.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/MvRewritePreprocessor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/OptExpression.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/OptExpressionVisitor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/Optimizer.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/OptimizerContext.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/OptimizerTraceUtil.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/UKFKConstraintsCollector.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/Utils.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/base/ColumnRefSet.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/base/LogicalProperty.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/base/SortProperty.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/function/MetaFunctions.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/Operator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/OperatorType.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/OperatorVisitor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/UKFKConstraints.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalAggregationOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalAssertOneRowOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalCTEAnchorOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalCTEConsumeOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalCTEProduceOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalFilterOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalIcebergMetadataScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalIcebergScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalJoinOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalLimitOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalMetaScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalOlapScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalProjectOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalSetOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalTableFunctionOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalTopNOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalUnionOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalWindowOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalHashAggregateOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalIcebergMetadataScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalIcebergScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalMetaScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalOlapScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalScanOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalTopNOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalUnionOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalWindowOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/scalar/ConstantOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/scalar/DictionaryGetOperator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/OptExternalPartitionPruner.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/OptOlapPartitionPruner.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/PartitionColPredicateEvaluator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/PartitionColPredicateExtractor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ReplaceColumnRefRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ScalarOperatorEvaluator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ScalarOperatorFunctions.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/ScalarRangePredicateExtractor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/scalar/ReduceCastRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/RuleSet.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/RuleSetType.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/RuleType.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/implementation/IcebergScanImplementationRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/implementation/NestLoopJoinImplementationRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/implementation/TopNImplementationRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/implementation/WindowImplementationRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/join/JoinOrder.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/join/JoinReorderFactory.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/join/ReorderJoinRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/mv/MaterializedViewRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/EliminateAggRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/ExternalScanPartitionPruneRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/GroupByCountDistinctRewriteRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/JoinCommutativityRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/ListPartitionPruner.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/MaterializedViewTransparentRewriteRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/MergeLimitDirectRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/MergeProjectWithChildRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PartitionPruneRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PruneHDFSScanColumnRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownAggToMetaScanRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownFlatJsonMetaToMetaScanRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownLimitRankingWindowRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownPredicateRankingWindowRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PushDownPredicateScanRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/RewriteSimpleAggToHDFSScanRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/RewriteSimpleAggToMetaScanRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SeparateProjectRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SplitAggregateRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/SplitScanORToUnionRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/AggregateFunctionRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewPushDownRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedMaterializedViewRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/AndRangePredicate.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/BestMvSelector.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/ColumnRangePredicate.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/EquationRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVColumnPruner.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVPartitionPruner.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVTransparentState.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVUnionRewriteMode.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MaterializedViewRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvPartitionCompensator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteStrategy.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtils.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/OptExpressionDuplicator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/PredicateExtractor.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/compensation/MVCompensationBuilder.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/compensation/OptCompensator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/CountRewriteEquivalent.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/DateTruncEquivalent.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/EquivalentShuttleContext.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/HLLRewriteEquivalent.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/IRewriteEquivalent.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/RewriteEquivalent.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/rule/AggregateJoinPushDownRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/rule/BaseMaterializedViewRewriteRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/AddDecodeNodeForDictStringRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/DataCachePopulateRewriteRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/ExchangeSortToMergeRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/PreAggregateTurnOnRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/ScalarOperatorsReuseRule.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/lowcardinality/DecodeCollector.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/pdagg/AggregatePushDownContext.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/pdagg/PushDownAggregateCollector.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/pdagg/PushDownAggregateRewriter.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/CacheDictManager.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/CachedStatisticStorage.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/ColumnBasicStatsCacheLoader.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/ColumnHistogramStatsCacheLoader.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/StatisticStorage.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/Statistics.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/StatisticsCalculator.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/statistics/StatisticsEstimateCoefficient.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/task/PrepareCollectMetaTask.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/task/RewriteTreeTask.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/transformer/QueryTransformer.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/transformer/RelationTransformer.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/transformer/WindowTransformer.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/validate/InputDependenciesChecker.java
# fe/fe-core/src/main/java/com/starrocks/sql/optimizer/validate/TypeChecker.java
# fe/fe-core/src/main/java/com/starrocks/sql/parser/AstBuilder.java
# fe/fe-core/src/main/java/com/starrocks/sql/parser/SqlParser.java
# fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocks.g4
# fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocksLex.g4
# fe/fe-core/src/main/java/com/starrocks/sql/parser/SyntaxSugars.java
# fe/fe-core/src/main/java/com/starrocks/sql/plan/ExecPlan.java
# fe/fe-core/src/main/java/com/starrocks/sql/plan/PlanFragmentBuilder.java
# fe/fe-core/src/main/java/com/starrocks/sql/plan/ScalarOperatorToExpr.java
# fe/fe-core/src/main/java/com/starrocks/sql/util/TablePlus.java
# fe/fe-core/src/main/java/com/starrocks/staros/StarMgrServer.java
# fe/fe-core/src/main/java/com/starrocks/statistic/AnalyzeMgr.java
# fe/fe-core/src/main/java/com/starrocks/statistic/BasicStatsMeta.java
# fe/fe-core/src/main/java/com/starrocks/statistic/ColumnStatsMeta.java
# fe/fe-core/src/main/java/com/starrocks/statistic/ExternalBasicStatsMeta.java
# fe/fe-core/src/main/java/com/starrocks/statistic/ExternalFullStatisticsCollectJob.java
# fe/fe-core/src/main/java/com/starrocks/statistic/HistogramStatisticsCollectJob.java
# fe/fe-core/src/main/java/com/starrocks/statistic/NativeAnalyzeJob.java
# fe/fe-core/src/main/java/com/starrocks/statistic/NativeAnalyzeStatus.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticExecutor.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticSQLBuilder.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticUtils.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsCollectJob.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsCollectJobFactory.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsCollectionTrigger.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatisticsMetaManager.java
# fe/fe-core/src/main/java/com/starrocks/statistic/StatsConstants.java
# fe/fe-core/src/main/java/com/starrocks/statistic/sample/SampleInfo.java
# fe/fe-core/src/main/java/com/starrocks/statistic/sample/TabletSampleManager.java
# fe/fe-core/src/main/java/com/starrocks/statistic/sample/TabletStats.java
# fe/fe-core/src/main/java/com/starrocks/system/Backend.java
# fe/fe-core/src/main/java/com/starrocks/system/BackendHbResponse.java
# fe/fe-core/src/main/java/com/starrocks/system/BackendResourceStat.java
# fe/fe-core/src/main/java/com/starrocks/system/ComputeNode.java
# fe/fe-core/src/main/java/com/starrocks/system/Frontend.java
# fe/fe-core/src/main/java/com/starrocks/system/FrontendHbResponse.java
# fe/fe-core/src/main/java/com/starrocks/system/HeartbeatMgr.java
# fe/fe-core/src/main/java/com/starrocks/system/HeartbeatResponse.java
# fe/fe-core/src/main/java/com/starrocks/system/NodeSelector.java
# fe/fe-core/src/main/java/com/starrocks/system/SystemInfoService.java
# fe/fe-core/src/main/java/com/starrocks/task/AlterReplicaTask.java
# fe/fe-core/src/main/java/com/starrocks/task/CreateReplicaTask.java
# fe/fe-core/src/main/java/com/starrocks/task/ExportExportingTask.java
# fe/fe-core/src/main/java/com/starrocks/task/ExportPendingTask.java
# fe/fe-core/src/main/java/com/starrocks/task/PublishVersionTask.java
# fe/fe-core/src/main/java/com/starrocks/task/RemoteSnapshotTask.java
# fe/fe-core/src/main/java/com/starrocks/transaction/AbstractTxnStateChangeCallback.java
# fe/fe-core/src/main/java/com/starrocks/transaction/DatabaseTransactionMgr.java
# fe/fe-core/src/main/java/com/starrocks/transaction/GlobalTransactionMgr.java
# fe/fe-core/src/main/java/com/starrocks/transaction/GtidGenerator.java
# fe/fe-core/src/main/java/com/starrocks/transaction/IllegalTransactionParameterException.java
# fe/fe-core/src/main/java/com/starrocks/transaction/InsertTxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/transaction/LakeTableTxnLogApplier.java
# fe/fe-core/src/main/java/com/starrocks/transaction/LakeTableTxnStateListener.java
# fe/fe-core/src/main/java/com/starrocks/transaction/OlapTableTxnLogApplier.java
# fe/fe-core/src/main/java/com/starrocks/transaction/OlapTableTxnStateListener.java
# fe/fe-core/src/main/java/com/starrocks/transaction/PartitionCommitInfo.java
# fe/fe-core/src/main/java/com/starrocks/transaction/PublishVersionDaemon.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TableCommitInfo.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TransactionChecker.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TransactionCommitFailedException.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TransactionException.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TransactionState.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TransactionStateBatch.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TxnCommitAttachment.java
# fe/fe-core/src/main/java/com/starrocks/transaction/TxnStateChangeCallback.java
# fe/fe-core/src/main/java/com/starrocks/transaction/UpdateDbUsedDataQuotaDaemon.java
# fe/fe-core/src/main/java/com/starrocks/warehouse/DefaultWarehouse.java
# fe/fe-core/src/main/java/com/starrocks/warehouse/WarehouseProcDir.java
# fe/fe-core/src/main/java/org/apache/iceberg/DeleteFileIndex.java
# fe/fe-core/src/main/java/org/apache/iceberg/StarRocksIcebergTableScan.java
# fe/fe-core/src/test/java/com/starrocks/alter/AlterJobV2Test.java
# fe/fe-core/src/test/java/com/starrocks/alter/AlterTableTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/AlterTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/BatchRollupJobTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/CompactionHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/LakeTableAlterDataCachePartitionDurationTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/LakeTableAlterMetaJobTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/LakeTableAsyncFastSchemaChangeJobTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/LakeTableSchemaChangeJobTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/MaterializedViewHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/OnlineOptimizeJobV2Test.java
# fe/fe-core/src/test/java/com/starrocks/alter/OptimizeJobV2BuilderTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/OptimizeJobV2Test.java
# fe/fe-core/src/test/java/com/starrocks/alter/RollupJobV2Test.java
# fe/fe-core/src/test/java/com/starrocks/alter/SchemaChangeHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/alter/SchemaChangeJobV2Test.java
# fe/fe-core/src/test/java/com/starrocks/alter/SystemHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/AccessTestUtil.java
# fe/fe-core/src/test/java/com/starrocks/analysis/AlterUserStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CTASAutoTabletTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CancelLoadStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ColumnDefTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ColumnPositionTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateAnalyzeJobTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateDbStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateRoutineLoadStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateSyncMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateTableAutoTabletTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateTableWithPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/CreateUserStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/DropMaterializedViewStmtNewPlannerTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/DropMaterializedViewStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/FailPointStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/GINIndexTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/IndexDefTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/InstallPluginStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/LoadStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/MVColumnBitmapUnionPatternTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/MaterializedViewAutoTabletTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ModifyBackendClauseTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ModifyBrokerClauseTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ModifyFrontendAddressClauseTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/RefreshMaterializedViewStatementTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/RefreshMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ResourceGroupStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/RestrictOpMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/RuntimeFilterTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SelectStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SetCatalogStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SetPassVarTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SetStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SetUserPropertyVarTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowCatalogsStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowCharsetStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowCreateMaterializedViewStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowCreateRoutineLoadStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowCreateViewStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowDbStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowDeleteTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowEnginesStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowLoadStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowLoadWarningsStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowRestoreStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/ShowTransactionStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/SubmitTaskStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/UseCatalogStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/analysis/UseMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/authentication/AuthenticationManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/authentication/AuthenticationProviderFactoryTest.java
# fe/fe-core/src/test/java/com/starrocks/authentication/PlainPasswordAuthenticationProviderTest.java
# fe/fe-core/src/test/java/com/starrocks/authentication/UserPropertyTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/BackupHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/BackupJobMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/BackupJobPrimaryKeyTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/BackupJobTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/CatalogMocker.java
# fe/fe-core/src/test/java/com/starrocks/backup/RestoreJobMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/RestoreJobPrimaryKeyTest.java
# fe/fe-core/src/test/java/com/starrocks/backup/RestoreJobTest.java
# fe/fe-core/src/test/java/com/starrocks/benchmark/MVPartitionCompensateOptBench.java
# fe/fe-core/src/test/java/com/starrocks/benchmark/MvPreProcessorWithSSBBench.java
# fe/fe-core/src/test/java/com/starrocks/benchmark/MvRefreshConcurrencyTest.java
# fe/fe-core/src/test/java/com/starrocks/binlog/BinlogManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/AdminStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/BackendTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/BrokerMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CatalogRecycleBinLakeTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CatalogRecycleBinTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CatalogUtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ColocateTableIndexTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ColocateTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ColumnTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CreateTableLikeTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CreateTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CreateTableWithLocationTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/CreateViewTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/DatabaseTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/DictionaryMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/DropPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/DynamicPartitionTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ExpressionRangePartitionInfoTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/FakeEditLog.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ForeignKeyConstraintTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/GlobalFunctionMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/GlobalStateMgrTestUtil.java
# fe/fe-core/src/test/java/com/starrocks/catalog/HiveResourceTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/HiveTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/HudiResourceTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/HudiTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/IcebergResourceTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/IcebergTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/InfoSchemaDbTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/JDBCTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ListPartitionInfoTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/MVPartitionExprResolverTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/MaterializedIndexTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/MaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/MetadataViewerTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/OlapTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/PhysicalPartitionImplTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ReplaceLakePartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/ResourceMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/SparkResourceTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/StorageCoolDownTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/StorageMediumInferTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/TableFunctionTableTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/TabletStatMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/TempPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/system/sys/SysFeLocksTest.java
# fe/fe-core/src/test/java/com/starrocks/catalog/system/sys/SysFeMemoryUsageTest.java
# fe/fe-core/src/test/java/com/starrocks/clone/ColocateTableBalancerTest.java
# fe/fe-core/src/test/java/com/starrocks/clone/DiskAndTabletLoadReBalancerTest.java
# fe/fe-core/src/test/java/com/starrocks/clone/DynamicPartitionSchedulerTest.java
# fe/fe-core/src/test/java/com/starrocks/clone/TabletSchedCtxTest.java
# fe/fe-core/src/test/java/com/starrocks/clone/TabletSchedulerTest.java
# fe/fe-core/src/test/java/com/starrocks/cluster/SystemInfoServiceTest.java
# fe/fe-core/src/test/java/com/starrocks/common/ConfigTest.java
# fe/fe-core/src/test/java/com/starrocks/common/MarkDownParserTest.java
# fe/fe-core/src/test/java/com/starrocks/common/PropertyAnalyzerTest.java
# fe/fe-core/src/test/java/com/starrocks/common/lock/AutoCloseableLockerTest.java
# fe/fe-core/src/test/java/com/starrocks/common/lock/DeadLockTest.java
# fe/fe-core/src/test/java/com/starrocks/common/lock/TestLockException.java
# fe/fe-core/src/test/java/com/starrocks/common/lock/TestLockInterface.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/CurrentGlobalQueryStatisticsProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/CurrentQueryStatisticsProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/DbsProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/LakeTabletsProcNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/LocalTabletsProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/PartitionsProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/StatisticProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/proc/TablesProcDirTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/AutoInferUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/BrokerUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/KafkaUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/ProfileManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/ProfilingExecPlanTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/SmallFileMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/TimeUtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/common/util/UnitTestUtil.java
# fe/fe-core/src/test/java/com/starrocks/common/util/concurrent/QueryableReentrantLockTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/CatalogConnectorMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/HiveMetastoreApiConverterTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/PartitionUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/RemoteFileOperationsTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/RemoteScanRangeLocationsTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/analyzer/SimpleExpressionAnalyzer.java
# fe/fe-core/src/test/java/com/starrocks/connector/delta/CachingDeltaLakeMetastoreTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/delta/DeltaLakeConnectorTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/delta/DeltaLakeMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/elasticsearch/EsShardPartitionsTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/elasticsearch/QueryBuildersTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/CachingHiveMetastoreTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveConnectorTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveMetastoreOperationsTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveMetastoreTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveStatisticsProviderTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/HiveViewTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/MockedHiveMetadata.java
# fe/fe-core/src/test/java/com/starrocks/connector/hive/ReplayMetadataMgr.java
# fe/fe-core/src/test/java/com/starrocks/connector/hudi/HudiMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/iceberg/IcebergApiConverterTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/iceberg/IcebergMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/iceberg/MockIcebergMetadata.java
# fe/fe-core/src/test/java/com/starrocks/connector/iceberg/cost/IcebergStatisticProviderTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/jdbc/MockedJDBCMetadata.java
# fe/fe-core/src/test/java/com/starrocks/connector/jdbc/MysqlSchemaResolverTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/kudu/KuduMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/kudu/KuduPredicateConverterTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/odps/MockedBase.java
# fe/fe-core/src/test/java/com/starrocks/connector/odps/OdpsMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/odps/OdpsTableTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/paimon/PaimonConnectorTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/paimon/PaimonMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoFunctionTransformTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoParserNotSupportTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoQueryTest.java
# fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoTestBase.java
# fe/fe-core/src/test/java/com/starrocks/connector/unified/UnifiedMetadataTest.java
# fe/fe-core/src/test/java/com/starrocks/consistency/ConsistencyCheckerTest.java
# fe/fe-core/src/test/java/com/starrocks/consistency/MetaRecoveryDaemonTest.java
# fe/fe-core/src/test/java/com/starrocks/credential/CloudConfigurationFactoryTest.java
# fe/fe-core/src/test/java/com/starrocks/external/starrocks/TableMetaSyncerTest.java
# fe/fe-core/src/test/java/com/starrocks/fs/HdfsUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/fs/TestHdfsFsManager.java
# fe/fe-core/src/test/java/com/starrocks/fs/WildcardURITest.java
# fe/fe-core/src/test/java/com/starrocks/ha/BDBHATest.java
# fe/fe-core/src/test/java/com/starrocks/http/BadHttpRequestTest.java
# fe/fe-core/src/test/java/com/starrocks/http/ExecuteSqlActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/LoadActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/QueryDumpActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/RestBaseResultTest.java
# fe/fe-core/src/test/java/com/starrocks/http/ShowDataActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/ShowMetaInfoActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/StarRocksHttpTestCase.java
# fe/fe-core/src/test/java/com/starrocks/http/TableQueryPlanActionTest.java
# fe/fe-core/src/test/java/com/starrocks/http/TransactionLoadActionTest.java
# fe/fe-core/src/test/java/com/starrocks/journal/bdbje/BDBEnvironmentTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/AlterTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/CreateLakeTableTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/LakeMaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/LakeTableHelperTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/StarMgrMetaSyncerTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/StarOSAgent2ndTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/StarOSAgentTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/UtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/compaction/CompactionJobTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/compaction/CompactionMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/compaction/CompactionSchedulerTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/compaction/CompactionTxnCommitAttachmentTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/delete/DeleteTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/qe/ShowExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/lake/qe/scheduler/DefaultSharedDataWorkerProviderTest.java
# fe/fe-core/src/test/java/com/starrocks/leader/LeaderImplTest.java
# fe/fe-core/src/test/java/com/starrocks/leader/ReportHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/BrokerFileGroupTest.java
# fe/fe-core/src/test/java/com/starrocks/load/DeleteHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/DeletePruneTest.java
# fe/fe-core/src/test/java/com/starrocks/load/ExportCheckerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/ExportMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/load/InsertOverwriteJobManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/InsertOverwriteJobRunnerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/InsertOverwriteJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/LoadPlannerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/LoadTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/BrokerLoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/BrokerLoadPendingTaskTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/InsertLoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/LoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/LoadMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkEtlJobHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkLoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkLoadPendingTaskTest.java
# fe/fe-core/src/test/java/com/starrocks/load/loadv2/SparkRepositoryTest.java
# fe/fe-core/src/test/java/com/starrocks/load/pipe/PipeManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/pipe/filelist/FileListRepoTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaProgressTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaRoutineLoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/KafkaTaskInfoTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadJobMetaTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadJobTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadSchedulerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/routineload/RoutineLoadTaskSchedulerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/streamload/ShowStreamLoadTest.java
# fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadTaskTest.java
# fe/fe-core/src/test/java/com/starrocks/mysql/MysqlHandshakePacketTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/ColumnRenameTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/CreateInsertOverwriteJobLogTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/EditLogTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/OperationTypeTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/RecyclePartitionInfoTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/RenameMaterializedViewLogTest.java
# fe/fe-core/src/test/java/com/starrocks/persist/metablock/SRMetaBlockV1Test.java
# fe/fe-core/src/test/java/com/starrocks/persist/metablock/SRMetaBlockV2Test.java
# fe/fe-core/src/test/java/com/starrocks/planner/FileScanNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/HudiScanNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/IcebergMetadataScanNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewAggPushDownRewriteTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewAggRollupTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewLowCardTPCHTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewManualTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewRewriteWithSSBTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewTPCHTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewTestBase.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewTextBasedRewriteTPCHTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewWithMultiStageTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/MaterializedViewWithPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/OlapTableSinkTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/OlapTableSinkTest2.java
# fe/fe-core/src/test/java/com/starrocks/planner/StreamLoadPlannerTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/StreamLoadScanNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/TableFunctionTableSinkTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/TablePruningTest.java
# fe/fe-core/src/test/java/com/starrocks/planner/TablePruningTestBase.java
# fe/fe-core/src/test/java/com/starrocks/planner/mv/MVMetaVersionRepairerTest.java
# fe/fe-core/src/test/java/com/starrocks/plugin/PluginMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/plugin/PluginZipTest.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/BeRestartTest.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/BeTabletManager.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/BeTxnManager.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/LocationLabeledTableBalanceTest.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/LocationMismatchRepairTest.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoBackend.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoCluster.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoClusterTest.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/PseudoFrontend.java
# fe/fe-core/src/test/java/com/starrocks/pseudocluster/ReplicaMinReadableVersionTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ColocatedBackendSelectorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ConnectContextTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ConnectProcessorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/CoordinatorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ExecuteExceptionHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ExportHandleTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/HDFSBackendSelectorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/RBACExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/SetExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ShowExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/ShowTableMockMeta.java
# fe/fe-core/src/test/java/com/starrocks/qe/ShowTablesTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/StmtExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/VariableMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/scheduler/DefaultWorkerProviderTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/scheduler/GetNextTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/scheduler/QueryQueueManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/qe/scheduler/SchedulerTestBase.java
# fe/fe-core/src/test/java/com/starrocks/qe/scheduler/StartSchedulingTest.java
# fe/fe-core/src/test/java/com/starrocks/replication/ReplicationJobTest.java
# fe/fe-core/src/test/java/com/starrocks/replication/ReplicationMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/MVRefreshTestBase.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PCTRefreshListPartitionOlapTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorHiveTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorIcebergTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorJdbcTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorOlapPart2Test.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorOlapTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshProcessorPaimonTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/PartitionBasedMvRefreshTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/TaskRunFIFOQueueTest.java
# fe/fe-core/src/test/java/com/starrocks/scheduler/mv/MVMaintenanceJobTest.java
# fe/fe-core/src/test/java/com/starrocks/server/CatalogLevelTest.java
# fe/fe-core/src/test/java/com/starrocks/server/CatalogMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/server/ConcurrentDDLTest.java
# fe/fe-core/src/test/java/com/starrocks/server/GlobalStateMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/server/LocalMetaStoreTest.java
# fe/fe-core/src/test/java/com/starrocks/server/MVRepairHandlerTest.java
# fe/fe-core/src/test/java/com/starrocks/server/MetadataMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/server/NodeMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/server/SharedDataStorageVolumeMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/server/WarehouseManagerTest.java
# fe/fe-core/src/test/java/com/starrocks/service/FrontendOptionsTest.java
# fe/fe-core/src/test/java/com/starrocks/service/FrontendServiceImplTest.java
# fe/fe-core/src/test/java/com/starrocks/service/LakeInformationSchemaDataSourceTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AlterDbRenameAnalyzerTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeAggregateTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeBackupRestoreTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeCreateAnalyzeJobTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeCreateTableTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeDropTableTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeFunctionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeInsertTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/AnalyzeStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/CTASAnalyzerTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/ExternalDbTablePrivTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/MaterializedViewAnalyzerTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/PrivilegeCheckerTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/analyzer/PrivilegeStmtAnalyzerV2Test.java
# fe/fe-core/src/test/java/com/starrocks/sql/ast/CreateFunctionStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/ast/DropFunctionStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/ast/ExecuteAsStmtTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/ast/StructFieldDescTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/common/MetaUtilTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/common/SqlWithIdUtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/common/SyncPartitionUtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/MVRewriteTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/OptimizerTaskTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/SelectStmtWithCaseWhenTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/UtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/operator/ColumnFilterConverterTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/operator/operator/OperatorEqualsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/JoinPredicatePushdownTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/PredicateReorderRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/scalar/FoldConstantsRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rewrite/scalar/ReduceCastRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/mv/MaterializedViewRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/DistributionPrunerRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/PartitionPruneRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/PruneHDFSScanColumnRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MVRewriteWithSchemaChangeTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRefreshAndRewriteIcebergTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRefreshAndRewriteJDBCTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRefreshTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteHiveTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteListPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewritePartialPartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewritePartitionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewritePreprocessorTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteTestBase.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvRewriteUnionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTransparentRewriteWithHiveTableTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTransparentRewriteWithOlapTableTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTransparentUnionRewriteHiveTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvUtilsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/PredicateSplitTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/statistics/CachedStatisticStorageTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/optimizer/statistics/StatisticsCalculatorTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/parser/ParserTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/AggregatePushDownTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/AggregateTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/CTEPlanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ConnectorPlanTestBase.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/DataCachePlanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/DistributedEnvPlanTestBase.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/DistributedEnvPlanWithCostTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/DistributedEnvTPCDSPlanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ExpressionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ExternalTableTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/FilterUnusedColumnTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/GroupingSetTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/GroupingSetsTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/InsertPlanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/JoinTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/JsonTypeTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/LimitTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/LowCardinalityArrayTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/LowCardinalityTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/LowCardinalityTest2.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/MockTpchStatisticStorage.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/MultiJoinReorderTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/NestLoopJoinTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanFragmentWithCostTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanTestBase.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanTestNoneDBBase.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PredicatePushDownTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PruneComplexSubfieldTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/PruneUKFKJoinRuleTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/RemoveAggTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ReplayFromDumpTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ScanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/SetTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/ShortCircuitTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/SkewJoinTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/SplitScanToUnionTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/TPCDS1TTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/TPCDSPushAggTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/TPCHPlanTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/TPCHPlanWithHistogramCostTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/UDFTest.java
# fe/fe-core/src/test/java/com/starrocks/sql/plan/WindowTest.java
# fe/fe-core/src/test/java/com/starrocks/staros/StarMgrServerTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/AnalyzeMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/BasicStatsMetaTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/CacheLoaderTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/MockHistogramStatisticStorage.java
# fe/fe-core/src/test/java/com/starrocks/statistic/StatisticExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsCollectJobTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsCollectionTriggerTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsExecutorTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/StatisticsSQLTest.java
# fe/fe-core/src/test/java/com/starrocks/statistic/sample/SampleInfoTest.java
# fe/fe-core/src/test/java/com/starrocks/system/BackendHbResponseTest.java
# fe/fe-core/src/test/java/com/starrocks/system/BackendResourceStatTest.java
# fe/fe-core/src/test/java/com/starrocks/system/ComputeNodeTest.java
# fe/fe-core/src/test/java/com/starrocks/system/SystemInfoServiceTest.java
# fe/fe-core/src/test/java/com/starrocks/task/AgentTaskTest.java
# fe/fe-core/src/test/java/com/starrocks/transaction/DatabaseTransactionMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/transaction/GlobalTransactionMgrTest.java
# fe/fe-core/src/test/java/com/starrocks/transaction/LakePublishBatchTest.java
# fe/fe-core/src/test/java/com/starrocks/transaction/LakeTableTestHelper.java
# fe/fe-core/src/test/java/com/starrocks/transaction/LakeTableTxnLogApplierTest.java
# fe/fe-core/src/test/java/com/starrocks/transaction/TransactionStateBatchTest.java
# fe/fe-core/src/test/java/com/starrocks/utframe/MockJournal.java
# fe/fe-core/src/test/java/com/starrocks/utframe/MockedBackend.java
# fe/fe-core/src/test/java/com/starrocks/utframe/MockedFrontend.java
# fe/fe-core/src/test/java/com/starrocks/utframe/StarRocksAssert.java
# fe/fe-core/src/test/java/com/starrocks/utframe/TestWithFeService.java
# fe/fe-core/src/test/java/com/starrocks/utframe/UtFrameUtils.java
# fe/fe-core/src/test/resources/sql/materialized-view/tpch-hive/q1.sql
# fe/fe-core/src/test/resources/sql/materialized-view/tpch/q1.sql
# fe/fe-core/src/test/resources/sql/query_dump/deep_join_cost.json
# fe/fe-core/src/test/resources/sql/query_dump/distinct_constant.json
# fe/fe-core/src/test/resources/sql/query_dump/force_rule_based_mv_rewrite.json
# fe/fe-core/src/test/resources/sql/query_dump/force_rule_based_mv_rewrite_drinks.json
# fe/fe-core/src/test/resources/sql/query_dump/force_rule_based_mv_rewrite_month.json
# fe/fe-core/src/test/resources/sql/query_dump/force_rule_based_mv_rewrite_year.json
# fe/fe-core/src/test/resources/sql/query_dump/join_init_error.json
# fe/fe-core/src/test/resources/sql/query_dump/materialized-view/count_star_rewrite.json
# fe/fe-core/src/test/resources/sql/query_dump/materialized-view/mv_rewrite_with_dict_opt1.json
# fe/fe-core/src/test/resources/sql/query_dump/nested_view_with_cte.json
# fe/fe-core/src/test/resources/sql/query_dump/no_cte_operator_test.json
# fe/fe-core/src/test/resources/sql/query_dump/normalize_non_trivial_project.json
# fe/fe-core/src/test/resources/sql/query_dump/prune_table_npe.json
# fe/fe-core/src/test/resources/sql/query_dump/query_cache_misuse_exogenous_runtime_filter.json
# fe/fe-core/src/test/resources/sql/query_dump/query_cache_set_operator.json
# fe/fe-core/src/test/resources/sql/query_dump/shared_data_query_test.json
# fe/fe-core/src/test/resources/sql/query_dump/split_order_by.json
# fe/fe-core/src/test/resources/sql/query_dump/topn_push_down_union.json
# fe/fe-core/src/test/resources/sql/query_dump/view_delta.json
# fe/fe-core/src/test/resources/sql/scheduler/external/hive/tpch/q1.sql
# fe/fe-core/src/test/resources/sql/subquery/in-subquery.sql
# fe/fe-core/src/test/resources/sql/subquery/scalar-subquery.sql
# fe/fe-core/src/test/resources/sql/tpcds_constraints/AddUniqueKeys.sql
# fe/pom.xml
# fe/spark-dpp/src/main/java/com/starrocks/load/loadv2/dpp/SparkDpp.java
# fe/spark-dpp/src/main/java/com/starrocks/load/loadv2/etl/EtlJobConfig.java
# fe/starrocks_intellij_style.xml
# fs_brokers/apache_hdfs_broker/src/broker-core/pom.xml
# fs_brokers/apache_hdfs_broker/src/pom.xml
# gensrc/proto/data.proto
# gensrc/proto/descriptors.proto
# gensrc/proto/internal_service.proto
# gensrc/proto/lake_service.proto
# gensrc/proto/lake_types.proto
# gensrc/proto/olap_file.proto
# gensrc/proto/tablet_schema.proto
# gensrc/proto/types.proto
# gensrc/script/functions.py
# gensrc/thrift/AgentService.thrift
# gensrc/thrift/DataSinks.thrift
# gensrc/thrift/Descriptors.thrift
# gensrc/thrift/FrontendService.thrift
# gensrc/thrift/HeartbeatService.thrift
# gensrc/thrift/InternalService.thrift
# gensrc/thrift/PlanNodes.thrift
# gensrc/thrift/Planner.thrift
# gensrc/thrift/StatusCode.thrift
# gensrc/thrift/Types.thrift
# java-extensions/hadoop-ext/src/main/java/com/starrocks/connector/share/iceberg/SerializableTable.java
# java-extensions/hive-reader/src/main/java/com/starrocks/hive/reader/HiveScannerFactory.java
# java-extensions/hudi-reader/src/main/java/com/starrocks/hudi/reader/HudiSliceScannerFactory.java
# java-extensions/iceberg-metadata-reader/pom.xml
# java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergMetadataColumnValue.java
# java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergMetadataScanner.java
# java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergMetadataScannerFactory.java
# java-extensions/jni-connector/src/main/java/com/starrocks/jni/connector/ScannerFactory.java
# java-extensions/kudu-reader/src/main/java/com/starrocks/kudu/reader/KuduSplitScannerFactory.java
# java-extensions/odps-reader/src/main/java/com/starrocks/odps/reader/OdpsSplitScannerFactory.java
# java-extensions/paimon-reader/src/main/java/com/starrocks/paimon/reader/PaimonSplitScannerFactory.java
# run-be-ut.sh
# test/lib/__init__.py
# test/lib/sr_sql_lib.py
# test/requirements.txt
# test/sql/test_analyze_statistics/R/test_analyze_hive_stats
# test/sql/test_analyze_statistics/T/test_analyze_hive_stats
# test/sql/test_array/R/test_array
# test/sql/test_auto_increment/R/test_auto_increment
# test/sql/test_auto_increment/T/test_auto_increment
# test/sql/test_automatic_bucket/R/test_automatic_partition
# test/sql/test_automatic_bucket/T/test_automatic_partition
# test/sql/test_automatic_partition/R/test_automatic_partition_fail
# test/sql/test_automatic_partition/R/test_automatic_partition_list
# test/sql/test_automatic_partition/R/test_insert_overwrite
# test/sql/test_column_rename/R/test_column_rename2
# test/sql/test_deltalake/R/test_deltalake_collect_stats
# test/sql/test_deltalake/R/test_deltalake_trace
# test/sql/test_deltalake/T/test_deltalake_collect_stats
# test/sql/test_deltalake/T/test_deltalake_trace
# test/sql/test_dictionary/R/test_dictionary
# test/sql/test_dictionary/T/test_dictionary
# test/sql/test_dml/R/test_update
# test/sql/test_dml/T/test_update
# test/sql/test_drop_partition/R/test_drop_partition
# test/sql/test_drop_partition/T/test_drop_partition
# test/sql/test_external_file/R/test_parquet_read_range
# test/sql/test_external_file/R/test_parquet_struct_in_struct
# test/sql/test_external_file/T/test_parquet_read_range
# test/sql/test_external_file/T/test_parquet_struct_in_struct
# test/sql/test_files/R/csv_format
# test/sql/test_files/T/csv_format
# test/sql/test_function/R/test_math
# test/sql/test_function/R/test_regex
# test/sql/test_function/T/test_math
# test/sql/test_iceberg/R/test_iceberg_catalog
# test/sql/test_iceberg/R/test_iceberg_distributed_plan
# test/sql/test_iceberg/R/test_iceberg_identifier_metrics_cache
# test/sql/test_iceberg/R/test_iceberg_logical_metadata_table
# test/sql/test_iceberg/T/test_iceberg_catalog
# test/sql/test_iceberg/T/test_iceberg_distributed_plan
# test/sql/test_iceberg/T/test_iceberg_identifier_metrics_cache
# test/sql/test_iceberg/T/test_iceberg_logical_metadata_table
# test/sql/test_index/R/test_ngram_bloom_filter
# test/sql/test_index/T/test_ngram_bloom_filter
# test/sql/test_information_schema/R/test_loads
# test/sql/test_information_schema/R/test_task_run_status
# test/sql/test_information_schema/T/test_task_run_status
# test/sql/test_inverted_index/R/test_inverted_index
# test/sql/test_inverted_index/T/test_inverted_index
# test/sql/test_list_partition/R/test_add_list_partition
# test/sql/test_list_partition/R/test_list_partition_cardinality
# test/sql/test_list_partition/T/test_add_list_partition
# test/sql/test_list_partition/T/test_list_partition_cardinality
# test/sql/test_materialized_column/R/test_generated_column_rewrite
# test/sql/test_materialized_column/R/test_materialized_column
# test/sql/test_materialized_column/T/test_generated_column_rewrite
# test/sql/test_materialized_column/T/test_materialized_column
# test/sql/test_materialized_view/R/test_materialized_view_agg_pushdown_rewrite
# test/sql/test_materialized_view/R/test_materialized_view_rewrite
# test/sql/test_materialized_view/R/test_materialized_view_union
# test/sql/test_materialized_view/R/test_mv_iceberg_rewrite
# test/sql/test_materialized_view/R/test_mv_join_derivabllity_rewrite
# test/sql/test_materialized_view/R/test_mv_or_predicate_rewrite
# test/sql/test_materialized_view/R/test_mv_partition_compensate_hive
# test/sql/test_materialized_view/R/test_mv_partition_compensate_iceberg_part1
# test/sql/test_materialized_view/R/test_mv_partition_compensate_iceberg_part2
# test/sql/test_materialized_view/R/test_mv_partition_compensate_mysql
# test/sql/test_materialized_view/R/test_mv_partition_compensate_olap
# test/sql/test_materialized_view/R/test_show_materialized_view
# test/sql/test_materialized_view/T/test_materialized_view_rewrite
# test/sql/test_materialized_view/T/test_materialized_view_union
# test/sql/test_materialized_view/T/test_mv_iceberg_rewrite
# test/sql/test_materialized_view/T/test_mv_join_derivabllity_rewrite
# test/sql/test_materialized_view/T/test_mv_or_predicate_rewrite
# test/sql/test_materialized_view/T/test_mv_partition_compensate_hive
# test/sql/test_materialized_view/T/test_mv_partition_compensate_iceberg_part1
# test/sql/test_materialized_view/T/test_mv_partition_compensate_iceberg_part2
# test/sql/test_materialized_view/T/test_mv_partition_compensate_mysql
# test/sql/test_materialized_view/T/test_mv_partition_compensate_olap
# test/sql/test_materialized_view/T/test_show_materialized_view
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_basic
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_partial_refresh
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_list_partitions_with_nullable
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_with_mv_reuse
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_with_time_slice
# test/sql/test_materialized_view_refresh/R/test_mv_refresh_with_union
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_basic
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_partial_refresh
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_list_partitions_with_nullable
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_with_mv_reuse
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_with_time_slice
# test/sql/test_materialized_view_refresh/T/test_mv_refresh_with_union
# test/sql/test_nest_loop_join/R/test_nest_loop_join
# test/sql/test_nest_loop_join/T/test_nest_loop_join
# test/sql/test_partition_by_expr/R/test_expr_from_unixtime_prune_partition
# test/sql/test_partition_by_expr/R/test_expr_str2date
# test/sql/test_partition_by_expr/R/test_expr_substr
# test/sql/test_partition_by_expr/T/test_expr_from_unixtime_prune_partition
# test/sql/test_partition_by_expr/T/test_expr_str2date
# test/sql/test_partition_by_expr/T/test_expr_substr
# test/sql/test_preparestatement/R/test_driver_prepare
# test/sql/test_preparestatement/T/test_driver_prepare
# test/sql/test_profile/T/test_load_channel_profile_analysis.sh
# test/sql/test_scan/test_pushdown_or_predicate/R/test_index_and_filter_on_or_predicate
# test/sql/test_scan/test_pushdown_or_predicate/T/test_index_and_filter_on_or_predicate
# test/sql/test_spill/R/test_spill_nl_join
# test/sql/test_spill/T/test_spill_nl_join
# test/sql/test_task/R/test_drop
# test/sql/test_task/R/test_periodical_task
# test/sql/test_task/T/test_drop
# test/sql/test_task/T/test_periodical_task
# test/sql/test_transparent_mv/R/test_transparent_mv_hive
# test/sql/test_transparent_mv/R/test_transparent_mv_iceberg_part1
# test/sql/test_transparent_mv/R/test_transparent_mv_iceberg_part2
# test/sql/test_transparent_mv/R/test_transparent_mv_mysql
# test/sql/test_transparent_mv/R/test_transparent_mv_union_iceberg
# test/sql/test_transparent_mv/T/test_transparent_mv_hive
# test/sql/test_transparent_mv/T/test_transparent_mv_iceberg_part1
# test/sql/test_transparent_mv/T/test_transparent_mv_iceberg_part2
# test/sql/test_transparent_mv/T/test_transparent_mv_mysql
# test/sql/test_transparent_mv/T/test_transparent_mv_union_iceberg
# test/test_sql_cases.py
# thirdparty/build-thirdparty.sh
# thirdparty/download-thirdparty.sh
# thirdparty/starlet-artifacts-version.sh
# thirdparty/vars-aarch64.sh
# thirdparty/vars-ubuntu22-aarch64.sh
# thirdparty/vars-ubuntu22-x86_64.sh
# thirdparty/vars-x86_64.sh
# thirdparty/vars.sh
# tools/stream_load/README.md
# trivy.yaml
---
.github/CODEOWNERS | 136 ++
.github/PULL_REQUEST_TEMPLATE.md | 8 +
.github/workflows/ci-comment-tools.yml | 29 +
.github/workflows/ci-merged-sonarcloud-fe.yml | 8 +
.github/workflows/ci-merged.yml | 42 +
.github/workflows/ci-pipeline-branch.yml | 12 +
.github/workflows/ci-pipeline.yml | 304 ++-
.github/workflows/ci-report.yml | 129 ++
.github/workflows/ci-sync.yml | 22 +
.github/workflows/inspection-pipeline.yml | 128 ++
.github/workflows/pr-checker.yml | 20 +
.github/workflows/releasenotes404.yaml | 32 +
.gitignore | 4 +
.trivyignore | 5 +
README.md | 42 +
be/.gitignore | 4 +
be/CMakeLists.txt | 263 +++
be/cmake_modules/FindClangTidy.cmake | 22 +
be/cmake_modules/FindGlibcVersion.cmake | 25 +
be/extension/python-udf/src/flight_server.py | 155 ++
be/src/agent/agent_task.cpp | 31 +
be/src/agent/finish_task.cpp | 13 +
be/src/agent/heartbeat_server.cpp | 17 +
be/src/agent/publish_version.cpp | 17 +
be/src/agent/report_task.cpp | 4 +
be/src/agent/task_worker_pool.cpp | 5 +
be/src/agent/utils.cpp | 34 +
be/src/agent/utils.h | 7 +
be/src/bench/CMakeLists.txt | 5 +
be/src/bench/bit_copy.h | 86 +
be/src/bench/bit_unpack_bench.cpp | 350 ++++
be/src/bench/block_cache_bench.cpp | 21 +
be/src/bench/chunks_sorter_bench.cpp | 20 +
be/src/bench/csv_reader_bench.cpp | 8 +
be/src/bench/get_dict_codes_bench.cpp | 4 +
be/src/bench/mem_equal_bench.cpp | 145 ++
be/src/bench/orc_column_reader_bench.cpp | 10 +-
be/src/bench/parquet_dict_decode_bench.cpp | 13 +
be/src/bench/persistent_index_bench.cpp | 18 +-
be/src/bench/runtime_filter_bench.cpp | 14 +
be/src/bench/shuffle_chunk_bench.cpp | 189 ++
be/src/block_cache/CMakeLists.txt | 6 +
be/src/block_cache/block_cache.cpp | 23 +
be/src/block_cache/block_cache.h | 15 +
be/src/block_cache/cache_options.h | 19 +
be/src/block_cache/datacache_utils.cpp | 30 +
be/src/block_cache/datacache_utils.h | 10 +-
be/src/block_cache/disk_space_monitor.cpp | 12 +
be/src/block_cache/kv_cache.h | 9 +
be/src/block_cache/starcache_wrapper.cpp | 29 +
be/src/block_cache/starcache_wrapper.h | 10 +
be/src/column/adaptive_nullable_column.cpp | 43 +
be/src/column/adaptive_nullable_column.h | 22 +
be/src/column/array_column.h | 9 +
be/src/column/array_view_column.h | 9 +
be/src/column/binary_column.cpp | 107 +
be/src/column/binary_column.h | 25 +
be/src/column/bytes.h | 8 +
be/src/column/chunk.cpp | 12 +
be/src/column/chunk.h | 13 +
be/src/column/column.cpp | 4 +
be/src/column/column.h | 53 +
be/src/column/column_builder.h | 4 +
be/src/column/column_hash.h | 18 +
be/src/column/column_helper.cpp | 40 +
be/src/column/column_helper.h | 15 +
be/src/column/column_viewer.cpp | 16 +
be/src/column/const_column.cpp | 4 +
be/src/column/const_column.h | 26 +
be/src/column/datum.h | 7 +
be/src/column/field.h | 81 +
be/src/column/fixed_length_column_base.cpp | 18 +
be/src/column/fixed_length_column_base.h | 25 +
be/src/column/hash_set.h | 4 +
be/src/column/json_column.cpp | 13 +
be/src/column/json_column.h | 4 +
be/src/column/map_column.h | 10 +
be/src/column/nullable_column.cpp | 26 +
be/src/column/nullable_column.h | 23 +
be/src/column/object_column.cpp | 11 +
be/src/column/object_column.h | 21 +
be/src/column/schema.cpp | 7 +
be/src/column/struct_column.cpp | 11 +
be/src/column/struct_column.h | 7 +
be/src/column/vectorized_fwd.h | 24 +
be/src/common/config.h | 151 ++
be/src/common/daemon.cpp | 56 +
be/src/common/format_ip.h | 86 +
be/src/common/logconfig.cpp | 3 +
be/src/common/logging.h | 6 +
be/src/common/status.cpp | 5 +
be/src/common/status.h | 10 +
be/src/common/vlog_cntl.h | 46 +
be/src/connector/CMakeLists.txt | 4 +
be/src/connector/connector.cpp | 16 +
be/src/connector/connector.h | 8 +
.../deletion_vector/deletion_vector.cpp | 170 ++
.../deletion_vector/deletion_vector.h | 57 +
be/src/connector/hive_connector.cpp | 120 ++
be/src/connector/hive_connector.h | 32 +
be/src/connector/lake_connector.cpp | 124 ++
be/src/connector/lake_connector.h | 32 +
be/src/exec/CMakeLists.txt | 12 +
be/src/exec/aggregate/agg_hash_map.h | 147 ++
be/src/exec/aggregate/agg_hash_set.h | 424 ++++
be/src/exec/aggregate/aggregate_base_node.cpp | 3 +
be/src/exec/aggregator.cpp | 223 ++
be/src/exec/aggregator.h | 99 +
be/src/exec/analytor.cpp | 98 +
be/src/exec/analytor.h | 49 +
be/src/exec/arrow_flight_batch_reader.cpp | 45 +
be/src/exec/arrow_flight_batch_reader.h | 34 +
be/src/exec/arrow_to_starrocks_converter.cpp | 17 +
be/src/exec/arrow_to_starrocks_converter.h | 7 +
be/src/exec/capture_version_node.cpp | 6 +
be/src/exec/chunks_sorter.cpp | 4 +
be/src/exec/chunks_sorter.h | 28 +
be/src/exec/chunks_sorter_full_sort.h | 12 +
be/src/exec/chunks_sorter_heap_sort.h | 6 +
be/src/exec/chunks_sorter_topn.h | 34 +
be/src/exec/connector_scan_node.cpp | 6 +
be/src/exec/csv_scanner.cpp | 12 +
be/src/exec/csv_scanner.h | 8 +
be/src/exec/data_sink.cpp | 5 +
be/src/exec/data_sink.h | 23 +
be/src/exec/dictionary_cache_writer.h | 3 +
be/src/exec/es/es_predicate.cpp | 6 +
be/src/exec/es/es_scan_reader.cpp | 5 +
be/src/exec/except_hash_set.cpp | 9 +
be/src/exec/except_hash_set.h | 4 +
be/src/exec/exec_node.h | 57 +
be/src/exec/file_scanner.cpp | 4 +
be/src/exec/hash_join_components.cpp | 751 +++++++
be/src/exec/hash_join_components.h | 168 ++
be/src/exec/hash_join_node.cpp | 23 +
be/src/exec/hash_join_node.h | 11 +
be/src/exec/hash_joiner.cpp | 181 ++
be/src/exec/hash_joiner.h | 108 +
be/src/exec/hdfs_scanner.cpp | 101 +
be/src/exec/hdfs_scanner.h | 77 +
be/src/exec/hdfs_scanner_orc.cpp | 21 +
be/src/exec/hdfs_scanner_parquet.cpp | 48 +
be/src/exec/hdfs_scanner_text.cpp | 4 +
.../exec/iceberg/iceberg_delete_builder.cpp | 276 +++
be/src/exec/iceberg/iceberg_delete_builder.h | 35 +
be/src/exec/intersect_hash_set.cpp | 16 +
be/src/exec/intersect_hash_set.h | 4 +
be/src/exec/jdbc_scanner.cpp | 11 +
be/src/exec/jdbc_scanner.h | 28 +
be/src/exec/jni_scanner.cpp | 23 +
be/src/exec/jni_scanner.h | 7 +
be/src/exec/join_hash_map.cpp | 37 +
be/src/exec/join_hash_map.h | 48 +
be/src/exec/join_hash_map.tpp | 44 +
be/src/exec/json_scanner.cpp | 43 +
be/src/exec/json_scanner.h | 8 +
be/src/exec/local_file_writer.cpp | 18 +
be/src/exec/olap_common.cpp | 93 +
be/src/exec/olap_common.h | 22 +
be/src/exec/olap_scan_node.cpp | 86 +
be/src/exec/olap_scan_node.h | 15 +
be/src/exec/olap_scan_prepare.cpp | 770 +++++++
be/src/exec/olap_scan_prepare.h | 159 ++
be/src/exec/olap_utils.h | 34 +
be/src/exec/orc_scanner.cpp | 6 +
be/src/exec/parquet_reader.cpp | 4 +
be/src/exec/parquet_reader.h | 9 +
be/src/exec/parquet_scanner.cpp | 35 +
be/src/exec/partition/chunks_partitioner.cpp | 19 +
be/src/exec/partition/chunks_partitioner.h | 21 +
be/src/exec/partition/partition_hash_map.h | 11 +
.../exec/partition/partition_hash_variant.cpp | 10 +
.../exec/partition/partition_hash_variant.h | 5 +
.../aggregate_blocking_sink_operator.h | 15 +
.../aggregate_blocking_source_operator.h | 8 +
...ggregate_distinct_blocking_sink_operator.h | 15 +
...regate_distinct_blocking_source_operator.h | 8 +
...gregate_distinct_streaming_sink_operator.h | 24 +
...egate_distinct_streaming_source_operator.h | 11 +
.../aggregate_streaming_sink_operator.h | 26 +
.../aggregate_streaming_source_operator.h | 11 +
...sorted_aggregate_streaming_sink_operator.h | 10 +
...rted_aggregate_streaming_source_operator.h | 9 +
...illable_aggregate_blocking_sink_operator.h | 25 +
...lable_aggregate_blocking_source_operator.h | 18 +
...ble_aggregate_distinct_blocking_operator.h | 38 +
.../pipeline/audit_statistics_reporter.cpp | 18 +
.../exec/pipeline/audit_statistics_reporter.h | 4 +
.../exec/pipeline/chunk_accumulate_operator.h | 4 +
.../exec/pipeline/context_with_dependency.h | 4 +
.../exchange/exchange_sink_operator.cpp | 17 +
.../exchange/local_exchange_sink_operator.h | 5 +
.../exchange/local_exchange_source_operator.h | 12 +
.../exchange/mem_limited_chunk_queue.cpp | 3 +
.../multi_cast_local_exchange_sink_operator.h | 5 +
...ulti_cast_local_exchange_source_operator.h | 5 +
be/src/exec/pipeline/exchange/sink_buffer.cpp | 134 ++
be/src/exec/pipeline/exchange/sink_buffer.h | 51 +
be/src/exec/pipeline/exec_state_reporter.cpp | 34 +
be/src/exec/pipeline/fragment_context.cpp | 55 +
be/src/exec/pipeline/fragment_context.h | 20 +
be/src/exec/pipeline/fragment_executor.cpp | 208 ++
be/src/exec/pipeline/fragment_executor.h | 5 +
.../exec/pipeline/hash_partition_context.cpp | 10 +
be/src/exec/pipeline/hash_partition_context.h | 4 +
.../hashjoin/hash_join_build_operator.cpp | 32 +
.../hashjoin/hash_join_build_operator.h | 18 +
.../hashjoin/hash_join_probe_operator.cpp | 39 +
.../hashjoin/hash_join_probe_operator.h | 8 +
.../exec/pipeline/hashjoin/hash_joiner_fwd.h | 31 +
.../spillable_hash_join_build_operator.cpp | 95 +
.../spillable_hash_join_build_operator.h | 25 +
.../spillable_hash_join_probe_operator.cpp | 34 +
.../spillable_hash_join_probe_operator.h | 12 +
be/src/exec/pipeline/limit_operator.cpp | 24 +
be/src/exec/pipeline/limit_operator.h | 5 +
.../pipeline/nljoin/nljoin_build_operator.h | 4 +
.../exec/pipeline/nljoin/nljoin_context.cpp | 8 +
be/src/exec/pipeline/nljoin/nljoin_context.h | 10 +
.../pipeline/nljoin/nljoin_probe_operator.cpp | 24 +
.../pipeline/nljoin/nljoin_probe_operator.h | 12 +
.../nljoin/spillable_nljoin_probe_operator.h | 4 +
be/src/exec/pipeline/operator.cpp | 50 +
be/src/exec/pipeline/operator.h | 11 +
be/src/exec/pipeline/pipeline.h | 9 +
be/src/exec/pipeline/pipeline_driver.cpp | 16 +
be/src/exec/pipeline/pipeline_driver.h | 20 +
be/src/exec/pipeline/pipeline_fwd.h | 9 +
be/src/exec/pipeline/query_context.cpp | 64 +
be/src/exec/pipeline/query_context.h | 69 +
be/src/exec/pipeline/result_sink_operator.cpp | 49 +
be/src/exec/pipeline/result_sink_operator.h | 37 +
be/src/exec/pipeline/runtime_filter_types.h | 63 +
be/src/exec/pipeline/scan/chunk_source.h | 4 +
.../pipeline/scan/connector_scan_operator.cpp | 33 +
.../pipeline/scan/connector_scan_operator.h | 11 +
.../exec/pipeline/scan/meta_scan_operator.cpp | 11 +
.../exec/pipeline/scan/meta_scan_operator.h | 4 +
.../scan/meta_scan_prepare_operator.cpp | 8 +
be/src/exec/pipeline/scan/morsel.cpp | 117 ++
be/src/exec/pipeline/scan/morsel.h | 65 +
.../exec/pipeline/scan/olap_chunk_source.cpp | 179 ++
be/src/exec/pipeline/scan/olap_chunk_source.h | 33 +
.../exec/pipeline/scan/olap_scan_context.cpp | 40 +
be/src/exec/pipeline/scan/olap_scan_context.h | 8 +
.../exec/pipeline/scan/olap_scan_operator.cpp | 5 +
.../exec/pipeline/scan/olap_scan_operator.h | 4 +
be/src/exec/pipeline/scan/scan_operator.cpp | 23 +
be/src/exec/pipeline/scan/scan_operator.h | 65 +
.../pipeline/scan/schema_scan_operator.cpp | 3 +
.../exec/pipeline/scan/schema_scan_operator.h | 4 +
be/src/exec/pipeline/select_operator.cpp | 34 +
be/src/exec/pipeline/select_operator.h | 28 +
.../sort/local_partition_topn_context.cpp | 286 +++
.../sort/local_partition_topn_context.h | 134 ++
be/src/exec/pipeline/sort/sort_context.cpp | 8 +
be/src/exec/pipeline/sort/sort_context.h | 14 +
be/src/exec/pipeline/stream_epoch_manager.h | 13 +
be/src/exec/pipeline/stream_pipeline_driver.h | 9 +
.../exec/pipeline/table_function_operator.h | 18 +
be/src/exec/query_cache/cache_manager.h | 4 +
be/src/exec/query_cache/cache_operator.cpp | 138 ++
be/src/exec/query_cache/cache_operator.h | 4 +
be/src/exec/query_cache/cache_param.h | 4 +
be/src/exec/query_cache/multilane_operator.h | 32 +
be/src/exec/scan_node.cpp | 22 +
be/src/exec/scan_node.h | 4 +
be/src/exec/schema_scan_node.cpp | 4 +
be/src/exec/select_node.cpp | 20 +
be/src/exec/select_node.h | 9 +
be/src/exec/sorted_streaming_aggregator.cpp | 41 +
be/src/exec/sorted_streaming_aggregator.h | 9 +
be/src/exec/sorting/compare_column.cpp | 4 +
be/src/exec/sorting/merge.h | 34 +
be/src/exec/sorting/merge_column.cpp | 33 +
be/src/exec/sorting/sort_permute.h | 4 +
be/src/exec/sorting/sorting.h | 5 +
be/src/exec/spill/common.h | 8 +
be/src/exec/spill/mem_table.cpp | 4 +
be/src/exec/spill/mem_table.h | 15 +
be/src/exec/spill/spiller.h | 8 +
.../exec/stream/aggregate/agg_group_state.cpp | 9 +
.../exec/stream/aggregate/agg_group_state.h | 29 +
.../exec/stream/aggregate/agg_state_data.cpp | 4 +
be/src/exec/stream/aggregate/agg_state_data.h | 21 +
.../aggregate/stream_aggregate_operator.h | 14 +
.../exec/stream/aggregate/stream_aggregator.h | 48 +
.../exec/stream/scan/stream_scan_operator.h | 30 +
be/src/exec/stream/state/mem_state_table.cpp | 45 +
be/src/exec/stream/state/mem_state_table.h | 27 +
be/src/exec/stream/state/state_table.h | 25 +
be/src/exec/tablet_info.cpp | 56 +
be/src/exec/tablet_info.h | 13 +
be/src/exec/tablet_scanner.cpp | 29 +
be/src/exec/tablet_scanner.h | 4 +
be/src/exec/tablet_sink.cpp | 40 +
be/src/exec/tablet_sink.h | 4 +
be/src/exec/tablet_sink_index_channel.cpp | 12 +
be/src/exec/tablet_sink_index_channel.h | 15 +
be/src/exec/tablet_sink_sender.cpp | 4 +
be/src/exec/topn_node.cpp | 27 +
be/src/exec/topn_node.h | 5 +
be/src/exec/union_node.h | 17 +
be/src/exec/write_combined_txn_log.h | 4 +
be/src/exprs/CMakeLists.txt | 34 +
be/src/exprs/agg/agg_state_merge.h | 90 +
be/src/exprs/agg/agg_state_union.h | 84 +
be/src/exprs/agg/aggregate.h | 56 +
be/src/exprs/agg/aggregate_factory.h | 6 +
be/src/exprs/agg/aggregate_state_allocator.h | 112 +
be/src/exprs/agg/approx_top_k.h | 8 +
be/src/exprs/agg/array_agg.h | 30 +
be/src/exprs/agg/array_union_agg.h | 14 +
be/src/exprs/agg/avg.h | 11 +
be/src/exprs/agg/bitmap_agg.h | 4 +
be/src/exprs/agg/count.h | 8 +
be/src/exprs/agg/distinct.h | 158 ++
be/src/exprs/agg/ds_hll_count_distinct.h | 240 +++
.../exprs/agg/factory/aggregate_factory.cpp | 56 +
.../exprs/agg/factory/aggregate_factory.hpp | 55 +
.../exprs/agg/factory/aggregate_resolver.hpp | 7 +
.../agg/factory/aggregate_resolver_approx.cpp | 6 +
.../agg/factory/aggregate_resolver_avg.cpp | 32 +
.../aggregate_resolver_hypothesis_testing.cpp | 26 +
.../factory/aggregate_resolver_minmaxany.cpp | 9 +
.../agg/factory/aggregate_resolver_others.cpp | 23 +
be/src/exprs/agg/group_concat.h | 4 +
.../exprs/agg/helpers/serialize_helpers.hpp | 258 +++
be/src/exprs/agg/hll_ndv.h | 37 +
be/src/exprs/agg/hll_union.h | 21 +
be/src/exprs/agg/hll_union_count.h | 32 +
be/src/exprs/agg/hypothesis_testing_common.h | 63 +
be/src/exprs/agg/java_udaf_function.h | 8 +
be/src/exprs/agg/mann_whitney.h | 355 ++++
be/src/exprs/agg/map_agg.h | 160 ++
be/src/exprs/agg/nullable_aggregate.h | 16 +
be/src/exprs/agg/percentile_approx.h | 21 +
be/src/exprs/agg/percentile_cont.h | 275 ++-
be/src/exprs/agg/percentile_union.h | 26 +
be/src/exprs/agg/sum.h | 4 +
be/src/exprs/agg/window.h | 8 +
be/src/exprs/agg_state_function.h | 95 +
be/src/exprs/arithmetic_expr.cpp | 58 +
be/src/exprs/arithmetic_operation.h | 48 +
be/src/exprs/array_element_expr.cpp | 4 +
be/src/exprs/array_functions.tpp | 4 +
be/src/exprs/array_map_expr.cpp | 3 +
be/src/exprs/arrow_function_call.cpp | 135 ++
be/src/exprs/arrow_function_call.h | 47 +
be/src/exprs/binary_predicate.cpp | 33 +
be/src/exprs/bitmap_functions.cpp | 5 +
be/src/exprs/builtin_functions.h | 6 +
be/src/exprs/case_expr.cpp | 18 +
be/src/exprs/cast_expr.cpp | 56 +
be/src/exprs/cast_expr.h | 41 +
be/src/exprs/cast_expr_struct.cpp | 133 ++
be/src/exprs/compound_predicate.cpp | 35 +
be/src/exprs/debug_expr.cpp | 4 +
be/src/exprs/debug_expr.h | 4 +
be/src/exprs/decimal_binary_function.h | 8 +
be/src/exprs/expr.cpp | 57 +
be/src/exprs/expr.h | 64 +
be/src/exprs/expr_context.cpp | 9 +
be/src/exprs/expr_context.h | 23 +
be/src/exprs/function_call_expr.cpp | 68 +
be/src/exprs/function_call_expr.h | 28 +
be/src/exprs/function_context.cpp | 5 +
be/src/exprs/function_context.h | 37 +
be/src/exprs/function_helper.cpp | 62 +
be/src/exprs/function_helper.h | 22 +
be/src/exprs/in_const_predicate.hpp | 24 +
be/src/exprs/inet_aton.cpp | 48 +
be/src/exprs/java_function_call_expr.cpp | 11 +
be/src/exprs/java_function_call_expr.h | 6 +
be/src/exprs/jit/jit_expr.cpp | 3 +
be/src/exprs/json_functions.h | 26 +
be/src/exprs/like_predicate.cpp | 4 +
be/src/exprs/literal.cpp | 19 +
be/src/exprs/literal.h | 8 +
be/src/exprs/locate.cpp | 4 +
be/src/exprs/map_apply_expr.cpp | 3 +
be/src/exprs/map_functions.cpp | 4 +
be/src/exprs/math_functions.cpp | 113 +
be/src/exprs/math_functions.h | 12 +
be/src/exprs/min_max_predicate.h | 150 ++
be/src/exprs/percentile_functions.cpp | 39 +
be/src/exprs/regexp_split.cpp | 115 ++
be/src/exprs/regexp_split.h | 44 +
be/src/exprs/runtime_filter_bank.cpp | 28 +
be/src/exprs/runtime_filter_bank.h | 14 +
be/src/exprs/split.cpp | 4 +
be/src/exprs/string_functions.cpp | 230 +++
be/src/exprs/string_functions.h | 24 +
be/src/exprs/table_function/generate_series.h | 12 +
.../exprs/table_function/java_udtf_function.h | 9 +
be/src/exprs/table_function/json_each.h | 12 +
be/src/exprs/table_function/list_rowsets.cpp | 4 +
be/src/exprs/table_function/list_rowsets.h | 12 +
be/src/exprs/table_function/multi_unnest.h | 12 +
.../exprs/table_function/subdivide_bitmap.h | 17 +
be/src/exprs/table_function/table_function.h | 13 +
be/src/exprs/table_function/unnest.h | 12 +
be/src/exprs/unary_function.h | 3 +
be/src/exprs/utility_functions.cpp | 69 +
be/src/exprs/utility_functions.h | 9 +
be/src/formats/CMakeLists.txt | 10 +
be/src/formats/csv/json_converter.h | 6 +
.../orc/apache-orc/c++/include/orc/Common.hh | 45 +
.../formats/orc/apache-orc/c++/src/Int128.cc | 4 +
.../orc/apache-orc/c++/src/Statistics.hh | 5 +
be/src/formats/orc/orc_chunk_reader.cpp | 10 +
be/src/formats/parquet/chunk_writer.cpp | 15 +
be/src/formats/parquet/chunk_writer.h | 33 +
.../formats/parquet/column_chunk_reader.cpp | 42 +
be/src/formats/parquet/column_chunk_reader.h | 38 +
.../formats/parquet/column_chunk_writer.cpp | 6 +
be/src/formats/parquet/column_chunk_writer.h | 11 +
be/src/formats/parquet/column_converter.cpp | 35 +
be/src/formats/parquet/column_converter.h | 14 +
.../formats/parquet/column_read_order_ctx.cpp | 10 +
.../formats/parquet/column_read_order_ctx.h | 9 +
be/src/formats/parquet/column_reader.cpp | 33 +
be/src/formats/parquet/column_reader.h | 115 ++
.../formats/parquet/column_reader_factory.cpp | 266 +++
.../formats/parquet/column_reader_factory.h | 46 +
.../formats/parquet/complex_column_reader.cpp | 354 ++++
.../formats/parquet/complex_column_reader.h | 222 ++
be/src/formats/parquet/encoding.cpp | 8 +
be/src/formats/parquet/encoding.h | 15 +
be/src/formats/parquet/encoding_dict.h | 26 +
be/src/formats/parquet/file_reader.cpp | 328 +++
be/src/formats/parquet/file_reader.h | 78 +
be/src/formats/parquet/file_writer.cpp | 28 +
be/src/formats/parquet/file_writer.h | 46 +
be/src/formats/parquet/group_reader.cpp | 226 ++
be/src/formats/parquet/group_reader.h | 76 +
be/src/formats/parquet/level_builder.cpp | 23 +
be/src/formats/parquet/level_builder.h | 26 +
be/src/formats/parquet/level_codec.cpp | 7 +
be/src/formats/parquet/level_codec.h | 13 +
be/src/formats/parquet/meta_helper.cpp | 24 +
be/src/formats/parquet/meta_helper.h | 43 +
be/src/formats/parquet/metadata.cpp | 169 ++
be/src/formats/parquet/metadata.h | 48 +
be/src/formats/parquet/page_index_reader.cpp | 21 +
be/src/formats/parquet/page_index_reader.h | 34 +
be/src/formats/parquet/page_reader.cpp | 11 +
be/src/formats/parquet/page_reader.h | 10 +
.../formats/parquet/parquet_file_writer.cpp | 38 +
be/src/formats/parquet/parquet_file_writer.h | 55 +
.../formats/parquet/scalar_column_reader.cpp | 420 ++++
be/src/formats/parquet/scalar_column_reader.h | 157 ++
be/src/formats/parquet/schema.cpp | 10 +
be/src/formats/parquet/schema.h | 8 +
be/src/formats/parquet/statistics_helper.cpp | 67 +-
be/src/formats/parquet/statistics_helper.h | 27 +-
.../formats/parquet/stored_column_reader.cpp | 25 +
be/src/formats/parquet/stored_column_reader.h | 34 +
.../stored_column_reader_with_index.cpp | 12 +
.../parquet/stored_column_reader_with_index.h | 26 +
be/src/formats/parquet/utils.cpp | 46 +
be/src/formats/parquet/utils.h | 18 +
.../parquet/zone_map_filter_evaluator.h | 102 +
be/src/fs/CMakeLists.txt | 13 +
be/src/fs/fs.cpp | 33 +
be/src/fs/fs.h | 45 +
be/src/fs/fs_broker.cpp | 22 +
be/src/fs/fs_s3.cpp | 169 ++
be/src/fs/fs_s3.h | 94 +
be/src/fs/fs_starlet.cpp | 4 +
be/src/fs/hdfs/fs_hdfs.cpp | 28 +
be/src/fs/s3/poco_common.cpp | 139 ++
be/src/fs/s3/poco_common.h | 119 ++
be/src/fs/s3/poco_http_client.cpp | 206 ++
be/src/fs/s3/poco_http_client.h | 52 +
be/src/fs/s3/poco_http_client_factory.cpp | 44 +
be/src/fs/s3/poco_http_client_factory.h | 41 +
be/src/fs/s3/pool_base.h | 130 ++
be/src/gen_cpp/CMakeLists.txt | 3 +
be/src/geo/wkt_parse.cpp | 4 +
be/src/geo/wkt_yacc.y | 12 +
be/src/gutil/CMakeLists.txt | 5 +
be/src/gutil/strings/join.h | 4 +
be/src/http/action/checksum_action.cpp | 3 +
be/src/http/action/datacache_action.cpp | 3 +
be/src/http/action/memory_metrics_action.cpp | 3 +
be/src/http/action/metrics_action.h | 6 +
be/src/http/action/stream_load.cpp | 73 +
be/src/http/action/stream_load.h | 9 +
be/src/http/action/update_config_action.cpp | 16 +
be/src/http/default_path_handlers.cpp | 3 +
be/src/http/download_action.cpp | 3 +
be/src/http/http_client.h | 7 +
be/src/http/http_common.h | 11 +
be/src/io/cache_input_stream.cpp | 7 +
be/src/io/cache_input_stream.h | 9 +
be/src/io/cache_select_input_stream.hpp | 11 +-
be/src/io/direct_s3_output_stream.cpp | 20 +
be/src/io/s3_input_stream.cpp | 84 +
be/src/io/s3_input_stream.h | 25 +
be/src/io/s3_output_stream.cpp | 12 +
be/src/io/s3_zero_copy_iostream.h | 51 +
be/src/runtime/CMakeLists.txt | 34 +
be/src/runtime/agg_state_desc.cpp | 124 ++
be/src/runtime/agg_state_desc.h | 114 +
be/src/runtime/arrow_result_writer.cpp | 85 +
be/src/runtime/arrow_result_writer.h | 62 +
.../runtime/batch_write/batch_write_mgr.cpp | 227 ++
be/src/runtime/batch_write/batch_write_mgr.h | 67 +
.../runtime/batch_write/batch_write_util.cpp | 105 +
be/src/runtime/batch_write/batch_write_util.h | 64 +
.../batch_write/isomorphic_batch_write.cpp | 464 +++++
.../batch_write/isomorphic_batch_write.h | 89 +
be/src/runtime/broker_mgr.cpp | 14 +
be/src/runtime/buffer_control_block.cpp | 134 ++
be/src/runtime/buffer_control_block.h | 46 +
.../runtime/buffer_control_result_writer.cpp | 63 +
be/src/runtime/buffer_control_result_writer.h | 48 +
be/src/runtime/chunk_cursor.h | 4 +
be/src/runtime/customized_result_writer.cpp | 19 +
be/src/runtime/customized_result_writer.h | 19 +
be/src/runtime/data_stream_mgr.h | 4 +
be/src/runtime/data_stream_sender.cpp | 15 +
be/src/runtime/data_stream_sender.h | 3 +
be/src/runtime/descriptors.cpp | 99 +
be/src/runtime/descriptors.h | 40 +
be/src/runtime/exec_env.cpp | 88 +
be/src/runtime/exec_env.h | 36 +
be/src/runtime/file_result_writer.h | 5 +
be/src/runtime/fragment_mgr.cpp | 59 +
be/src/runtime/fragment_mgr.h | 27 +
be/src/runtime/global_dict/miscs.cpp | 4 +
be/src/runtime/global_dict/parser.cpp | 4 +
be/src/runtime/global_dict/parser.h | 17 +
be/src/runtime/global_variables.cpp | 27 +
be/src/runtime/global_variables.h | 48 +
be/src/runtime/http_result_writer.cpp | 14 +
be/src/runtime/http_result_writer.h | 20 +
be/src/runtime/lake_snapshot_loader.cpp | 3 +
be/src/runtime/lake_tablets_channel.cpp | 132 ++
be/src/runtime/load_channel.cpp | 81 +
be/src/runtime/load_channel.h | 17 +
be/src/runtime/load_path_mgr.cpp | 3 +
be/src/runtime/local_tablets_channel.cpp | 189 ++
be/src/runtime/local_tablets_channel.h | 30 +
be/src/runtime/mem_pool.h | 29 +
be/src/runtime/memory/allocator.h | 72 +
be/src/runtime/memory/column_allocator.cpp | 21 +
be/src/runtime/memory/column_allocator.h | 82 +
be/src/runtime/memory/counting_allocator.h | 180 ++
be/src/runtime/memory/mem_hook_allocator.h | 45 +
be/src/runtime/memory/roaring_hook.cpp | 73 +
be/src/runtime/memory/roaring_hook.h | 32 +
be/src/runtime/metadata_result_writer.cpp | 24 +
be/src/runtime/metadata_result_writer.h | 18 +
be/src/runtime/mysql_result_writer.cpp | 28 +
be/src/runtime/mysql_result_writer.h | 20 +
be/src/runtime/plan_fragment_executor.cpp | 10 +
be/src/runtime/query_statistics.cpp | 68 +
be/src/runtime/query_statistics.h | 34 +
be/src/runtime/result_buffer_mgr.cpp | 24 +
be/src/runtime/result_buffer_mgr.h | 23 +
be/src/runtime/result_queue_mgr.h | 8 +
be/src/runtime/result_sink.cpp | 4 +
be/src/runtime/result_sink.h | 8 +
be/src/runtime/result_writer.h | 27 +
be/src/runtime/runtime_filter_worker.cpp | 84 +
be/src/runtime/runtime_filter_worker.h | 20 +
be/src/runtime/runtime_state.cpp | 28 +
be/src/runtime/runtime_state.h | 51 +
be/src/runtime/schema_table_sink.cpp | 4 +
be/src/runtime/small_file_mgr.h | 18 +
be/src/runtime/snapshot_loader.cpp | 13 +
be/src/runtime/statistic_result_writer.cpp | 71 +
be/src/runtime/statistic_result_writer.h | 26 +
.../stream_load/stream_load_context.cpp | 24 +
.../runtime/stream_load/stream_load_context.h | 23 +
.../runtime/stream_load/stream_load_pipe.cpp | 51 +
be/src/runtime/stream_load/stream_load_pipe.h | 63 +
.../time_bounded_stream_load_pipe.cpp | 44 +
.../time_bounded_stream_load_pipe.h | 67 +
be/src/runtime/stream_load/transaction_mgr.h | 4 +
be/src/runtime/table_function_table_sink.cpp | 12 +
be/src/runtime/table_function_table_sink.h | 4 +
be/src/runtime/tablets_channel.h | 14 +
be/src/runtime/time_types.h | 4 +
be/src/runtime/types.cpp | 8 +
be/src/runtime/types.h | 5 +
be/src/runtime/user_function_cache.cpp | 20 +
be/src/runtime/user_function_cache.h | 7 +
be/src/runtime/variable_result_writer.cpp | 19 +
be/src/runtime/variable_result_writer.h | 16 +
be/src/script/CMakeLists.txt | 5 +
be/src/script/script.cpp | 25 +
be/src/serde/column_array_serde.cpp | 20 +
be/src/service/CMakeLists.txt | 4 +
be/src/service/internal_service.cpp | 58 +
be/src/service/internal_service.h | 12 +
be/src/service/mem_hook.cpp | 183 ++
be/src/service/service_be/CMakeLists.txt | 4 +
.../service_be/arrow_flight_sql_service.cpp | 96 +
.../service_be/arrow_flight_sql_service.h | 45 +
.../service/service_be/internal_service.cpp | 3 +
be/src/service/service_be/internal_service.h | 3 +
be/src/service/service_be/lake_service.cpp | 76 +
be/src/service/service_be/lake_service.h | 5 +
be/src/service/service_be/starrocks_be.cpp | 140 ++
be/src/service/staros_worker.cpp | 12 +
be/src/service/staros_worker.h | 8 +
be/src/service/starrocks_main.cpp | 19 +
be/src/simd/multi_version.h | 39 +
be/src/simd/simd.h | 134 ++
be/src/starrocks_format/CMakeLists.txt | 82 +
be/src/starrocks_format/starrocks_lib.cpp | 84 +
be/src/starrocks_format/starrocks_lib.h | 27 +
be/src/storage/CMakeLists.txt | 53 +
be/src/storage/aggregate_iterator.cpp | 8 +
be/src/storage/aggregate_type.cpp | 21 +
be/src/storage/aggregate_type.h | 6 +
be/src/storage/async_delta_writer.cpp | 4 +
be/src/storage/base_tablet.h | 10 +
be/src/storage/chunk_aggregator.cpp | 16 +
be/src/storage/chunk_helper.cpp | 494 +++++
be/src/storage/chunk_helper.h | 85 +
be/src/storage/chunk_iterator.cpp | 8 +
be/src/storage/chunk_iterator.h | 28 +
be/src/storage/column_aggregate_func.cpp | 84 +
be/src/storage/column_aggregate_func.h | 9 +
be/src/storage/column_and_predicate.cpp | 80 +
be/src/storage/column_and_predicate.h | 58 +
be/src/storage/column_expr_predicate.h | 30 +
be/src/storage/column_in_predicate.cpp | 137 ++
be/src/storage/column_not_in_predicate.cpp | 35 +
be/src/storage/column_null_predicate.cpp | 27 +
be/src/storage/column_operator_predicate.h | 5 +
be/src/storage/column_or_predicate.cpp | 16 +
be/src/storage/column_or_predicate.h | 9 +
be/src/storage/column_predicate.h | 47 +
be/src/storage/column_predicate_cmp.cpp | 108 +
.../storage/column_predicate_dict_conjuct.cpp | 4 +
be/src/storage/column_predicate_rewriter.cpp | 474 +++++
be/src/storage/column_predicate_rewriter.h | 101 +
be/src/storage/compaction.cpp | 16 +
be/src/storage/compaction_manager.h | 7 +
be/src/storage/compaction_task.cpp | 16 +
be/src/storage/compaction_task.h | 8 +
be/src/storage/compaction_utils.cpp | 8 +
be/src/storage/compaction_utils.h | 4 +
be/src/storage/delta_writer.cpp | 59 +
be/src/storage/delta_writer.h | 89 +
be/src/storage/horizontal_compaction_task.cpp | 6 +
be/src/storage/index/index_descriptor.h | 58 +
.../clucene/clucene_inverted_reader.cpp | 162 ++
.../clucene/clucene_inverted_reader.h | 86 +
.../inverted/clucene/clucene_inverted_util.h | 41 +
.../clucene/clucene_inverted_writer.cpp | 260 +++
.../clucene/clucene_inverted_writer.h | 54 +
.../index/inverted/clucene/clucene_plugin.cpp | 31 +
.../index/inverted/clucene/clucene_plugin.h | 53 +
.../clucene/clucene_roaring_hit_collector.h | 29 +
.../index/inverted/clucene/match_operator.cpp | 73 +
.../index/inverted/clucene/match_operator.h | 122 ++
.../index/inverted/inverted_index_common.h | 66 +
.../inverted/inverted_index_iterator.cpp | 38 +
.../index/inverted/inverted_index_iterator.h | 53 +
.../index/inverted/inverted_index_option.cpp | 84 +
.../index/inverted/inverted_index_option.h | 38 +
.../storage/index/inverted/inverted_plugin.h | 36 +
.../inverted/inverted_plugin_factory.cpp | 30 +
.../index/inverted/inverted_plugin_factory.h | 27 +
.../storage/index/inverted/inverted_reader.h | 61 +
.../storage/index/inverted/inverted_writer.h | 44 +
.../index/vector/empty_index_reader.cpp | 17 +
.../storage/index/vector/empty_index_reader.h | 43 +
.../index/vector/tenann/del_id_filter.cpp | 52 +
.../index/vector/tenann/del_id_filter.h | 54 +
.../vector/tenann/tenann_index_builder.cpp | 184 ++
.../vector/tenann/tenann_index_builder.h | 60 +
.../vector/tenann/tenann_index_utils.cpp | 125 ++
.../index/vector/tenann/tenann_index_utils.h | 48 +
.../index/vector/tenann_index_reader.cpp | 100 +
.../index/vector/tenann_index_reader.h | 49 +
.../index/vector/vector_index_builder.cpp | 29 +
.../index/vector/vector_index_builder.h | 80 +
.../vector/vector_index_builder_factory.cpp | 37 +
.../vector/vector_index_builder_factory.h | 38 +
.../index/vector/vector_index_reader.h | 62 +
.../vector/vector_index_reader_factory.cpp | 46 +
.../vector/vector_index_reader_factory.h | 32 +
.../index/vector/vector_index_writer.cpp | 142 ++
.../index/vector/vector_index_writer.h | 81 +
.../index/vector/vector_search_option.h | 57 +
be/src/storage/lake/async_delta_writer.cpp | 20 +
be/src/storage/lake/async_delta_writer.h | 8 +
be/src/storage/lake/delta_writer.cpp | 34 +
be/src/storage/lake/delta_writer.h | 7 +
be/src/storage/lake/general_tablet_writer.cpp | 38 +
.../lake/horizontal_compaction_task.cpp | 6 +
be/src/storage/lake/lake_delvec_loader.cpp | 47 +
be/src/storage/lake/lake_delvec_loader.h | 44 +
be/src/storage/lake/lake_primary_index.cpp | 5 +
...imary_key_compaction_conflict_resolver.cpp | 11 +
...primary_key_compaction_conflict_resolver.h | 16 +
be/src/storage/lake/location_provider.h | 16 +
be/src/storage/lake/meta_file.cpp | 17 +
be/src/storage/lake/meta_file.h | 4 +
be/src/storage/lake/metacache.h | 5 +
be/src/storage/lake/pk_tablet_writer.cpp | 9 +
be/src/storage/lake/rowset.cpp | 96 +
be/src/storage/lake/rowset.h | 37 +
be/src/storage/lake/schema_change.cpp | 68 +
.../lake/starlet_location_provider.cpp | 18 +
.../storage/lake/starlet_location_provider.h | 9 +
be/src/storage/lake/tablet.cpp | 46 +
be/src/storage/lake/tablet.h | 76 +
be/src/storage/lake/tablet_manager.cpp | 135 ++
be/src/storage/lake/tablet_manager.h | 70 +
be/src/storage/lake/tablet_reader.cpp | 39 +
be/src/storage/lake/tablet_reader.h | 22 +
be/src/storage/lake/tablet_writer.h | 17 +
be/src/storage/lake/transactions.cpp | 67 +
be/src/storage/lake/transactions.h | 9 +
be/src/storage/lake/txn_log_applier.cpp | 4 +
be/src/storage/lake/update_manager.cpp | 25 +
be/src/storage/lake/update_manager.h | 11 +
be/src/storage/lake/vacuum.cpp | 18 +
be/src/storage/lake/versioned_tablet.cpp | 14 +
be/src/storage/lake/versioned_tablet.h | 9 +
.../storage/lake/vertical_compaction_task.cpp | 6 +
be/src/storage/local_primary_key_recover.cpp | 13 +
be/src/storage/memtable.cpp | 41 +
be/src/storage/memtable.h | 53 +
be/src/storage/memtable_flush_executor.cpp | 30 +
be/src/storage/memtable_flush_executor.h | 12 +
be/src/storage/merge_iterator.cpp | 8 +
be/src/storage/meta_reader.cpp | 73 +
be/src/storage/meta_reader.h | 15 +
be/src/storage/metadata_util.cpp | 55 +-
be/src/storage/olap_common.h | 28 +
be/src/storage/olap_meta_reader.cpp | 9 +
be/src/storage/olap_runtime_range_pruner.h | 15 +
be/src/storage/olap_runtime_range_pruner.hpp | 92 +
be/src/storage/options.h | 12 +
be/src/storage/persistent_index.cpp | 4 +
be/src/storage/predicate_parser.cpp | 126 ++
be/src/storage/predicate_parser.h | 71 +
.../storage/predicate_tree/predicate_tree.cpp | 445 ++++
.../storage/predicate_tree/predicate_tree.h | 82 +
.../storage/predicate_tree/predicate_tree.hpp | 6 +
.../predicate_tree/predicate_tree_fwd.h | 4 +
be/src/storage/primary_index.cpp | 16 +
be/src/storage/projection_iterator.cpp | 8 +
be/src/storage/protobuf_file.cpp | 36 +
be/src/storage/protobuf_file.h | 19 +
be/src/storage/range.h | 39 +
be/src/storage/roaring2range.h | 15 +
be/src/storage/row_source_mask.cpp | 8 +
be/src/storage/rowset/array_column_iterator.h | 34 +
be/src/storage/rowset/array_column_writer.cpp | 60 +
be/src/storage/rowset/base_rowset.h | 17 +
be/src/storage/rowset/binary_dict_page.h | 16 +
be/src/storage/rowset/binary_plain_page.h | 14 +
be/src/storage/rowset/binary_prefix_page.cpp | 16 +
be/src/storage/rowset/binary_prefix_page.h | 12 +
.../storage/rowset/bitmap_index_evaluator.cpp | 471 +++++
.../storage/rowset/bitmap_index_evaluator.h | 79 +
be/src/storage/rowset/bitmap_range_iterator.h | 40 +
be/src/storage/rowset/bitshuffle_page.h | 18 +
be/src/storage/rowset/cast_column_iterator.h | 5 +
be/src/storage/rowset/column_iterator.h | 40 +
.../rowset/column_iterator_decorator.h | 10 +
be/src/storage/rowset/column_reader.cpp | 88 +
be/src/storage/rowset/column_reader.h | 43 +
be/src/storage/rowset/column_writer.cpp | 5 +
be/src/storage/rowset/column_writer.h | 13 +
be/src/storage/rowset/data_sample.cpp | 342 +++
be/src/storage/rowset/data_sample.h | 124 ++
.../rowset/default_value_column_iterator.cpp | 5 +
.../rowset/default_value_column_iterator.h | 34 +
.../storage/rowset/fill_subfield_iterator.h | 12 +
.../storage/rowset/frame_of_reference_page.h | 20 +
.../horizontal_update_rowset_writer.cpp | 28 +
.../storage/rowset/indexed_column_reader.cpp | 6 +
be/src/storage/rowset/indexed_column_reader.h | 4 +
.../storage/rowset/json_column_iterator.cpp | 59 +
be/src/storage/rowset/map_column_iterator.h | 16 +
be/src/storage/rowset/ordinal_page_index.cpp | 8 +
be/src/storage/rowset/ordinal_page_index.h | 4 +
be/src/storage/rowset/page_decoder.h | 28 +
be/src/storage/rowset/parsed_page.cpp | 42 +
be/src/storage/rowset/parsed_page.h | 5 +
be/src/storage/rowset/plain_page.h | 20 +
be/src/storage/rowset/rle_page.h | 16 +
be/src/storage/rowset/rowid_column_iterator.h | 32 +
be/src/storage/rowset/rowset.cpp | 103 +
be/src/storage/rowset/rowset.h | 23 +
be/src/storage/rowset/rowset_meta.cpp | 23 +
be/src/storage/rowset/rowset_meta.h | 16 +
be/src/storage/rowset/rowset_options.h | 18 +
be/src/storage/rowset/rowset_writer.cpp | 237 +++
be/src/storage/rowset/rowset_writer.h | 14 +
be/src/storage/rowset/rowset_writer_context.h | 5 +
.../storage/rowset/scalar_column_iterator.cpp | 86 +
.../storage/rowset/scalar_column_iterator.h | 48 +
be/src/storage/rowset/segment.cpp | 49 +
be/src/storage/rowset/segment.h | 25 +
be/src/storage/rowset/segment_iterator.cpp | 839 ++++++++
be/src/storage/rowset/segment_options.h | 28 +
be/src/storage/rowset/segment_rewriter.cpp | 3 +
be/src/storage/rowset/segment_rewriter.h | 3 +
be/src/storage/rowset/segment_writer.cpp | 24 +
.../storage/rowset/struct_column_iterator.cpp | 22 +
be/src/storage/rowset_update_state.cpp | 13 +
be/src/storage/schema_change.cpp | 10 +
be/src/storage/schema_change_utils.cpp | 7 +
be/src/storage/schema_change_utils.h | 4 +
be/src/storage/segment_flush_executor.cpp | 28 +
be/src/storage/segment_flush_executor.h | 23 +
be/src/storage/segment_replicate_executor.cpp | 76 +
be/src/storage/segment_replicate_executor.h | 31 +
be/src/storage/snapshot_manager.cpp | 5 +
be/src/storage/table_reader.cpp | 16 +
be/src/storage/table_reader.h | 14 +
be/src/storage/tablet.cpp | 93 +
be/src/storage/tablet.h | 79 +
be/src/storage/tablet_index.cpp | 5 +
be/src/storage/tablet_manager.h | 8 +
be/src/storage/tablet_meta.h | 26 +
be/src/storage/tablet_reader.cpp | 26 +
be/src/storage/tablet_reader.h | 10 +
be/src/storage/tablet_reader_params.h | 18 +
be/src/storage/tablet_schema.cpp | 56 +
be/src/storage/tablet_schema.h | 18 +
be/src/storage/tablet_updates.cpp | 179 ++
be/src/storage/tablet_updates.h | 26 +
be/src/storage/txn_manager.cpp | 3 +
be/src/storage/txn_manager.h | 44 +
be/src/storage/types.cpp | 7 +
be/src/storage/union_iterator.cpp | 8 +
be/src/storage/vertical_compaction_task.cpp | 6 +
be/src/storage/zone_map_detail.h | 11 +
be/src/testutil/column_test_helper.h | 4 +
be/src/testutil/exprs_test_helper.h | 15 +
be/src/testutil/init_test_env.h | 10 +
be/src/testutil/schema_test_helper.cpp | 43 +
be/src/testutil/schema_test_helper.h | 8 +
be/src/types/CMakeLists.txt | 10 +
be/src/types/bitmap_value.cpp | 4 +
be/src/types/bitmap_value.h | 8 +
be/src/types/bitmap_value_detail.h | 24 +
be/src/types/checker/type_checker.cpp | 317 +++
be/src/types/checker/type_checker.h | 102 +
be/src/types/constexpr.h | 6 +
be/src/types/hll.cpp | 65 +
be/src/types/hll.h | 7 +
be/src/types/hll_sketch.cpp | 127 ++
be/src/types/hll_sketch.h | 143 ++
be/src/types/large_int_value.cpp | 47 +
be/src/types/large_int_value.h | 63 +
be/src/types/logical_type_infra.h | 5 +
be/src/types/timestamp_value.cpp | 17 +
be/src/types/timestamp_value.h | 4 +
be/src/types/type_checker_manager.cpp | 66 +
be/src/types/type_checker_manager.h | 40 +
be/src/udf/CMakeLists.txt | 15 +-
be/src/udf/java/java_data_converter.h | 5 +
be/src/udf/java/java_udf.h | 16 +
be/src/udf/python/callstub.cpp | 188 ++
be/src/udf/python/callstub.h | 57 +
be/src/udf/python/env.cpp | 250 +++
be/src/udf/python/env.h | 167 ++
be/src/udf/udf_call_stub.cpp | 124 ++
be/src/udf/udf_call_stub.h | 55 +
be/src/util/CMakeLists.txt | 11 +
be/src/util/arrow/row_batch.cpp | 12 +
be/src/util/arrow/row_batch.h | 13 +
.../util/arrow/starrocks_column_to_arrow.cpp | 26 +
be/src/util/arrow/starrocks_column_to_arrow.h | 7 +
be/src/util/arrow/utils.h | 11 +
be/src/util/base85.cpp | 77 +
be/src/util/base85.h | 23 +
be/src/util/bit_packing.h | 3 +
be/src/util/bit_packing_adapter.h | 160 ++
be/src/util/bit_packing_simd.h | 484 +++++
be/src/util/bit_stream_utils.h | 5 +
be/src/util/bit_stream_utils.inline.h | 20 +
be/src/util/bitmap_intersect.h | 3 +
be/src/util/brpc_stub_cache.h | 50 +
be/src/util/c_string.h | 4 +
be/src/util/cpu_info.h | 15 +
be/src/util/debug/query_trace_impl.h | 4 +
be/src/util/decimal_types.h | 19 +
be/src/util/failpoint/fail_point.cpp | 4 +
be/src/util/filesystem_util.cc | 19 +
be/src/util/hdfs_util.cpp | 7 +
be/src/util/int96.cpp | 4 +
.../internal_service_recoverable_stub.cpp | 171 ++
.../util/internal_service_recoverable_stub.h | 94 +
be/src/util/json_converter.h | 5 +
be/src/util/lru_cache.cpp | 6 +
be/src/util/lru_cache.h | 6 +
be/src/util/misc.cpp | 7 +
be/src/util/mysql_row_buffer.cpp | 4 +
be/src/util/phmap/phmap.h | 4 +
be/src/util/raw_container.h | 31 +
be/src/util/rle_encoding.h | 76 +
be/src/util/starrocks_metrics.h | 4 +
be/src/util/system_metrics.cpp | 120 ++
be/src/util/system_metrics.h | 23 +
be/src/util/threadpool.h | 22 +
be/src/util/thrift_rpc_helper.cpp | 58 +
be/src/util/thrift_rpc_helper.h | 23 +
be/src/util/thrift_util.h | 35 +
be/src/util/timezone_hsscan.h | 4 +
be/src/util/uid_util.cpp | 25 +
be/src/util/uid_util.h | 5 +
be/test/CMakeLists.txt | 96 +
be/test/agent/agent_task_test.cpp | 34 +
be/test/agent/heartbeat_server_test.cpp | 19 +
be/test/block_cache/block_cache_test.cpp | 17 +
be/test/block_cache/datacache_utils_test.cpp | 26 +
.../block_cache/disk_space_monitor_test.cpp | 90 +
be/test/column/avx_numeric_column.h | 4 +
be/test/column/avx_numeric_column_test.cpp | 24 +
be/test/column/binary_column_test.cpp | 30 +
be/test/column/field_test.cpp | 51 +
be/test/column/fixed_length_column_test.cpp | 8 +
be/test/column/object_column_test.cpp | 4 +
be/test/column/timestamp_value_test.cpp | 9 +
.../deletion_vector/deletion_vector_test.cpp | 65 +
be/test/exec/agg_hash_map_test.cpp | 9 +
be/test/exec/chunks_sorter_test.cpp | 9 +
be/test/exec/column_value_range_test.cpp | 44 +
be/test/exec/hdfs_scan_node_test.cpp | 10 +
be/test/exec/hdfs_scanner_test.cpp | 25 +
be/test/exec/join_hash_map_test.cpp | 12 +
be/test/exec/lake_meta_scanner_test.cpp | 11 +
be/test/exec/olap_scan_prepare_test.cpp | 280 +++
be/test/exec/parquet_scanner_test.cpp | 9 +
.../pipeline/mem_limited_chunk_queue_test.cpp | 4 +
.../workgroup/pipeline_executor_set_test.cpp | 80 +
be/test/exprs/agg/aggregate_test.cpp | 251 +++
be/test/exprs/array_functions_test.cpp | 8 +
be/test/exprs/cast_expr_test.cpp | 121 ++
be/test/exprs/like_test.cpp | 4 +
be/test/exprs/min_max_predicate_test.cpp | 238 +++
.../string_fn_money_format_decimal_test.cpp | 7 +
be/test/exprs/string_fn_test.cpp | 375 ++++
be/test/exprs/time_functions_test.cpp | 28 +
be/test/formats/csv/string_converter_test.cpp | 5 +
.../formats/csv/varbinary_converter_test.cpp | 4 +
be/test/formats/orc/orc_chunk_reader_test.cpp | 95 +
be/test/formats/orc/utils_test.cpp | 137 ++
.../formats/parquet/column_converter_test.cpp | 6 +
be/test/formats/parquet/file_reader_test.cpp | 642 ++++++
be/test/formats/parquet/file_writer_test.cpp | 6 +
be/test/formats/parquet/group_reader_test.cpp | 84 +
...berg_schema_evolution_file_reader_test.cpp | 114 +
be/test/formats/parquet/page_index_test.cpp | 221 ++
be/test/formats/parquet/parquet_cli_reader.h | 35 +
.../parquet/parquet_file_writer_test.cpp | 7 +
be/test/formats/parquet/parquet_ut_base.cpp | 26 +
be/test/formats/parquet/parquet_ut_base.h | 10 +
.../file_read_test_filter_row_group_1.parquet | Bin 0 -> 2934 bytes
.../file_read_test_filter_row_group_2.parquet | Bin 0 -> 2928 bytes
be/test/fs/fs_posix_test.cpp | 8 +
be/test/fs/fs_s3_test.cpp | 42 +
be/test/fs/fs_test.cpp | 10 +
be/test/fs/poco_http_client_test.cpp | 200 ++
.../http/action/update_config_action_test.cpp | 69 +
be/test/http/stream_load_test.cpp | 157 ++
be/test/io/cache_input_stream_test.cpp | 17 +
be/test/io/s3_input_stream_test.cpp | 42 +
be/test/io/s3_output_stream_test.cpp | 12 +
be/test/runtime/agg_state_desc_test.cpp | 59 +
.../batch_write/batch_write_mgr_test.cpp | 376 ++++
.../batch_write/batch_write_util_test.cpp | 65 +
.../isomorphic_batch_write_test.cpp | 315 +++
be/test/runtime/decimalv3_test.cpp | 4 +
be/test/runtime/lake_tablets_channel_test.cpp | 415 ++++
be/test/runtime/large_int_value_test.cpp | 10 +
be/test/runtime/load_channel_test.cpp | 9 +
.../runtime/local_tablets_channel_test.cpp | 24 +
.../memory/counting_allocator_test.cpp | 80 +
be/test/runtime/stream_load_pipe_test.cpp | 82 +
.../time_bounded_stream_load_pipe_test.cpp | 115 ++
be/test/runtime/type_descriptor_test.cpp | 16 +
be/test/serde/column_array_serde_test.cpp | 8 +
be/test/service/lake_service_test.cpp | 196 ++
be/test/storage/aggregate_iterator_test.cpp | 8 +
be/test/storage/base_compaction_test.cpp | 11 +
be/test/storage/chunk_helper_test.cpp | 122 ++
be/test/storage/column_and_predicate_test.cpp | 121 ++
be/test/storage/column_or_predicate_test.cpp | 76 +
be/test/storage/column_predicate_test.cpp | 80 +
.../storage/conjunctive_predicates_test.cpp | 64 +
be/test/storage/delta_column_group_test.cpp | 6 +
be/test/storage/index/vector_index_test.cpp | 160 ++
be/test/storage/index/vector_search_test.cpp | 184 ++
.../storage/lake/alter_tablet_meta_test.cpp | 3 +
.../storage/lake/async_delta_writer_test.cpp | 6 +
.../auto_increment_partial_update_test.cpp | 24 +
.../storage/lake/compaction_policy_test.cpp | 6 +
be/test/storage/lake/compaction_task_test.cpp | 16 +
.../storage/lake/condition_update_test.cpp | 20 +
be/test/storage/lake/delta_writer_test.cpp | 36 +
.../lake_primary_key_consistency_test.cpp | 20 +
be/test/storage/lake/lake_scan_node_test.cpp | 10 +
be/test/storage/lake/meta_file_test.cpp | 21 +
be/test/storage/lake/partial_update_test.cpp | 116 ++
.../lake/primary_key_compaction_task_test.cpp | 88 +
.../storage/lake/primary_key_publish_test.cpp | 199 ++
.../lake/replication_txn_manager_test.cpp | 22 +
be/test/storage/lake/rowset_test.cpp | 5 +
be/test/storage/lake/schema_change_test.cpp | 61 +
.../lake/starlet_location_provider_test.cpp | 96 +
be/test/storage/lake/tablet_manager_test.cpp | 73 +
be/test/storage/lake/tablet_writer_test.cpp | 26 +
be/test/storage/lake/test_util.h | 10 +
be/test/storage/meta_reader_test.cpp | 8 +
be/test/storage/metadata_util_test.cpp | 147 ++
.../olap_runtime_range_pruner_test.cpp | 167 ++
be/test/storage/projection_iterator_test.cpp | 9 +
.../storage/publish_version_manager_test.cpp | 3 +
be/test/storage/publish_version_task_test.cpp | 3 +
be/test/storage/roaring2range_test.cpp | 47 +
be/test/storage/rows_mapper_test.cpp | 18 +
.../rowset/column_reader_writer_test.cpp | 4 +
be/test/storage/rowset/data_sample_test.cpp | 265 +++
.../default_value_column_iterator_test.cpp | 4 +
.../rowset/frame_of_reference_page_test.cpp | 7 +
be/test/storage/rowset/rle_page_test.cpp | 4 +
.../storage/rowset/segment_rewriter_test.cpp | 3 +
be/test/storage/rowset/segment_test.cpp | 4 +
be/test/storage/rowset_update_state_test.cpp | 48 +
be/test/storage/tablet_index_test.cpp | 111 +
be/test/storage/tablet_updates_test.cpp | 24 +
.../engine_storage_migration_task_test.cpp | 28 +
be/test/storage/union_iterator_test.cpp | 10 +
be/test/types/bitmap_value_test.cpp | 20 +
be/test/types/type_checker_test.cpp | 489 +++++
.../arrow/starrocks_column_to_arrow_test.cpp | 5 +
be/test/util/base85_test.cpp | 35 +
be/test/util/bit_packing_simd_test.cpp | 102 +
be/test/util/bit_stream_utils_test.cpp | 4 +
be/test/util/brpc_stub_cache_test.cpp | 18 +
...internal_service_recoverable_stub_test.cpp | 66 +
be/test/util/mysql_row_buffer_test.cpp | 5 +
be/test/util/raw_container_test.cpp | 38 +
be/test/util/threadpool_test.cpp | 7 +
bin/common.sh | 3 +
bin/show_be_version.sh | 3 +
bin/start_backend.sh | 6 +
bin/start_fe.sh | 17 +
bin/stop_be.sh | 17 +
build.sh | 193 ++
contrib/starrocks-python-client/README.md | 33 +
contrib/starrocks-python-client/setup.py | 7 +
.../starrocks/__init__.py | 4 +
.../starrocks/alembic.py | 28 +
.../starrocks/dialect.py | 23 +
.../test/test_suite.py | 13 +
docker/dockerfiles/Dockerhub-README.md | 99 +
docker/dockerfiles/dev-env/dev-env.Dockerfile | 8 +
.../toolchains/toolchains-centos7.Dockerfile | 83 +
.../toolchains/toolchains-ubuntu.Dockerfile | 15 +
.../aarch64/CentOS-Base-Local-List.repo | 22 +
.../aarch64/yum-base-mirrorlist.txt | 7 +
.../aarch64/yum-extras-mirrorlist.txt | 7 +
.../aarch64/yum-updates-mirrorlist.txt | 7 +
.../x86_64/CentOS-Base-Local-List.repo | 19 +
.../x86_64/yum-base-mirrorlist.txt | 7 +
.../x86_64/yum-extras-mirrorlist.txt | 7 +
.../x86_64/yum-updates-mirrorlist.txt | 7 +
.../current.json | 5 +
.../management/FE_configuration.md | 42 +
.../resource_management/query_queues.md | 6 +
.../resource_management/resource_group.md | 6 +-
.../en/data_source/catalog/iceberg_catalog.md | 93 +
.../build_starrocks_on_ubuntu.md | 4 +
docs/en/ecosystem_release/flink_connector.md | 43 +
docs/en/ecosystem_release/kafka_connector.md | 4 +
docs/en/ecosystem_release/spark_connector.md | 14 +
.../integrations/BI_integrations/Metabase.md | 5 +
docs/en/introduction/Architecture.md | 4 +
docs/en/loading/Kafka-connector-starrocks.md | 65 +
docs/en/quick_start/hudi.md | 4 +
docs/en/release_notes/release-2.5.md | 41 +
docs/en/release_notes/release-3.0.md | 70 +
docs/en/release_notes/release-3.1.md | 660 ++++++
docs/en/release_notes/release-3.2.md | 322 +++
docs/en/release_notes/release-3.3.md | 530 +++++
docs/en/sql-reference/System_limit.md | 3 +
docs/en/sql-reference/System_variable.md | 21 +
.../sql-reference/sql-functions/Python_UDF.md | 146 ++
.../aggregate-functions/any_value.md | 4 +
.../approx_count_distinct.md | 4 +
.../approx_count_distinct_hll_sketch.md | 30 +
.../aggregate-functions/approx_top_k.md | 4 +
.../sql-functions/aggregate-functions/avg.md | 4 +
.../sql-functions/aggregate-functions/corr.md | 4 +
.../aggregate-functions/count.md | 4 +
.../aggregate-functions/count_if.md | 4 +
.../aggregate-functions/covar_pop.md | 4 +
.../aggregate-functions/covar_samp.md | 4 +
.../aggregate-functions/group_concat.md | 4 +
.../aggregate-functions/grouping.md | 4 +
.../aggregate-functions/grouping_id.md | 4 +
.../aggregate-functions/hll_raw_agg.md | 4 +
.../aggregate-functions/hll_union.md | 4 +
.../aggregate-functions/hll_union_agg.md | 4 +
.../mann_whitney_u_test.md | 125 ++
.../sql-functions/aggregate-functions/max.md | 4 +
.../aggregate-functions/max_by.md | 4 +
.../sql-functions/aggregate-functions/min.md | 4 +
.../aggregate-functions/min_by.md | 4 +
.../multi_distinct_count.md | 4 +
.../aggregate-functions/multi_distinct_sum.md | 4 +
.../aggregate-functions/percentile_approx.md | 4 +
.../aggregate-functions/percentile_cont.md | 4 +
.../aggregate-functions/percentile_disc.md | 4 +
.../aggregate-functions/percentile_disc_lc.md | 91 +
.../aggregate-functions/retention.md | 4 +
.../sql-functions/aggregate-functions/std.md | 4 +
.../aggregate-functions/stddev.md | 4 +
.../aggregate-functions/stddev_samp.md | 4 +
.../sql-functions/aggregate-functions/sum.md | 4 +
.../aggregate-functions/var_samp.md | 4 +
.../aggregate-functions/variance.md | 4 +
.../aggregate-functions/window_funnel.md | 4 +
.../array-functions/all_match.md | 4 +
.../array-functions/any_match.md | 4 +
.../array-functions/array_agg.md | 4 +
.../array-functions/array_append.md | 4 +
.../array-functions/array_avg.md | 4 +
.../array-functions/array_concat.md | 4 +
.../array-functions/array_contains.md | 4 +
.../array-functions/array_contains_all.md | 4 +
.../array-functions/array_contains_seq.md | 4 +
.../array-functions/array_cum_sum.md | 4 +
.../array-functions/array_difference.md | 4 +
.../array-functions/array_distinct.md | 4 +
.../array-functions/array_filter.md | 4 +
.../array-functions/array_generate.md | 4 +
.../array-functions/array_intersect.md | 4 +
.../array-functions/array_join.md | 4 +
.../array-functions/array_length.md | 4 +
.../array-functions/array_map.md | 4 +
.../array-functions/array_max.md | 4 +
.../array-functions/array_min.md | 4 +
.../array-functions/array_position.md | 4 +
.../array-functions/array_remove.md | 4 +
.../array-functions/array_slice.md | 4 +
.../array-functions/array_sort.md | 4 +
.../array-functions/array_sortby.md | 4 +
.../array-functions/array_sum.md | 4 +
.../array-functions/array_to_bitmap.md | 4 +
.../array-functions/array_unique_agg.md | 4 +
.../array-functions/arrays_overlap.md | 4 +
.../array-functions/cardinality.md | 4 +
.../array-functions/element_at.md | 4 +
.../sql-functions/array-functions/reverse.md | 4 +
.../sql-functions/array-functions/unnest.md | 4 +
.../binary-functions/from_binary.md | 4 +
.../binary-functions/to_binary.md | 4 +
.../bit-functions/bit_shift_left.md | 4 +
.../bit-functions/bit_shift_right.md | 4 +
.../bit-functions/bit_shift_right_logical.md | 4 +
.../sql-functions/bit-functions/bitand.md | 4 +
.../sql-functions/bit-functions/bitnot.md | 4 +
.../sql-functions/bit-functions/bitor.md | 4 +
.../sql-functions/bit-functions/bitxor.md | 4 +
.../bitmap-functions/base64_to_bitmap.md | 4 +
.../bitmap-functions/bitmap_agg.md | 4 +
.../bitmap-functions/bitmap_and.md | 4 +
.../bitmap-functions/bitmap_andnot.md | 4 +
.../bitmap-functions/bitmap_contains.md | 4 +
.../bitmap-functions/bitmap_count.md | 4 +
.../bitmap-functions/bitmap_empty.md | 4 +
.../bitmap-functions/bitmap_from_binary.md | 4 +
.../bitmap-functions/bitmap_from_string.md | 4 +
.../bitmap-functions/bitmap_has_any.md | 4 +
.../bitmap-functions/bitmap_hash.md | 4 +
.../bitmap-functions/bitmap_intersect.md | 4 +
.../bitmap-functions/bitmap_max.md | 4 +
.../bitmap-functions/bitmap_min.md | 4 +
.../bitmap-functions/bitmap_or.md | 4 +
.../bitmap-functions/bitmap_remove.md | 4 +
.../bitmap_subset_in_range.md | 4 +
.../bitmap-functions/bitmap_subset_limit.md | 4 +
.../bitmap-functions/bitmap_to_array.md | 4 +
.../bitmap-functions/bitmap_to_base64.md | 4 +
.../bitmap-functions/bitmap_to_binary.md | 4 +
.../bitmap-functions/bitmap_to_string.md | 4 +
.../bitmap-functions/bitmap_union.md | 4 +
.../bitmap-functions/bitmap_union_count.md | 4 +
.../bitmap-functions/bitmap_union_int.md | 4 +
.../bitmap-functions/bitmap_xor.md | 4 +
.../bitmap-functions/intersect_count.md | 4 +
.../bitmap-functions/sub_bitmap.md | 4 +
.../bitmap-functions/subdivide_bitmap.md | 4 +
.../bitmap-functions/to_bitmap.md | 4 +
.../bitmap-functions/unnest_bitmap.md | 4 +
docs/en/sql-reference/sql-functions/cast.md | 4 +
.../condition-functions/case_when.md | 4 +
.../condition-functions/coalesce.md | 4 +
.../sql-functions/condition-functions/if.md | 4 +
.../condition-functions/ifnull.md | 4 +
.../condition-functions/nullif.md | 4 +
.../crytographic-functions/aes_decrypt.md | 4 +
.../crytographic-functions/aes_encrypt.md | 4 +
.../base64_decode_binary.md | 4 +
.../base64_decode_string.md | 4 +
.../crytographic-functions/from_base64.md | 4 +
.../crytographic-functions/sm3.md | 4 +
.../crytographic-functions/to_base64.md | 4 +
.../date-time-functions/add_months.md | 4 +
.../date-time-functions/convert_tz.md | 4 +
.../date-time-functions/curdate.md | 4 +
.../date-time-functions/current_timestamp.md | 4 +
.../date-time-functions/curtime.md | 4 +
.../sql-functions/date-time-functions/date.md | 4 +
.../date-time-functions/date_add.md | 4 +
.../date-time-functions/date_diff.md | 4 +
.../date-time-functions/date_format.md | 4 +
.../date-time-functions/date_slice.md | 4 +
.../date-time-functions/date_sub.md | 4 +
.../date-time-functions/date_trunc.md | 4 +
.../date-time-functions/datediff.md | 4 +
.../sql-functions/date-time-functions/day.md | 4 +
.../date-time-functions/day_of_week_iso.md | 4 +
.../date-time-functions/dayname.md | 4 +
.../date-time-functions/dayofmonth.md | 4 +
.../date-time-functions/dayofweek.md | 4 +
.../date-time-functions/dayofyear.md | 4 +
.../date-time-functions/days_add.md | 4 +
.../date-time-functions/days_diff.md | 4 +
.../date-time-functions/days_sub.md | 4 +
.../date-time-functions/from_days.md | 4 +
.../date-time-functions/from_unixtime.md | 4 +
.../sql-functions/date-time-functions/hour.md | 4 +
.../date-time-functions/hours_add.md | 4 +
.../date-time-functions/hours_diff.md | 4 +
.../date-time-functions/hours_sub.md | 4 +
.../date-time-functions/jodatime_format.md | 4 +
.../date-time-functions/last_day.md | 4 +
.../date-time-functions/makedate.md | 4 +
.../date-time-functions/microseconds_add.md | 4 +
.../date-time-functions/microseconds_sub.md | 4 +
.../date-time-functions/milliseconds_diff.md | 4 +
.../date-time-functions/minute.md | 4 +
.../date-time-functions/minutes_add.md | 4 +
.../date-time-functions/minutes_diff.md | 4 +
.../date-time-functions/minutes_sub.md | 4 +
.../date-time-functions/month.md | 4 +
.../date-time-functions/monthname.md | 4 +
.../date-time-functions/months_add.md | 4 +
.../date-time-functions/months_diff.md | 4 +
.../date-time-functions/months_sub.md | 4 +
.../date-time-functions/next_day.md | 4 +
.../sql-functions/date-time-functions/now.md | 4 +
.../date-time-functions/previous_day.md | 4 +
.../date-time-functions/quarter.md | 4 +
.../date-time-functions/second.md | 4 +
.../date-time-functions/seconds_diff.md | 4 +
.../date-time-functions/seconds_sub.md | 4 +
.../date-time-functions/str2date.md | 4 +
.../date-time-functions/str_to_date.md | 4 +
.../date-time-functions/str_to_jodatime.md | 4 +
.../date-time-functions/time_slice.md | 4 +
.../date-time-functions/time_to_sec.md | 4 +
.../date-time-functions/timediff.md | 4 +
.../date-time-functions/timestamp.md | 4 +
.../date-time-functions/timestampadd.md | 4 +
.../date-time-functions/timestampdiff.md | 4 +
.../date-time-functions/to_date.md | 4 +
.../date-time-functions/to_days.md | 4 +
.../date-time-functions/to_iso8601.md | 4 +
.../date-time-functions/to_tera_date.md | 4 +
.../date-time-functions/to_tera_timestamp.md | 4 +
.../date-time-functions/unix_timestamp.md | 4 +
.../date-time-functions/utc_time.md | 4 +
.../date-time-functions/utc_timestamp.md | 4 +
.../sql-functions/date-time-functions/week.md | 4 +
.../date-time-functions/week_iso.md | 4 +
.../date-time-functions/weekofyear.md | 4 +
.../date-time-functions/weeks_add.md | 4 +
.../date-time-functions/weeks_diff.md | 4 +
.../date-time-functions/weeks_sub.md | 4 +
.../sql-functions/date-time-functions/year.md | 4 +
.../date-time-functions/years_diff.md | 4 +
.../date-time-functions/years_sub.md | 4 +
.../date-time-functions/yearweek.md | 4 +
.../dict-functions/dict_mapping.md | 4 +
.../hash-functions/murmur_hash3_32.md | 4 +
.../hash-functions/xx_hash3_128.md | 4 +
.../hash-functions/xx_hash3_64.md | 4 +
.../json-constructor-functions/json_array.md | 4 +
.../json-constructor-functions/json_object.md | 4 +
.../json-constructor-functions/parse_json.md | 4 +
.../arrow-function.md | 4 +
.../cast.md | 4 +
.../get_json_bool.md | 4 +
.../get_json_double.md | 4 +
.../get_json_int.md | 4 +
.../get_json_string.md | 4 +
.../json_each.md | 4 +
.../json_exists.md | 4 +
.../json_keys.md | 4 +
.../json_length.md | 4 +
.../json_query.md | 4 +
.../json_string.md | 4 +
.../to_json.md | 4 +
.../like-predicate-functions/like.md | 4 +
.../like-predicate-functions/regexp.md | 4 +
.../regexp_extract.md | 4 +
.../regexp_extract_all.md | 4 +
.../regexp_replace.md | 4 +
.../map-functions/cardinality.md | 4 +
.../map-functions/distinct_map_keys.md | 4 +
.../sql-functions/map-functions/element_at.md | 4 +
.../sql-functions/map-functions/map_apply.md | 4 +
.../sql-functions/map-functions/map_concat.md | 4 +
.../sql-functions/map-functions/map_filter.md | 4 +
.../map-functions/map_from_arrays.md | 4 +
.../sql-functions/map-functions/map_keys.md | 4 +
.../sql-functions/map-functions/map_size.md | 4 +
.../sql-functions/map-functions/map_values.md | 4 +
.../map-functions/transform_keys.md | 4 +
.../map-functions/transform_values.md | 4 +
.../sql-functions/math-functions/abs.md | 4 +
.../sql-functions/math-functions/acos.md | 4 +
.../sql-functions/math-functions/asin.md | 4 +
.../sql-functions/math-functions/atan.md | 4 +
.../sql-functions/math-functions/atan2.md | 4 +
.../sql-functions/math-functions/bin.md | 4 +
.../sql-functions/math-functions/cbrt.md | 4 +
.../sql-functions/math-functions/ceil.md | 4 +
.../sql-functions/math-functions/ceiling.md | 4 +
.../sql-functions/math-functions/conv.md | 4 +
.../sql-functions/math-functions/cos.md | 4 +
.../math-functions/cos_similarity.md | 4 +
.../math-functions/cos_similarity_norm.md | 4 +
.../sql-functions/math-functions/cosh.md | 4 +
.../sql-functions/math-functions/cot.md | 4 +
.../sql-functions/math-functions/degrees.md | 4 +
.../sql-functions/math-functions/divide.md | 4 +
.../sql-functions/math-functions/e.md | 4 +
.../sql-functions/math-functions/exp.md | 4 +
.../sql-functions/math-functions/floor.md | 4 +
.../sql-functions/math-functions/fmod.md | 4 +
.../sql-functions/math-functions/greatest.md | 4 +
.../sql-functions/math-functions/least.md | 4 +
.../sql-functions/math-functions/ln.md | 4 +
.../sql-functions/math-functions/log.md | 4 +
.../sql-functions/math-functions/log10.md | 4 +
.../sql-functions/math-functions/log2.md | 4 +
.../sql-functions/math-functions/mod.md | 4 +
.../sql-functions/math-functions/multiply.md | 4 +
.../sql-functions/math-functions/negative.md | 4 +
.../sql-functions/math-functions/pi.md | 4 +
.../sql-functions/math-functions/pmod.md | 4 +
.../sql-functions/math-functions/positive.md | 4 +
.../sql-functions/math-functions/pow.md | 4 +
.../sql-functions/math-functions/radians.md | 4 +
.../sql-functions/math-functions/rand.md | 3 +
.../sql-functions/math-functions/round.md | 4 +
.../sql-functions/math-functions/sign.md | 4 +
.../sql-functions/math-functions/sin.md | 4 +
.../sql-functions/math-functions/sinh.md | 4 +
.../sql-functions/math-functions/sqrt.md | 4 +
.../sql-functions/math-functions/square.md | 4 +
.../sql-functions/math-functions/tan.md | 4 +
.../sql-functions/math-functions/tanh.md | 4 +
.../sql-functions/math-functions/truncate.md | 4 +
.../percentile_approx_raw.md | 4 +
.../percentile-functions/percentile_empty.md | 4 +
.../percentile-functions/percentile_hash.md | 4 +
.../percentile-functions/percentile_union.md | 4 +
.../scalar-functions/hll_cardinality.md | 4 +
.../scalar-functions/hll_empty.md | 4 +
.../scalar-functions/hll_hash.md | 4 +
.../spatial-functions/st_astext.md | 4 +
.../spatial-functions/st_circle.md | 4 +
.../spatial-functions/st_contains.md | 4 +
.../spatial-functions/st_distance_sphere.md | 4 +
.../spatial-functions/st_geometryfromtext.md | 4 +
.../spatial-functions/st_linefromtext.md | 4 +
.../spatial-functions/st_point.md | 4 +
.../spatial-functions/st_polygon.md | 4 +
.../sql-functions/spatial-functions/st_x.md | 4 +
.../sql-functions/spatial-functions/st_y.md | 4 +
.../append_trailing_char_if_absent.md | 4 +
.../sql-functions/string-functions/ascii.md | 4 +
.../sql-functions/string-functions/char.md | 4 +
.../string-functions/char_length.md | 4 +
.../string-functions/character_length.md | 4 +
.../sql-functions/string-functions/concat.md | 4 +
.../string-functions/concat_ws.md | 4 +
.../sql-functions/string-functions/crc32.md | 4 +
.../string-functions/ends_with.md | 4 +
.../string-functions/find_in_set.md | 4 +
.../string-functions/group_concat.md | 4 +
.../sql-functions/string-functions/hex.md | 4 +
.../string-functions/hex_decode_binary.md | 4 +
.../string-functions/hex_decode_string.md | 4 +
.../string-functions/inet_aton.md | 39 +
.../sql-functions/string-functions/instr.md | 4 +
.../sql-functions/string-functions/lcase.md | 4 +
.../sql-functions/string-functions/left.md | 4 +
.../sql-functions/string-functions/length.md | 4 +
.../sql-functions/string-functions/locate.md | 4 +
.../sql-functions/string-functions/lower.md | 4 +
.../sql-functions/string-functions/lpad.md | 4 +
.../sql-functions/string-functions/ltrim.md | 4 +
.../string-functions/money_format.md | 4 +
.../string-functions/ngram_search.md | 4 +
.../string-functions/null_or_empty.md | 4 +
.../string-functions/parse_url.md | 4 +
.../string-functions/regexp_split.md | 59 +
.../sql-functions/string-functions/repeat.md | 4 +
.../sql-functions/string-functions/replace.md | 4 +
.../sql-functions/string-functions/reverse.md | 4 +
.../sql-functions/string-functions/right.md | 4 +
.../sql-functions/string-functions/rpad.md | 4 +
.../sql-functions/string-functions/rtrim.md | 4 +
.../sql-functions/string-functions/space.md | 4 +
.../sql-functions/string-functions/split.md | 4 +
.../string-functions/split_part.md | 4 +
.../string-functions/starts_with.md | 4 +
.../string-functions/str_to_map.md | 4 +
.../sql-functions/string-functions/strcmp.md | 4 +
.../sql-functions/string-functions/strleft.md | 4 +
.../string-functions/strright.md | 4 +
.../string-functions/substring.md | 4 +
.../string-functions/substring_index.md | 4 +
.../string-functions/translate.md | 4 +
.../sql-functions/string-functions/trim.md | 4 +
.../sql-functions/string-functions/ucase.md | 4 +
.../sql-functions/string-functions/unhex.md | 4 +
.../sql-functions/string-functions/upper.md | 4 +
.../string-functions/url_decode.md | 4 +
.../string-functions/url_encode.md | 4 +
.../string-functions/url_extract_host.md | 4 +
.../string-functions/url_extract_parameter.md | 4 +
.../struct-functions/named_struct.md | 4 +
.../sql-functions/struct-functions/row.md | 4 +
.../sql-functions/table-functions/files.md | 4 +
.../table-functions/generate_series.md | 4 +
.../sql-functions/utility-functions/bar.md | 40 +
.../utility-functions/catalog.md | 4 +
.../utility-functions/current_role.md | 4 +
.../utility-functions/current_version.md | 4 +
.../utility-functions/database.md | 4 +
.../utility-functions/equiwidth_bucket.md | 39 +
.../utility-functions/get_query_profile.md | 4 +
.../utility-functions/host_name.md | 4 +
.../utility-functions/is_role_in_session.md | 4 +
.../utility-functions/isnotnull.md | 4 +
.../sql-functions/utility-functions/isnull.md | 4 +
.../utility-functions/last_query_id.md | 4 +
.../sql-functions/utility-functions/sleep.md | 4 +
.../sql-functions/utility-functions/uuid.md | 4 +
.../utility-functions/uuid_numeric.md | 4 +
.../utility-functions/version.md | 4 +
.../sql-statements/Database/SHOW_DATA.md | 4 +
.../Function/CREATE_FUNCTION.md | 17 +
.../table_bucket_part_index/ALTER_TABLE.md | 31 +
docs/en/sql-reference/template_for_config.md | 17 +
.../expression_partitioning.md | 8 +
docs/en/table_design/indexes/Bitmap_index.md | 4 +
docs/translation/.env.sample | 3 +
docs/translation/.gitignore | 5 +
docs/translation/README.md | 167 ++
docs/translation/en-to-zh-configs/config.yaml | 24 +
.../en-to-zh-configs/evaluation_prompt.txt | 9 +
.../en-to-zh-configs/human_prompt.txt | 51 +
.../en-to-zh-configs/language_dicts/en.yaml | 137 ++
.../en-to-zh-configs/language_dicts/zh.yaml | 139 ++
.../en-to-zh-configs/system_prompt.txt | 68 +
.../translation/scripts/en-to-zh.translate.sh | 4 +
.../translation/scripts/zh-to-en.translate.sh | 4 +
docs/translation/translation.Dockerfile | 9 +
docs/translation/zh-to-en-configs/config.yaml | 24 +
.../zh-to-en-configs/evaluation_prompt.txt | 9 +
.../zh-to-en-configs/human_prompt.txt | 51 +
.../zh-to-en-configs/language_dicts/en.yaml | 137 ++
.../zh-to-en-configs/language_dicts/zh.yaml | 139 ++
.../zh-to-en-configs/system_prompt.txt | 68 +
.../management/FE_configuration.md | 18 +
.../resource_management/query_queues.md | 6 +
.../zh/data_source/catalog/iceberg_catalog.md | 52 +
.../deployment/environment_configurations.md | 4 +
.../build_starrocks_on_ubuntu.md | 4 +
docs/zh/ecosystem_release/flink_connector.md | 43 +
docs/zh/ecosystem_release/kafka_connector.md | 4 +
docs/zh/ecosystem_release/spark_connector.md | 14 +
docs/zh/introduction/what_is_starrocks.md | 4 +
docs/zh/loading/Kafka-connector-starrocks.md | 63 +
docs/zh/quick_start/helm.md | 220 ++
docs/zh/release_notes/release-2.5.md | 41 +
docs/zh/release_notes/release-3.0.md | 61 +
docs/zh/release_notes/release-3.1.md | 660 ++++++
docs/zh/release_notes/release-3.2.md | 311 +++
docs/zh/release_notes/release-3.3.md | 531 +++++
docs/zh/sql-reference/System_variable.md | 22 +
.../sql-reference/sql-functions/Python_UDF.md | 143 ++
.../aggregate-functions/any_value.md | 4 +
.../approx_count_distinct.md | 4 +
.../aggregate-functions/approx_top_k.md | 4 +
.../sql-functions/aggregate-functions/avg.md | 4 +
.../sql-functions/aggregate-functions/corr.md | 4 +
.../aggregate-functions/count.md | 4 +
.../aggregate-functions/count_if.md | 4 +
.../aggregate-functions/covar_pop.md | 4 +
.../aggregate-functions/covar_samp.md | 4 +
.../aggregate-functions/group_concat.md | 4 +
.../aggregate-functions/grouping.md | 4 +
.../aggregate-functions/grouping_id.md | 4 +
.../aggregate-functions/hll_raw_agg.md | 4 +
.../aggregate-functions/hll_union.md | 4 +
.../aggregate-functions/hll_union_agg.md | 4 +
.../mann_whitney_u_test.md | 129 ++
.../sql-functions/aggregate-functions/max.md | 4 +
.../aggregate-functions/max_by.md | 4 +
.../sql-functions/aggregate-functions/min.md | 4 +
.../aggregate-functions/min_by.md | 4 +
.../multi_distinct_count.md | 4 +
.../aggregate-functions/multi_distinct_sum.md | 4 +
.../aggregate-functions/percentile_approx.md | 4 +
.../aggregate-functions/percentile_cont.md | 4 +
.../aggregate-functions/percentile_disc.md | 4 +
.../aggregate-functions/percentile_disc_lc.md | 96 +
.../aggregate-functions/retention.md | 4 +
.../sql-functions/aggregate-functions/std.md | 4 +
.../aggregate-functions/stddev.md | 4 +
.../aggregate-functions/stddev_samp.md | 4 +
.../sql-functions/aggregate-functions/sum.md | 4 +
.../aggregate-functions/var_samp.md | 4 +
.../aggregate-functions/variance.md | 4 +
.../aggregate-functions/window_funnel.md | 4 +
.../array-functions/all_match.md | 4 +
.../array-functions/any_match.md | 4 +
.../array-functions/array_agg.md | 4 +
.../array-functions/array_append.md | 4 +
.../array-functions/array_avg.md | 4 +
.../array-functions/array_concat.md | 4 +
.../array-functions/array_contains.md | 4 +
.../array-functions/array_contains_all.md | 4 +
.../array-functions/array_cum_sum.md | 4 +
.../array-functions/array_difference.md | 4 +
.../array-functions/array_distinct.md | 4 +
.../array-functions/array_filter.md | 4 +
.../array-functions/array_generate.md | 4 +
.../array-functions/array_intersect.md | 4 +
.../array-functions/array_join.md | 4 +
.../array-functions/array_length.md | 4 +
.../array-functions/array_map.md | 4 +
.../array-functions/array_max.md | 4 +
.../array-functions/array_min.md | 4 +
.../array-functions/array_position.md | 4 +
.../array-functions/array_remove.md | 4 +
.../array-functions/array_slice.md | 4 +
.../array-functions/array_sort.md | 4 +
.../array-functions/array_sortby.md | 4 +
.../array-functions/array_sum.md | 4 +
.../array-functions/array_to_bitmap.md | 4 +
.../array-functions/array_unique_agg.md | 4 +
.../array-functions/arrays_overlap.md | 4 +
.../array-functions/cardinality.md | 4 +
.../array-functions/element_at.md | 4 +
.../sql-functions/array-functions/reverse.md | 4 +
.../sql-functions/array-functions/unnest.md | 4 +
.../binary-functions/from_binary.md | 4 +
.../binary-functions/to_binary.md | 4 +
.../bit-functions/bit_shift_left.md | 4 +
.../bit-functions/bit_shift_right.md | 4 +
.../bit-functions/bit_shift_right_logical.md | 4 +
.../sql-functions/bit-functions/bitand.md | 4 +
.../sql-functions/bit-functions/bitnot.md | 4 +
.../sql-functions/bit-functions/bitor.md | 4 +
.../sql-functions/bit-functions/bitxor.md | 4 +
.../bitmap-functions/base64_to_bitmap.md | 4 +
.../bitmap-functions/bitmap_agg.md | 4 +
.../bitmap-functions/bitmap_and.md | 4 +
.../bitmap-functions/bitmap_andnot.md | 4 +
.../bitmap-functions/bitmap_contains.md | 4 +
.../bitmap-functions/bitmap_count.md | 4 +
.../bitmap-functions/bitmap_empty.md | 4 +
.../bitmap-functions/bitmap_from_binary.md | 4 +
.../bitmap-functions/bitmap_from_string.md | 4 +
.../bitmap-functions/bitmap_has_any.md | 4 +
.../bitmap-functions/bitmap_hash.md | 4 +
.../bitmap-functions/bitmap_intersect.md | 4 +
.../bitmap-functions/bitmap_max.md | 4 +
.../bitmap-functions/bitmap_min.md | 4 +
.../bitmap-functions/bitmap_or.md | 4 +
.../bitmap-functions/bitmap_remove.md | 4 +
.../bitmap_subset_in_range.md | 4 +
.../bitmap-functions/bitmap_subset_limit.md | 4 +
.../bitmap-functions/bitmap_to_array.md | 4 +
.../bitmap-functions/bitmap_to_base64.md | 4 +
.../bitmap-functions/bitmap_to_binary.md | 4 +
.../bitmap-functions/bitmap_to_string.md | 4 +
.../bitmap-functions/bitmap_union.md | 4 +
.../bitmap-functions/bitmap_union_count.md | 4 +
.../bitmap-functions/bitmap_union_int.md | 4 +
.../bitmap-functions/bitmap_xor.md | 4 +
.../bitmap-functions/intersect_count.md | 4 +
.../bitmap-functions/sub_bitmap.md | 4 +
.../bitmap-functions/subdivide_bitmap.md | 4 +
.../bitmap-functions/to_bitmap.md | 4 +
.../bitmap-functions/unnest_bitmap.md | 4 +
docs/zh/sql-reference/sql-functions/cast.md | 4 +
.../condition-functions/case_when.md | 4 +
.../condition-functions/coalesce.md | 4 +
.../sql-functions/condition-functions/if.md | 4 +
.../condition-functions/ifnull.md | 4 +
.../condition-functions/nullif.md | 4 +
.../crytographic-functions/aes_decrypt.md | 4 +
.../crytographic-functions/aes_encrypt.md | 4 +
.../base64_decode_binary.md | 4 +
.../base64_decode_string.md | 4 +
.../crytographic-functions/from_base64.md | 4 +
.../crytographic-functions/md5.md | 4 +
.../crytographic-functions/md5sum.md | 4 +
.../crytographic-functions/md5sum_numeric.md | 4 +
.../crytographic-functions/sha2.md | 4 +
.../crytographic-functions/sm3.md | 4 +
.../crytographic-functions/to_base64.md | 4 +
.../date-time-functions/add_months.md | 4 +
.../date-time-functions/convert_tz.md | 4 +
.../date-time-functions/curdate.md | 4 +
.../date-time-functions/current_timestamp.md | 4 +
.../date-time-functions/curtime.md | 4 +
.../sql-functions/date-time-functions/date.md | 4 +
.../date-time-functions/date_add.md | 4 +
.../date-time-functions/date_diff.md | 4 +
.../date-time-functions/date_format.md | 4 +
.../date-time-functions/date_slice.md | 4 +
.../date-time-functions/date_sub.md | 4 +
.../date-time-functions/date_trunc.md | 4 +
.../date-time-functions/datediff.md | 4 +
.../sql-functions/date-time-functions/day.md | 4 +
.../date-time-functions/day_of_week_iso.md | 4 +
.../date-time-functions/dayname.md | 4 +
.../date-time-functions/dayofmonth.md | 4 +
.../date-time-functions/dayofweek.md | 4 +
.../date-time-functions/dayofyear.md | 4 +
.../date-time-functions/days_add.md | 4 +
.../date-time-functions/days_diff.md | 4 +
.../date-time-functions/days_sub.md | 4 +
.../date-time-functions/from_days.md | 4 +
.../date-time-functions/from_unixtime.md | 4 +
.../sql-functions/date-time-functions/hour.md | 4 +
.../date-time-functions/hours_add.md | 4 +
.../date-time-functions/hours_diff.md | 4 +
.../date-time-functions/hours_sub.md | 4 +
.../date-time-functions/jodatime_format.md | 4 +
.../date-time-functions/last_day.md | 4 +
.../date-time-functions/makedate.md | 4 +
.../date-time-functions/microseconds_add.md | 4 +
.../date-time-functions/microseconds_sub.md | 4 +
.../date-time-functions/milliseconds_diff.md | 4 +
.../date-time-functions/minute.md | 4 +
.../date-time-functions/minutes_add.md | 4 +
.../date-time-functions/minutes_diff.md | 4 +
.../date-time-functions/minutes_sub.md | 4 +
.../date-time-functions/month.md | 4 +
.../date-time-functions/monthname.md | 4 +
.../date-time-functions/months_add.md | 4 +
.../date-time-functions/months_diff.md | 4 +
.../date-time-functions/months_sub.md | 4 +
.../date-time-functions/next_day.md | 4 +
.../sql-functions/date-time-functions/now.md | 4 +
.../date-time-functions/previous_day.md | 4 +
.../date-time-functions/quarter.md | 4 +
.../date-time-functions/second.md | 4 +
.../date-time-functions/seconds_add.md | 4 +
.../date-time-functions/seconds_diff.md | 4 +
.../date-time-functions/seconds_sub.md | 4 +
.../date-time-functions/str2date.md | 4 +
.../date-time-functions/str_to_date.md | 4 +
.../date-time-functions/str_to_jodatime.md | 4 +
.../date-time-functions/time_slice.md | 4 +
.../date-time-functions/time_to_sec.md | 4 +
.../date-time-functions/timediff.md | 4 +
.../date-time-functions/timestamp.md | 4 +
.../date-time-functions/timestampadd.md | 4 +
.../date-time-functions/timestampdiff.md | 4 +
.../date-time-functions/to_date.md | 4 +
.../date-time-functions/to_days.md | 4 +
.../date-time-functions/to_iso8601.md | 4 +
.../date-time-functions/to_tera_date.md | 4 +
.../date-time-functions/to_tera_timestamp.md | 4 +
.../date-time-functions/unix_timestamp.md | 4 +
.../date-time-functions/utc_timestamp.md | 4 +
.../sql-functions/date-time-functions/week.md | 4 +
.../date-time-functions/week_iso.md | 4 +
.../date-time-functions/weekofyear.md | 4 +
.../date-time-functions/weeks_add.md | 4 +
.../date-time-functions/weeks_diff.md | 4 +
.../date-time-functions/weeks_sub.md | 4 +
.../sql-functions/date-time-functions/year.md | 4 +
.../date-time-functions/years_add.md | 4 +
.../date-time-functions/years_diff.md | 4 +
.../date-time-functions/years_sub.md | 4 +
.../date-time-functions/yearweek.md | 4 +
.../dict-functions/dict_mapping.md | 4 +
.../hash-functions/murmur_hash3_32.md | 4 +
.../hash-functions/xx_hash3_128.md | 4 +
.../hash-functions/xx_hash3_64.md | 4 +
.../json-constructor-functions/json_array.md | 4 +
.../json-constructor-functions/json_object.md | 4 +
.../json-constructor-functions/parse_json.md | 4 +
.../arrow-function.md | 4 +
.../cast.md | 4 +
.../get_json_bool.md | 4 +
.../get_json_double.md | 4 +
.../get_json_int.md | 4 +
.../get_json_string.md | 4 +
.../json_each.md | 4 +
.../json_exists.md | 4 +
.../json_keys.md | 4 +
.../json_length.md | 4 +
.../json_string.md | 4 +
.../to_json.md | 4 +
.../like-predicate-functions/like.md | 4 +
.../like-predicate-functions/regexp.md | 4 +
.../regexp_extract.md | 4 +
.../regexp_extract_all.md | 4 +
.../regexp_replace.md | 4 +
.../map-functions/cardinality.md | 4 +
.../map-functions/distinct_map_keys.md | 4 +
.../sql-functions/map-functions/element_at.md | 4 +
.../sql-functions/map-functions/map_apply.md | 4 +
.../sql-functions/map-functions/map_concat.md | 4 +
.../sql-functions/map-functions/map_filter.md | 4 +
.../map-functions/map_from_arrays.md | 4 +
.../sql-functions/map-functions/map_keys.md | 4 +
.../sql-functions/map-functions/map_size.md | 4 +
.../sql-functions/map-functions/map_values.md | 4 +
.../map-functions/transform_keys.md | 4 +
.../map-functions/transform_values.md | 4 +
.../sql-functions/math-functions/abs.md | 4 +
.../sql-functions/math-functions/acos.md | 4 +
.../sql-functions/math-functions/asin.md | 4 +
.../sql-functions/math-functions/atan.md | 4 +
.../sql-functions/math-functions/atan2.md | 4 +
.../sql-functions/math-functions/bin.md | 4 +
.../sql-functions/math-functions/cbrt.md | 4 +
.../sql-functions/math-functions/ceil.md | 4 +
.../sql-functions/math-functions/ceiling.md | 4 +
.../sql-functions/math-functions/conv.md | 4 +
.../sql-functions/math-functions/cos.md | 4 +
.../math-functions/cos_similarity.md | 4 +
.../math-functions/cos_similarity_norm.md | 4 +
.../sql-functions/math-functions/cosh.md | 4 +
.../sql-functions/math-functions/cot.md | 4 +
.../sql-functions/math-functions/degrees.md | 4 +
.../sql-functions/math-functions/divide.md | 4 +
.../sql-functions/math-functions/e.md | 4 +
.../sql-functions/math-functions/exp.md | 4 +
.../sql-functions/math-functions/floor.md | 4 +
.../sql-functions/math-functions/fmod.md | 4 +
.../sql-functions/math-functions/greatest.md | 4 +
.../sql-functions/math-functions/least.md | 4 +
.../sql-functions/math-functions/ln.md | 4 +
.../sql-functions/math-functions/log.md | 4 +
.../sql-functions/math-functions/log10.md | 4 +
.../sql-functions/math-functions/log2.md | 4 +
.../sql-functions/math-functions/mod.md | 4 +
.../sql-functions/math-functions/multiply.md | 4 +
.../sql-functions/math-functions/negative.md | 4 +
.../sql-functions/math-functions/pi.md | 4 +
.../sql-functions/math-functions/pmod.md | 4 +
.../sql-functions/math-functions/positive.md | 4 +
.../sql-functions/math-functions/pow.md | 4 +
.../sql-functions/math-functions/radians.md | 4 +
.../sql-functions/math-functions/rand.md | 3 +
.../sql-functions/math-functions/round.md | 4 +
.../sql-functions/math-functions/sign.md | 4 +
.../sql-functions/math-functions/sin.md | 4 +
.../sql-functions/math-functions/sinh.md | 4 +
.../sql-functions/math-functions/sqrt.md | 4 +
.../sql-functions/math-functions/square.md | 4 +
.../sql-functions/math-functions/tan.md | 4 +
.../sql-functions/math-functions/tanh.md | 4 +
.../sql-functions/math-functions/truncate.md | 4 +
.../percentile_approx_raw.md | 4 +
.../percentile-functions/percentile_empty.md | 4 +
.../percentile-functions/percentile_hash.md | 4 +
.../percentile-functions/percentile_union.md | 4 +
.../scalar-functions/hll_cardinality.md | 4 +
.../scalar-functions/hll_empty.md | 4 +
.../scalar-functions/hll_hash.md | 4 +
.../spatial-functions/st_astext.md | 4 +
.../spatial-functions/st_circle.md | 4 +
.../spatial-functions/st_contains.md | 4 +
.../spatial-functions/st_distance_sphere.md | 4 +
.../spatial-functions/st_geometryfromtext.md | 4 +
.../spatial-functions/st_linefromtext.md | 4 +
.../spatial-functions/st_point.md | 4 +
.../spatial-functions/st_polygon.md | 4 +
.../sql-functions/spatial-functions/st_x.md | 4 +
.../sql-functions/spatial-functions/st_y.md | 4 +
.../append_trailing_char_if_absent.md | 4 +
.../sql-functions/string-functions/ascii.md | 4 +
.../sql-functions/string-functions/char.md | 4 +
.../string-functions/char_length.md | 4 +
.../string-functions/character_length.md | 4 +
.../sql-functions/string-functions/concat.md | 4 +
.../string-functions/concat_ws.md | 4 +
.../sql-functions/string-functions/crc32.md | 4 +
.../string-functions/ends_with.md | 4 +
.../string-functions/find_in_set.md | 4 +
.../string-functions/group_concat.md | 4 +
.../sql-functions/string-functions/hex.md | 4 +
.../string-functions/hex_decode_binary.md | 4 +
.../string-functions/hex_decode_string.md | 4 +
.../string-functions/inet_aton.md | 44 +
.../sql-functions/string-functions/instr.md | 4 +
.../sql-functions/string-functions/lcase.md | 4 +
.../sql-functions/string-functions/left.md | 4 +
.../sql-functions/string-functions/length.md | 4 +
.../sql-functions/string-functions/locate.md | 4 +
.../sql-functions/string-functions/lower.md | 4 +
.../sql-functions/string-functions/lpad.md | 4 +
.../sql-functions/string-functions/ltrim.md | 4 +
.../string-functions/money_format.md | 4 +
.../string-functions/ngram_search.md | 4 +
.../string-functions/null_or_empty.md | 4 +
.../string-functions/parse_url.md | 4 +
.../string-functions/regexp_split.md | 59 +
.../sql-functions/string-functions/repeat.md | 4 +
.../sql-functions/string-functions/replace.md | 4 +
.../sql-functions/string-functions/reverse.md | 4 +
.../sql-functions/string-functions/right.md | 4 +
.../sql-functions/string-functions/rpad.md | 4 +
.../sql-functions/string-functions/rtrim.md | 4 +
.../sql-functions/string-functions/space.md | 4 +
.../sql-functions/string-functions/split.md | 4 +
.../string-functions/split_part.md | 4 +
.../string-functions/starts_with.md | 4 +
.../string-functions/str_to_map.md | 4 +
.../sql-functions/string-functions/strleft.md | 4 +
.../string-functions/strright.md | 4 +
.../string-functions/substring.md | 4 +
.../string-functions/substring_index.md | 4 +
.../string-functions/translate.md | 4 +
.../sql-functions/string-functions/trim.md | 4 +
.../sql-functions/string-functions/ucase.md | 4 +
.../sql-functions/string-functions/unhex.md | 4 +
.../sql-functions/string-functions/upper.md | 4 +
.../string-functions/url_decode.md | 4 +
.../string-functions/url_encode.md | 4 +
.../string-functions/url_extract_host.md | 4 +
.../string-functions/url_extract_parameter.md | 4 +
.../struct-functions/named_struct.md | 4 +
.../sql-functions/struct-functions/row.md | 4 +
.../sql-functions/table-functions/files.md | 4 +
.../table-functions/generate_series.md | 4 +
.../sql-functions/utility-functions/bar.md | 39 +
.../utility-functions/catalog.md | 4 +
.../utility-functions/current_role.md | 4 +
.../utility-functions/current_version.md | 4 +
.../utility-functions/database.md | 4 +
.../utility-functions/equiwidth_bucket.md | 39 +
.../utility-functions/get_query_profile.md | 4 +
.../utility-functions/host_name.md | 4 +
.../utility-functions/is_role_in_session.md | 4 +
.../sql-functions/utility-functions/isnull.md | 4 +
.../utility-functions/last_query_id.md | 4 +
.../sql-functions/utility-functions/sleep.md | 4 +
.../sql-functions/utility-functions/uuid.md | 4 +
.../utility-functions/uuid_numeric.md | 4 +
.../utility-functions/version.md | 4 +
.../Function/CREATE_FUNCTION.md | 13 +
.../ALTER_MATERIALIZED_VIEW.md | 4 +
.../table_bucket_part_index/ALTER_TABLE.md | 31 +
.../table_bucket_part_index/SELECT.md | 3 +
docs/zh/sql-reference/template_for_config.md | 13 +
.../expression_partitioning.md | 8 +
env.sh | 3 +
fe/fe-core/pom.xml | 156 ++
.../main/java/com/starrocks/StarRocksFE.java | 30 +
.../com/starrocks/alter/AlterHandler.java | 9 +
.../com/starrocks/alter/AlterJobExecutor.java | 161 ++
.../java/com/starrocks/alter/AlterJobMgr.java | 145 ++
.../java/com/starrocks/alter/AlterJobV2.java | 47 +
.../starrocks/alter/AlterJobV2Builder.java | 89 +
.../starrocks/alter/AlterMVJobExecutor.java | 54 +
.../java/com/starrocks/alter/AlterOpType.java | 6 +
.../starrocks/alter/CompactionHandler.java | 26 +
.../com/starrocks/alter/LakeRollupJob.java | 744 +++++++
.../alter/LakeTableAlterJobV2Builder.java | 22 +
.../alter/LakeTableAlterMetaJob.java | 3 +
.../alter/LakeTableAlterMetaJobBase.java | 149 ++
.../alter/LakeTableRollupBuilder.java | 123 ++
.../alter/LakeTableSchemaChangeJob.java | 62 +
.../alter/LakeTableSchemaChangeJobBase.java | 173 ++
.../alter/MaterializedViewHandler.java | 166 ++
.../alter/OlapTableAlterJobV2Builder.java | 8 +
.../alter/OlapTableRollupJobBuilder.java | 134 ++
.../starrocks/alter/OnlineOptimizeJobV2.java | 220 ++
.../com/starrocks/alter/OptimizeJobV2.java | 96 +
.../starrocks/alter/OptimizeJobV2Builder.java | 8 +
.../java/com/starrocks/alter/RollupJobV2.java | 236 +++
.../starrocks/alter/SchemaChangeHandler.java | 181 ++
.../starrocks/alter/SchemaChangeJobV2.java | 119 ++
.../com/starrocks/alter/SystemHandler.java | 18 +
.../java/com/starrocks/analysis/Analyzer.java | 8 +
.../analysis/BloomFilterIndexUtil.java | 7 +
.../starrocks/analysis/DescriptorTable.java | 6 +
.../com/starrocks/analysis/DictQueryExpr.java | 3 +
.../starrocks/analysis/FunctionCallExpr.java | 4 +
.../com/starrocks/analysis/FunctionName.java | 9 +
.../java/com/starrocks/analysis/HintNode.java | 4 +
.../starrocks/analysis/InvertedIndexUtil.java | 30 +
.../com/starrocks/analysis/JoinOperator.java | 32 +
.../com/starrocks/analysis/LabelName.java | 7 +
.../com/starrocks/analysis/OutFileClause.java | 8 +
.../com/starrocks/analysis/ParseNode.java | 8 +
.../java/com/starrocks/analysis/SortInfo.java | 16 +
.../com/starrocks/analysis/TableName.java | 28 +
.../starrocks/analysis/VarBinaryLiteral.java | 3 +
.../starrocks/analysis/VectorIndexUtil.java | 142 ++
.../authentication/AuthenticationMgr.java | 42 +
.../AuthenticationProvider.java | 12 +
.../KerberosAuthenticationProvider.java | 23 +
.../LDAPAuthProviderForNative.java | 18 +
.../PlainPasswordAuthenticationProvider.java | 56 +
.../authentication/UserPropertyInfo.java | 14 +
.../authorization/AccessControlProvider.java | 73 +
.../authorization/AccessController.java | 202 ++
.../authorization/AccessDeniedException.java | 57 +
.../starrocks/authorization/ActionSet.java | 66 +
.../authorization/AuthorizationMgr.java | 1782 ++++++++++++++++
.../authorization/AuthorizationProvider.java | 95 +
.../authorization/CatalogPEntryObject.java | 156 ++
.../authorization/ColumnPrivilege.java | 276 +++
.../authorization/DbPEntryObject.java | 212 ++
.../DefaultAuthorizationProvider.java | 253 +++
.../ExternalAccessController.java | 17 +
.../ForwardCompatiblePEntryObject.java | 68 +
.../authorization/FunctionPEntryObject.java | 183 ++
.../GlobalFunctionPEntryObject.java | 135 ++
.../MaterializedViewPEntryObject.java | 69 +
.../authorization/NativeAccessController.java | 413 ++++
.../starrocks/authorization/ObjectType.java | 140 ++
.../starrocks/authorization/PEntryObject.java | 82 +
.../authorization/PipePEntryObject.java | 246 +++
.../authorization/PolicyFCEntryObject.java | 18 +
.../PrivObjNotFoundException.java | 23 +
.../PrivilegeBuiltinConstants.java | 65 +
.../authorization/PrivilegeCollectionV2.java | 297 +++
.../authorization/PrivilegeEntry.java | 68 +
.../authorization/PrivilegeException.java | 23 +
.../authorization/PrivilegeType.java | 141 ++
.../ResourceGroupPEntryObject.java | 128 ++
.../authorization/ResourcePEntryObject.java | 130 ++
.../RolePrivilegeCollectionV2.java | 154 ++
.../SecurityPolicyRewriteRule.java | 93 +
.../StorageVolumePEntryObject.java | 131 ++
.../authorization/TablePEntryObject.java | 297 +++
.../authorization/UserPEntryObject.java | 139 ++
.../UserPrivilegeCollectionV2.java | 64 +
.../authorization/ViewPEntryObject.java | 70 +
.../WarehouseFCPEntryObject.java | 18 +
.../authorization/WarehousePEntryObject.java | 128 ++
.../ranger/AccessTypeConverter.java | 20 +
.../ranger/ObjectTypeConverter.java | 20 +
.../ranger/RangerAccessController.java | 122 ++
.../ranger/RangerAccessResourceBuilder.java | 99 +
.../ranger/RangerStarRocksAccessRequest.java | 62 +
.../ranger/hive/HiveAccessType.java | 19 +
.../hive/RangerHiveAccessController.java | 135 ++
.../ranger/hive/RangerHiveResource.java | 42 +
.../RangerStarRocksAccessController.java | 465 +++++
.../starrocks/RangerStarRocksResource.java | 63 +
.../com/starrocks/backup/BackupHandler.java | 298 +++
.../java/com/starrocks/backup/BackupJob.java | 68 +
.../com/starrocks/backup/BackupJobInfo.java | 40 +
.../java/com/starrocks/backup/BackupMeta.java | 42 +
.../com/starrocks/backup/BlobStorage.java | 32 +
.../java/com/starrocks/backup/RestoreJob.java | 478 +++++
.../starrocks/backup/mv/MVRestoreUpdater.java | 24 +
.../com/starrocks/binlog/BinlogManager.java | 57 +
.../starrocks/catalog/AggregateFunction.java | 40 +
.../com/starrocks/catalog/AggregateType.java | 28 +
.../java/com/starrocks/catalog/Catalog.java | 7 +
.../starrocks/catalog/CatalogRecycleBin.java | 8 +
.../com/starrocks/catalog/CatalogUtils.java | 16 +
.../starrocks/catalog/ColocateTableIndex.java | 43 +
.../java/com/starrocks/catalog/Column.java | 116 ++
.../java/com/starrocks/catalog/Database.java | 187 ++
.../com/starrocks/catalog/DeltaLakeTable.java | 49 +
.../com/starrocks/catalog/Dictionary.java | 3 +
.../com/starrocks/catalog/DictionaryMgr.java | 107 +
.../starrocks/catalog/DistributionInfo.java | 7 +
.../starrocks/catalog/ExternalOlapTable.java | 38 +
.../java/com/starrocks/catalog/FileTable.java | 11 +
.../java/com/starrocks/catalog/Function.java | 72 +
.../com/starrocks/catalog/FunctionSet.java | 210 ++
.../starrocks/catalog/GlobalFunctionMgr.java | 104 +
.../java/com/starrocks/catalog/HiveTable.java | 62 +
.../java/com/starrocks/catalog/HudiTable.java | 35 +
.../com/starrocks/catalog/IcebergTable.java | 125 ++
.../com/starrocks/catalog/IcebergView.java | 5 +
.../java/com/starrocks/catalog/Index.java | 37 +
.../com/starrocks/catalog/IndexParams.java | 234 +++
.../java/com/starrocks/catalog/JDBCTable.java | 14 +
.../java/com/starrocks/catalog/KuduTable.java | 23 +
.../starrocks/catalog/ListPartitionInfo.java | 32 +
.../starrocks/catalog/MaterializedIndex.java | 45 +
.../starrocks/catalog/MaterializedView.java | 496 +++++
.../com/starrocks/catalog/MetadataViewer.java | 28 +
.../catalog/MvBaseTableUpdateInfo.java | 34 +
.../starrocks/catalog/MvRefreshArbiter.java | 37 +
.../com/starrocks/catalog/MvUpdateInfo.java | 8 +
.../com/starrocks/catalog/MysqlTable.java | 18 +
.../java/com/starrocks/catalog/OdpsTable.java | 16 +
.../java/com/starrocks/catalog/OlapTable.java | 254 +++
.../com/starrocks/catalog/PaimonTable.java | 16 +
.../java/com/starrocks/catalog/Partition.java | 278 +++
.../starrocks/catalog/PhysicalPartition.java | 489 +++++
.../catalog/ResourceGroupClassifier.java | 4 +
.../starrocks/catalog/ResourceGroupMgr.java | 16 +
.../com/starrocks/catalog/ResourceMgr.java | 7 +
.../com/starrocks/catalog/ScalarFunction.java | 135 ++
.../com/starrocks/catalog/StructField.java | 19 +
.../java/com/starrocks/catalog/Table.java | 98 +
.../starrocks/catalog/TableFunctionTable.java | 201 ++
.../com/starrocks/catalog/TableProperty.java | 36 +
.../catalog/TabletInvertedIndex.java | 35 +
.../com/starrocks/catalog/TabletStatMgr.java | 48 +
.../com/starrocks/catalog/TempPartitions.java | 5 +
.../main/java/com/starrocks/catalog/Type.java | 65 +
.../main/java/com/starrocks/catalog/View.java | 16 +
.../combinator/AggStateCombinator.java | 112 +
.../catalog/combinator/AggStateDesc.java | 202 ++
.../combinator/AggStateMergeCombinator.java | 110 +
.../combinator/AggStateUnionCombinator.java | 111 +
.../catalog/combinator/AggStateUtils.java | 232 +++
.../constraint/ForeignKeyConstraint.java | 50 +
.../catalog/constraint/UniqueConstraint.java | 10 +
.../catalog/mv/MVTimelinessArbiter.java | 139 ++
.../mv/MVTimelinessListPartitionArbiter.java | 71 +
.../mv/MVTimelinessNonPartitionArbiter.java | 9 +
.../mv/MVTimelinessRangePartitionArbiter.java | 79 +
.../information/TaskRunsSystemTable.java | 7 +
.../system/information/TasksSystemTable.java | 7 +
.../catalog/system/sys/GrantsTo.java | 44 +
.../catalog/system/sys/RoleEdges.java | 9 +
.../catalog/system/sys/SysFeLocks.java | 44 +
.../catalog/system/sys/SysFeMemoryUsage.java | 8 +
.../system/sys/SysObjectDependencies.java | 17 +
.../clone/ColocateTableBalancer.java | 21 +
.../clone/DiskAndTabletLoadReBalancer.java | 110 +
.../clone/DynamicPartitionScheduler.java | 126 ++
.../clone/PartitionTTLScheduler.java | 303 +++
.../clone/SchedulerRuntimeInfoCollector.java | 91 +
.../com/starrocks/clone/TabletChecker.java | 43 +
.../com/starrocks/clone/TabletSchedCtx.java | 45 +
.../com/starrocks/clone/TabletScheduler.java | 67 +
.../common/AlreadyExistsException.java | 4 +
.../starrocks/common/AnalysisException.java | 4 +
.../common/AuthenticationException.java | 4 +
.../java/com/starrocks/common/Config.java | 221 ++
.../java/com/starrocks/common/ConfigBase.java | 80 +
.../com/starrocks/common/DdlException.java | 4 +
.../java/com/starrocks/common/ErrorCode.java | 39 +
.../com/starrocks/common/ErrorReport.java | 13 +
.../com/starrocks/common/FeConstants.java | 10 +
.../starrocks/common/InvertedIndexParams.java | 16 +
.../com/starrocks/common/LoadException.java | 4 +
.../com/starrocks/common/MarkDownParser.java | 16 +
.../common/MetaNotFoundException.java | 4 +
.../common/NgramBfIndexParamsKey.java | 13 +
.../common/NoAliveBackendException.java | 4 +
.../common/NotImplementedException.java | 4 +
.../starrocks/common/StarRocksException.java | 81 +
.../java/com/starrocks/common/StatusOr.java | 51 +
.../starrocks/common/TimeoutException.java | 4 +
.../com/starrocks/common/TraceManager.java | 85 +
.../starrocks/common/VectorIndexParams.java | 177 ++
.../starrocks/common/VectorSearchOptions.java | 120 ++
.../com/starrocks/common/io/DeepCopy.java | 9 +
.../com/starrocks/common/io/ParamsKey.java | 15 +
.../common/proc/BackendsProcDir.java | 9 +
.../common/proc/ComputeNodeProcDir.java | 8 +
.../com/starrocks/common/proc/DbsProcDir.java | 20 +
.../common/proc/EsPartitionsProcDir.java | 16 +
.../starrocks/common/proc/EsShardProcDir.java | 8 +
.../proc/HMSTablePartitionsProcDir.java | 24 +
.../common/proc/IndexInfoProcDir.java | 16 +
.../starrocks/common/proc/IndicesProcDir.java | 16 +
.../starrocks/common/proc/JobsDbProcDir.java | 8 +
.../common/proc/LakeTabletsProcDir.java | 16 +
.../common/proc/LocalTabletsProcDir.java | 8 +
.../common/proc/PartitionsProcDir.java | 22 +
.../com/starrocks/common/proc/ProcUtils.java | 4 +
.../common/proc/ReplicasProcNode.java | 9 +
.../common/proc/StatisticProcDir.java | 20 +
.../starrocks/common/proc/TableProcDir.java | 8 +
.../starrocks/common/proc/TablesProcDir.java | 26 +
.../com/starrocks/common/profile/Tracer.java | 4 +
.../starrocks/common/profile/TracerImpl.java | 4 +
.../com/starrocks/common/profile/Tracers.java | 4 +
.../com/starrocks/common/profile/Var.java | 4 +
.../starrocks/common/profile/VarTracer.java | 12 +
.../com/starrocks/common/util/ArrowUtil.java | 49 +
.../starrocks/common/util/AutoInferUtil.java | 8 +
.../com/starrocks/common/util/BrokerUtil.java | 151 ++
.../com/starrocks/common/util/Daemon.java | 15 +
.../common/util/DynamicPartitionUtil.java | 131 ++
.../com/starrocks/common/util/KafkaUtil.java | 44 +
.../com/starrocks/common/util/ParseUtil.java | 11 +
.../starrocks/common/util/ProfileManager.java | 53 +
.../common/util/PropertyAnalyzer.java | 85 +
.../com/starrocks/common/util/PulsarUtil.java | 36 +
.../starrocks/common/util/SmallFileMgr.java | 12 +
.../com/starrocks/common/util/TimeUtils.java | 48 +
.../java/com/starrocks/common/util/Util.java | 6 +
.../common/util/concurrent/LockUtils.java | 173 ++
.../QueryableReentrantReadWriteLock.java | 188 ++
.../concurrent/lock/AutoCloseableLock.java | 21 +
.../common/util/concurrent/lock/Locker.java | 259 +++
.../starrocks/connector/AsyncTaskQueue.java | 314 +++
.../starrocks/connector/BranchOptions.java | 52 +
.../connector/CachingRemoteFileIO.java | 17 +
.../connector/CatalogConnectorMetadata.java | 101 +
.../starrocks/connector/ConnectorFactory.java | 4 +
.../ConnectorMetadatRequestContext.java | 42 +
.../connector/ConnectorMetadata.java | 128 ++
.../connector/ConnectorPartitionTraits.java | 48 +
.../connector/ConnectorProperties.java | 43 +
.../connector/ConnectorScanRangeSource.java | 30 +
.../connector/ConnectorTableInfo.java | 7 +
.../connector/ConnectorTableVersion.java | 35 +
.../DirectoryBasedUpdateArbitrator.java | 44 +
.../connector/GetRemoteFilesParams.java | 208 ++
.../HMSPartitionBasedRemoteInfoSource.java | 133 ++
.../connector/HivePartitionDataInfo.java | 33 +
.../connector/MetaPreparationItem.java | 30 +
.../ObjectBasedUpdateArbitrator.java | 59 +
.../starrocks/connector/PartitionInfo.java | 18 +
.../starrocks/connector/PartitionUtil.java | 124 ++
.../com/starrocks/connector/PointerType.java | 26 +
.../connector/PredicateSearchKey.java | 7 +
.../com/starrocks/connector/RemoteFileIO.java | 12 +
.../starrocks/connector/RemoteFileInfo.java | 31 +
.../RemoteFileInfoDefaultSource.java | 38 +
.../connector/RemoteFileInfoSource.java | 32 +
.../connector/RemoteFileOperations.java | 139 ++
.../connector/RemoteFileScanContext.java | 56 +
.../starrocks/connector/RemotePathKey.java | 49 +
.../connector/TableUpdateArbitrator.java | 79 +
.../connector/TableVersionRange.java | 82 +
.../com/starrocks/connector/TagOptions.java | 39 +
.../delta/DeltaConnectorScanRangeSource.java | 146 ++
.../delta/DeltaLakeCacheUpdateProcessor.java | 4 +
.../connector/delta/DeltaLakeMetadata.java | 190 ++
.../delta/DeltaLakeMetadataFactory.java | 17 +
.../connector/delta/DeltaRemoteFileInfo.java | 29 +
.../starrocks/connector/delta/DeltaUtils.java | 4 +
.../connector/delta/FileScanTask.java | 26 +
.../connector/delta/ScanFileUtils.java | 16 +
.../connector/elasticsearch/EsRepository.java | 7 +
.../connector/hive/CachingHiveMetastore.java | 26 +
.../hive/ConnectorTableMetadataProcessor.java | 20 +
.../hive/HiveCacheUpdateProcessor.java | 146 ++
.../connector/hive/HiveCommitter.java | 50 +
.../connector/hive/HiveConnector.java | 5 +
.../hive/HiveConnectorScanRangeSource.java | 412 ++++
.../connector/hive/HiveMetadata.java | 212 ++
.../connector/hive/HiveMetadataFactory.java | 27 +
.../connector/hive/HiveMetastore.java | 16 +
.../hive/HiveMetastoreApiConverter.java | 16 +
.../hive/HiveMetastoreOperations.java | 67 +
.../connector/hive/HiveRemoteFileIO.java | 22 +
.../hive/HiveStatisticsProvider.java | 74 +
.../connector/hive/HiveWriteUtils.java | 9 +
.../starrocks/connector/hive/Partition.java | 12 +
.../connector/hive/RemoteFileInputFormat.java | 12 +
.../connector/hudi/HudiConnector.java | 13 +
.../hudi/HudiConnectorScanRangeSource.java | 153 ++
.../connector/hudi/HudiMetadata.java | 97 +
.../connector/hudi/HudiMetadataFactory.java | 26 +
.../connector/hudi/HudiRemoteFileIO.java | 89 +
.../iceberg/CachingIcebergCatalog.java | 179 ++
.../iceberg/IcebergAlterTableExecutor.java | 246 +++
.../iceberg/IcebergApiConverter.java | 37 +
.../connector/iceberg/IcebergCatalog.java | 201 ++
.../connector/iceberg/IcebergConnector.java | 17 +
.../IcebergConnectorScanRangeSource.java | 359 ++++
.../iceberg/IcebergDeleteSchema.java | 57 +
.../iceberg/IcebergGetRemoteFilesParams.java | 61 +
.../connector/iceberg/IcebergMORParams.java | 95 +
.../connector/iceberg/IcebergMetaSpec.java | 18 +
.../connector/iceberg/IcebergMetaSplit.java | 32 +
.../connector/iceberg/IcebergMetadata.java | 591 ++++++
.../iceberg/IcebergPartitionUtils.java | 165 ++
.../iceberg/IcebergRemoteFileInfo.java | 30 +
.../IcebergRemoteFileInfoSourceKey.java | 64 +
.../iceberg/IcebergRemoteSourceTrigger.java | 136 ++
.../iceberg/IcebergTableOperation.java | 31 +
.../QueueIcebergRemoteFileInfoSource.java | 51 +
.../cost/IcebergStatisticProvider.java | 32 +
.../iceberg/glue/IcebergGlueCatalog.java | 8 +
.../iceberg/hadoop/IcebergHadoopCatalog.java | 8 +
.../iceberg/hive/IcebergHiveCatalog.java | 8 +
.../iceberg/rest/IcebergRESTCatalog.java | 112 +
.../iceberg/rest/OAuth2SecurityConfig.java | 126 ++
.../rest/OAuth2SecurityProperties.java | 50 +
.../connector/iceberg/rest/SecurityEnum.java | 19 +
.../connector/jdbc/JDBCMetadata.java | 19 +
.../connector/jdbc/MysqlSchemaResolver.java | 5 +
.../connector/kudu/KuduMetadata.java | 33 +
.../kudu/KuduPredicateConverter.java | 4 +
.../AbstractMetadataTableFactory.java | 21 +
.../metadata/MetadataCollectJob.java | 5 +
.../connector/metadata/MetadataExecutor.java | 4 +
.../connector/metadata/MetadataTable.java | 50 +
.../MetadataTableFactoryProvider.java | 27 +
.../connector/metadata/MetadataTableType.java | 11 +
.../metadata/TableMetaConnector.java | 7 +
.../connector/metadata/TableMetaMetadata.java | 40 +
.../metadata/iceberg/IcebergFilesTable.java | 93 +
.../metadata/iceberg/IcebergHistoryTable.java | 70 +
.../iceberg/IcebergManifestsTable.java | 87 +
.../IcebergMetadataLogEntriesTable.java | 72 +
.../iceberg/IcebergMetadataTableFactory.java | 52 +
.../iceberg/IcebergPartitionsTable.java | 99 +
.../metadata/iceberg/IcebergRefsTable.java | 73 +
.../iceberg/IcebergSnapshotsTable.java | 74 +
.../iceberg/LogicalIcebergMetadataTable.java | 37 +
.../connector/odps/OdpsMetadata.java | 57 +
.../connector/paimon/PaimonConnector.java | 17 +
.../connector/paimon/PaimonMetadata.java | 70 +
.../connector/parser/trino/AstBuilder.java | 67 +
.../parser/trino/TrinoParserUtils.java | 8 +
.../CachedPartitionTraits.java | 24 +
.../partitiontraits/DefaultTraits.java | 38 +
.../DeltaLakePartitionTraits.java | 6 +
.../partitiontraits/HivePartitionTraits.java | 10 +
.../partitiontraits/HudiPartitionTraits.java | 10 +
.../IcebergPartitionTraits.java | 33 +
.../partitiontraits/JDBCPartitionTraits.java | 6 +
.../partitiontraits/KuduPartitionTraits.java | 6 +
.../partitiontraits/OdpsPartitionTraits.java | 6 +
.../partitiontraits/OlapPartitionTraits.java | 29 +
.../PaimonPartitionTraits.java | 3 +
.../statistics/ConnectorAnalyzeTask.java | 195 ++
.../statistics/ConnectorAnalyzeTaskQueue.java | 128 ++
.../ConnectorColumnStatsCacheLoader.java | 4 +
.../statistics/ConnectorTableColumnStats.java | 19 +
.../ConnectorTableTriggerAnalyzeMgr.java | 105 +
.../connector/statistics/StatisticsUtils.java | 82 +
.../connector/unified/UnifiedMetadata.java | 64 +
.../consistency/CheckConsistencyJob.java | 35 +
.../consistency/ConsistencyChecker.java | 256 +++
.../starrocks/consistency/LockChecker.java | 49 +
.../consistency/MetaRecoveryDaemon.java | 29 +
.../credential/CloudConfigurationFactory.java | 18 +
.../datacache/DataCacheSelectExecutor.java | 12 +
.../main/java/com/starrocks/fs/HdfsUtil.java | 123 ++
.../com/starrocks/fs/hdfs/HdfsFsManager.java | 304 +++
.../com/starrocks/fs/hdfs/HdfsService.java | 56 +
.../com/starrocks/fs/hdfs/WildcardURI.java | 12 +
.../src/main/java/com/starrocks/ha/BDBHA.java | 15 +
.../java/com/starrocks/ha/HAProtocol.java | 5 +
.../java/com/starrocks/ha/LeaderInfo.java | 10 +
.../java/com/starrocks/http/BaseAction.java | 9 +
.../starrocks/http/HttpConnectProcessor.java | 8 +
.../java/com/starrocks/http/HttpServer.java | 17 +
.../starrocks/http/action/WebBaseAction.java | 8 +
.../http/meta/ColocateMetaService.java | 15 +
.../http/meta/GlobalDictMetaService.java | 7 +
.../com/starrocks/http/meta/MetaService.java | 8 +
.../http/rest/BootstrapFinishAction.java | 63 +
.../starrocks/http/rest/CancelStreamLoad.java | 12 +
.../http/rest/CheckDecommissionAction.java | 15 +
.../starrocks/http/rest/GetDdlStmtAction.java | 21 +
.../http/rest/GetLoadInfoAction.java | 8 +
.../starrocks/http/rest/GetLogFileAction.java | 8 +
.../http/rest/GetStreamLoadState.java | 4 +
.../com/starrocks/http/rest/LoadAction.java | 74 +
.../http/rest/MetaReplayerCheckAction.java | 7 +
.../starrocks/http/rest/MetricsAction.java | 7 +
.../starrocks/http/rest/MigrationAction.java | 34 +
.../starrocks/http/rest/RestBaseAction.java | 138 ++
.../starrocks/http/rest/RestBaseResult.java | 60 +
.../starrocks/http/rest/RowCountAction.java | 19 +
.../starrocks/http/rest/SetConfigAction.java | 7 +
.../starrocks/http/rest/ShowDataAction.java | 11 +
.../http/rest/ShowMetaInfoAction.java | 11 +
.../starrocks/http/rest/ShowProcAction.java | 7 +
.../com/starrocks/http/rest/StopFeAction.java | 8 +
.../http/rest/StorageTypeCheckAction.java | 23 +
.../http/rest/StreamLoadMetaAction.java | 177 ++
.../http/rest/SyncCloudTableMetaAction.java | 7 +
.../http/rest/TableQueryPlanAction.java | 22 +
.../http/rest/TableRowCountAction.java | 22 +
.../http/rest/TableSchemaAction.java | 22 +
.../http/rest/TransactionLoadAction.java | 70 +
.../starrocks/http/rest/TriggerAction.java | 15 +
.../BypassWriteTransactionHandler.java | 63 +
.../TransactionOperationHandler.java | 8 +
.../TransactionWithChannelHandler.java | 12 +
.../TransactionWithoutChannelHandler.java | 41 +
.../http/rest/v2/RestBaseResultV2.java | 150 ++
.../http/rest/v2/TableBaseAction.java | 122 ++
.../http/rest/v2/TablePartitionAction.java | 94 +
.../http/rest/v2/TableSchemaAction.java | 56 +
.../starrocks/http/rest/v2/vo/ColumnView.java | 421 ++++
.../http/rest/v2/vo/DistributionInfoView.java | 92 +
.../starrocks/http/rest/v2/vo/IndexView.java | 118 ++
.../rest/v2/vo/MaterializedIndexMetaView.java | 82 +
.../http/rest/v2/vo/PartitionInfoView.java | 302 +++
.../http/rest/v2/vo/TableSchemaView.java | 263 +++
.../starrocks/http/rest/v2/vo/TabletView.java | 80 +
.../http/rest/v2/vo/package-info.java | 21 +
.../journal/CheckpointException.java | 21 +
.../starrocks/journal/CheckpointWorker.java | 192 ++
.../journal/GlobalStateCheckpointWorker.java | 74 +
.../com/starrocks/journal/JournalEntity.java | 220 ++
.../journal/StarMgrCheckpointWorker.java | 46 +
.../com/starrocks/journal/bdbje/BDBTool.java | 6 +
.../starrocks/journal/bdbje/Timestamp.java | 11 +
.../starrocks/lake/LakeMaterializedView.java | 21 +
.../java/com/starrocks/lake/LakeTable.java | 42 +
.../com/starrocks/lake/LakeTableHelper.java | 45 +
.../com/starrocks/lake/StarMgrMetaSyncer.java | 89 +
.../java/com/starrocks/lake/StarOSAgent.java | 75 +
.../com/starrocks/lake/TxnInfoHelper.java | 4 +
.../main/java/com/starrocks/lake/Utils.java | 44 +
.../starrocks/lake/backup/LakeBackupJob.java | 4 +
.../starrocks/lake/backup/LakeRestoreJob.java | 31 +
.../lake/compaction/CompactionMgr.java | 4 +
.../lake/compaction/CompactionScheduler.java | 60 +
.../CompactionTxnCommitAttachment.java | 6 +
.../starrocks/lake/delete/LakeDeleteJob.java | 16 +
.../lake/vacuum/AutovacuumDaemon.java | 24 +
.../leader/CheckpointController.java | 472 +++++
.../java/com/starrocks/leader/LeaderImpl.java | 105 +
.../java/com/starrocks/leader/MetaHelper.java | 33 +
.../com/starrocks/leader/ReportHandler.java | 475 +++++
.../starrocks/listener/LoadJobMVListener.java | 13 +
.../listener/LoadJobStatsListener.java | 4 +
.../com/starrocks/load/BrokerFileGroup.java | 13 +
.../java/com/starrocks/load/DeleteInfo.java | 12 +
.../java/com/starrocks/load/DeleteJob.java | 12 +
.../java/com/starrocks/load/DeleteMgr.java | 39 +
.../java/com/starrocks/load/EtlStatus.java | 3 +
.../com/starrocks/load/ExportChecker.java | 8 +
.../java/com/starrocks/load/ExportJob.java | 102 +
.../java/com/starrocks/load/ExportMgr.java | 31 +
.../starrocks/load/InsertOverwriteJob.java | 33 +
.../starrocks/load/InsertOverwriteJobMgr.java | 4 +
.../load/InsertOverwriteJobRunner.java | 116 ++
.../main/java/com/starrocks/load/Load.java | 95 +
.../com/starrocks/load/OlapDeleteJob.java | 29 +
.../com/starrocks/load/PartitionUtils.java | 121 ++
.../com/starrocks/load/TabletDeleteInfo.java | 13 +
.../load/batchwrite/BatchWriteId.java | 54 +
.../load/batchwrite/BatchWriteMgr.java | 226 ++
.../CoordinatorBackendAssigner.java | 56 +
.../CoordinatorBackendAssignerImpl.java | 864 ++++++++
.../load/batchwrite/IsomorphicBatchWrite.java | 264 +++
.../load/batchwrite/LoadExecuteCallback.java | 28 +
.../load/batchwrite/LoadExecutor.java | 323 +++
.../RequestCoordinatorBackendResult.java | 32 +
.../load/batchwrite/RequestLoadResult.java | 29 +
.../starrocks/load/batchwrite/TableId.java | 67 +
.../starrocks/load/loadv2/BrokerLoadJob.java | 39 +
.../load/loadv2/BrokerLoadPendingTask.java | 12 +
.../starrocks/load/loadv2/BulkLoadJob.java | 68 +
.../starrocks/load/loadv2/InsertLoadJob.java | 70 +
.../com/starrocks/load/loadv2/LoadJob.java | 41 +
.../load/loadv2/LoadJobFinalOperation.java | 6 +
.../load/loadv2/LoadLoadingTask.java | 13 +
.../com/starrocks/load/loadv2/LoadMgr.java | 56 +
.../com/starrocks/load/loadv2/LoadTask.java | 12 +
.../load/loadv2/LoadsHistorySyncer.java | 10 +
.../loadv2/ManualLoadTxnCommitAttachment.java | 6 +
.../loadv2/MiniLoadTxnCommitAttachment.java | 6 +
.../load/loadv2/SparkEtlJobHandler.java | 36 +
.../starrocks/load/loadv2/SparkLoadJob.java | 77 +
.../load/loadv2/SparkLoadPendingTask.java | 104 +
.../load/loadv2/SparkRepository.java | 24 +
.../starrocks/load/pipe/FilePipeSource.java | 12 +
.../java/com/starrocks/load/pipe/Pipe.java | 40 +
.../com/starrocks/load/pipe/PipeListener.java | 8 +
.../com/starrocks/load/pipe/PipeManager.java | 4 +
.../load/pipe/filelist/FileListTableRepo.java | 8 +
.../load/pipe/filelist/RepoCreator.java | 11 +
.../load/routineload/KafkaProgress.java | 8 +
.../load/routineload/KafkaRoutineLoadJob.java | 58 +
.../load/routineload/KafkaTaskInfo.java | 24 +
.../routineload/PulsarRoutineLoadJob.java | 49 +
.../load/routineload/PulsarTaskInfo.java | 24 +
.../RLTaskTxnCommitAttachment.java | 6 +
.../RoutineLoadFunctionalExprProvider.java | 8 +
.../load/routineload/RoutineLoadJob.java | 161 ++
.../load/routineload/RoutineLoadMgr.java | 51 +
.../routineload/RoutineLoadScheduler.java | 20 +
.../load/routineload/RoutineLoadTaskInfo.java | 23 +
.../routineload/RoutineLoadTaskScheduler.java | 8 +
.../StreamLoadFunctionalExprProvider.java | 6 +
.../load/streamload/StreamLoadHttpHeader.java | 77 +
.../load/streamload/StreamLoadInfo.java | 143 ++
.../load/streamload/StreamLoadKvParams.java | 376 ++++
.../load/streamload/StreamLoadMgr.java | 114 +
.../load/streamload/StreamLoadParams.java | 64 +
.../load/streamload/StreamLoadTask.java | 112 +
.../streamload/StreamLoadThriftParams.java | 194 ++
.../StreamLoadTxnCommitAttachment.java | 12 +
.../metric/MaterializedViewMetricsEntity.java | 51 +
.../java/com/starrocks/metric/MetricRepo.java | 66 +
.../com/starrocks/monitor/jvm/JvmStats.java | 15 +
.../starrocks/mv/MVMetaVersionRepairer.java | 91 +
.../com/starrocks/mv/MVRepairHandler.java | 15 +
.../mv/analyzer/MVPartitionExprResolver.java | 80 +
.../analyzer/MVPartitionSlotRefResolver.java | 17 +
.../starrocks/mysql/privilege/Password.java | 13 +
.../starrocks/persist/BackendTabletsInfo.java | 9 +
.../persist/CreateInsertOverwriteJobLog.java | 18 +
.../com/starrocks/persist/CreateUserInfo.java | 7 +
.../com/starrocks/persist/DatabaseInfo.java | 14 +
.../starrocks/persist/DropPartitionInfo.java | 3 +
.../starrocks/persist/DropPartitionsInfo.java | 124 ++
.../java/com/starrocks/persist/EditLog.java | 219 ++
.../com/starrocks/persist/MetaCleaner.java | 4 +
.../persist/ModifyPartitionInfo.java | 15 +
.../com/starrocks/persist/OperationType.java | 85 +
.../PhysicalPartitionPersistInfoV2.java | 12 +
.../com/starrocks/persist/RecoverInfo.java | 12 +
.../persist/RolePrivilegeCollectionInfo.java | 7 +
.../java/com/starrocks/persist/TableInfo.java | 9 +
.../persist/UserPrivilegeCollectionInfo.java | 7 +
.../com/starrocks/persist/gson/GsonUtils.java | 35 +
.../starrocks/planner/AggregationNode.java | 19 +
.../starrocks/planner/AnalyticEvalNode.java | 8 +
.../com/starrocks/planner/BinlogScanNode.java | 27 +
.../starrocks/planner/DeltaLakeScanNode.java | 95 +
.../com/starrocks/planner/EsScanNode.java | 23 +
.../com/starrocks/planner/ExchangeNode.java | 11 +
.../com/starrocks/planner/ExportSink.java | 11 +
.../com/starrocks/planner/FileScanNode.java | 87 +
.../starrocks/planner/FileTableScanNode.java | 17 +
.../starrocks/planner/FragmentNormalizer.java | 43 +
.../planner/HashDistributionPruner.java | 16 +
.../com/starrocks/planner/HashJoinNode.java | 30 +
.../com/starrocks/planner/HdfsScanNode.java | 40 +
.../com/starrocks/planner/HiveTableSink.java | 6 +
.../com/starrocks/planner/HudiScanNode.java | 20 +
.../planner/IcebergMetadataScanNode.java | 73 +
.../starrocks/planner/IcebergScanNode.java | 212 ++
.../starrocks/planner/IcebergTableSink.java | 36 +
.../com/starrocks/planner/JDBCScanNode.java | 15 +
.../java/com/starrocks/planner/JoinNode.java | 19 +
.../com/starrocks/planner/KuduScanNode.java | 28 +
.../com/starrocks/planner/LoadScanNode.java | 16 +
.../com/starrocks/planner/MetaScanNode.java | 38 +
.../com/starrocks/planner/MysqlScanNode.java | 15 +
.../com/starrocks/planner/MysqlTableSink.java | 5 +
.../com/starrocks/planner/OdpsScanNode.java | 28 +
.../com/starrocks/planner/OlapScanNode.java | 236 +++
.../com/starrocks/planner/OlapTableSink.java | 120 ++
.../com/starrocks/planner/PaimonScanNode.java | 31 +
.../com/starrocks/planner/PlanFragment.java | 22 +
.../java/com/starrocks/planner/PlanNode.java | 49 +
.../com/starrocks/planner/ProjectNode.java | 11 +
.../com/starrocks/planner/RepeatNode.java | 22 +
.../planner/RuntimeFilterPushDownContext.java | 5 +
.../java/com/starrocks/planner/ScanNode.java | 23 +
.../com/starrocks/planner/SchemaScanNode.java | 11 +
.../com/starrocks/planner/SelectNode.java | 58 +
.../starrocks/planner/SetOperationNode.java | 9 +
.../java/com/starrocks/planner/SortNode.java | 84 +
.../starrocks/planner/StreamLoadPlanner.java | 8 +
.../starrocks/planner/StreamLoadScanNode.java | 102 +
.../starrocks/planner/TableFunctionNode.java | 8 +
.../starrocks/plugin/BuiltinPluginLoader.java | 12 +
.../starrocks/plugin/DynamicPluginLoader.java | 35 +
.../com/starrocks/plugin/PluginException.java | 6 +
.../com/starrocks/plugin/PluginLoader.java | 25 +
.../java/com/starrocks/plugin/PluginMgr.java | 38 +
.../java/com/starrocks/plugin/PluginZip.java | 36 +
.../com/starrocks/qe/BackendSelector.java | 7 +
.../qe/ColocatedBackendSelector.java | 12 +
.../java/com/starrocks/qe/ConnectContext.java | 88 +
.../com/starrocks/qe/ConnectProcessor.java | 16 +
.../com/starrocks/qe/ConnectScheduler.java | 68 +
.../starrocks/qe/CoordinatorPreprocessor.java | 24 +
.../com/starrocks/qe/DDLStmtExecutor.java | 47 +
.../com/starrocks/qe/DefaultCoordinator.java | 205 ++
.../starrocks/qe/ExecuteExceptionHandler.java | 17 +
.../starrocks/qe/ExecuteScriptExecutor.java | 36 +
.../com/starrocks/qe/HDFSBackendSelector.java | 105 +
.../com/starrocks/qe/LeaderOpExecutor.java | 12 +
.../starrocks/qe/NormalBackendSelector.java | 8 +
.../java/com/starrocks/qe/QeProcessor.java | 10 +
.../com/starrocks/qe/QeProcessorImpl.java | 17 +
.../com/starrocks/qe/QueryQueueManager.java | 28 +
.../com/starrocks/qe/QueryStateException.java | 7 +
.../com/starrocks/qe/QueryStatisticsInfo.java | 23 +
.../java/com/starrocks/qe/ResultReceiver.java | 46 +
.../com/starrocks/qe/SessionVariable.java | 551 +++++
.../starrocks/qe/SetDefaultRoleExecutor.java | 10 +
.../com/starrocks/qe/SetRoleExecutor.java | 21 +
.../starrocks/qe/ShortCircuitExecutor.java | 21 +
.../qe/ShortCircuitHybridExecutor.java | 16 +
.../java/com/starrocks/qe/ShowExecutor.java | 221 ++
.../qe/ShowMaterializedViewStatus.java | 4 +
.../java/com/starrocks/qe/StmtExecutor.java | 522 +++++
.../starrocks/qe/feedback/NodeExecStats.java | 139 ++
.../qe/feedback/OperatorTuningGuides.java | 152 ++
.../qe/feedback/PlanAdvisorExecutor.java | 107 +
.../qe/feedback/PlanTuningAdvisor.java | 122 ++
.../qe/feedback/PlanTuningCacheKey.java | 73 +
.../feedback/analyzer/JoinTuningAnalyzer.java | 107 +
.../feedback/analyzer/PlanTuningAnalyzer.java | 48 +
.../analyzer/StreamingAggTuningAnalyzer.java | 110 +
.../qe/feedback/guide/JoinTuningGuide.java | 100 +
.../LeftChildEstimationErrorTuningGuide.java | 122 ++
.../RightChildEstimationErrorTuningGuide.java | 230 +++
.../guide/StreamingAggTuningGuide.java | 59 +
.../qe/feedback/guide/TuningGuide.java | 37 +
.../qe/feedback/skeleton/BlockingAggNode.java | 60 +
.../feedback/skeleton/DistributionNode.java | 58 +
.../qe/feedback/skeleton/JoinNode.java | 63 +
.../qe/feedback/skeleton/ScanNode.java | 69 +
.../qe/feedback/skeleton/SkeletonBuilder.java | 188 ++
.../qe/feedback/skeleton/SkeletonNode.java | 131 ++
.../feedback/skeleton/StreamingAggNode.java | 60 +
.../starrocks/qe/scheduler/Coordinator.java | 52 +
.../com/starrocks/qe/scheduler/Deployer.java | 30 +
.../qe/scheduler/FeExecuteCoordinator.java | 4 +
.../qe/scheduler/QueryRuntimeProfile.java | 14 +
.../qe/scheduler/SchedulerException.java | 6 +
.../scheduler/TFragmentInstanceFactory.java | 37 +
.../assignment/BackendSelectorFactory.java | 22 +
.../FragmentAssignmentStrategy.java | 10 +
.../FragmentAssignmentStrategyFactory.java | 4 +
.../LocalFragmentAssignmentStrategy.java | 63 +
.../RemoteFragmentAssignmentStrategy.java | 12 +
.../dag/AllAtOnceExecutionSchedule.java | 89 +
.../qe/scheduler/dag/ExecutionDAG.java | 4 +
.../qe/scheduler/dag/ExecutionSchedule.java | 14 +
.../qe/scheduler/dag/FragmentInstance.java | 54 +
.../dag/FragmentInstanceExecState.java | 27 +
.../starrocks/qe/scheduler/dag/JobSpec.java | 28 +
.../dag/PhasedExecutionSchedule.java | 61 +
.../scheduler/dag/ScheduleNextTurnRunner.java | 8 +
.../qe/scheduler/slot/GlobalSlotProvider.java | 9 +
.../starrocks/replication/ReplicationJob.java | 43 +
.../starrocks/replication/ReplicationMgr.java | 8 +
.../ReplicationTxnCommitAttachment.java | 6 +
.../java/com/starrocks/rpc/BrpcProxy.java | 6 +
.../com/starrocks/rpc/PBackendService.java | 12 +
.../com/starrocks/scheduler/Constants.java | 4 +
.../scheduler/DataCacheSelectProcessor.java | 20 +
.../starrocks/scheduler/MVActiveChecker.java | 9 +
.../starrocks/scheduler/MvTaskRunContext.java | 33 +
.../PartitionBasedMvRefreshProcessor.java | 255 +++
.../scheduler/TableSnapshotInfo.java | 5 +
.../scheduler/TableWithPartitions.java | 17 +
.../com/starrocks/scheduler/TaskManager.java | 16 +
.../java/com/starrocks/scheduler/TaskRun.java | 8 +
.../starrocks/scheduler/TaskRunManager.java | 17 +
.../scheduler/history/TableKeeper.java | 19 +
.../scheduler/mv/MVMaintenanceJob.java | 16 +
.../scheduler/mv/MVMaintenanceTask.java | 4 +
.../scheduler/mv/MVPCTMetaRepairer.java | 145 ++
.../mv/MVPCTRefreshListPartitioner.java | 327 +++
.../mv/MVPCTRefreshNonPartitioner.java | 17 +
.../scheduler/mv/MVPCTRefreshPartitioner.java | 79 +
.../scheduler/mv/MVPCTRefreshPlanBuilder.java | 141 ++
.../mv/MVPCTRefreshRangePartitioner.java | 198 ++
.../starrocks/scheduler/mv/MVTraceUtils.java | 4 +
.../scheduler/mv/MVVersionManager.java | 20 +
.../mv/TxnBasedEpochCoordinator.java | 16 +
.../java/com/starrocks/server/CatalogMgr.java | 49 +
.../com/starrocks/server/GlobalStateMgr.java | 421 ++++
.../starrocks/server/HiveTableFactory.java | 5 +
.../starrocks/server/HudiTableFactory.java | 5 +
.../starrocks/server/IcebergTableFactory.java | 5 +
.../com/starrocks/server/LocalMetastore.java | 1156 +++++++++++
.../com/starrocks/server/MetadataMgr.java | 202 ++
.../java/com/starrocks/server/NodeMgr.java | 76 +
.../starrocks/server/OlapTableFactory.java | 29 +
.../server/SharedDataStorageVolumeMgr.java | 8 +
.../starrocks/server/StorageVolumeMgr.java | 6 +
.../starrocks/server/WarehouseManager.java | 19 +
.../service/FrontendServiceImpl.java | 493 +++++
.../service/InformationSchemaDataSource.java | 65 +
.../sql/ArrowFlightSqlConnectContext.java | 200 ++
.../sql/ArrowFlightSqlConnectProcessor.java | 142 ++
.../flight/sql/ArrowFlightSqlService.java | 113 +
.../flight/sql/ArrowFlightSqlServiceImpl.java | 473 +++++
.../sql/auth/ArrowFlightSqlAuthenticator.java | 75 +
.../ArrowFlightSqlCredentialValidator.java | 61 +
.../session/ArrowFlightSqlSessionManager.java | 75 +
.../sql/session/ArrowFlightSqlTokenInfo.java | 43 +
.../session/ArrowFlightSqlTokenManager.java | 87 +
.../java/com/starrocks/sql/DeletePlanner.java | 15 +
.../main/java/com/starrocks/sql/Explain.java | 18 +
.../com/starrocks/sql/ExplainAnalyzer.java | 85 +
.../java/com/starrocks/sql/InsertPlanner.java | 91 +
.../java/com/starrocks/sql/LoadPlanner.java | 59 +
.../com/starrocks/sql/RankingWindowUtils.java | 136 ++
.../com/starrocks/sql/StatementPlanner.java | 131 ++
.../java/com/starrocks/sql/UpdatePlanner.java | 10 +
.../sql/analyzer/AggregationAnalyzer.java | 4 +
.../analyzer/AlterRoutineLoadAnalyzer.java | 8 +
.../analyzer/AlterTableClauseAnalyzer.java | 138 ++
.../analyzer/AlterTableStatementAnalyzer.java | 14 +
.../sql/analyzer/AnalyzeStmtAnalyzer.java | 71 +
.../com/starrocks/sql/analyzer/Analyzer.java | 71 +
.../starrocks/sql/analyzer/AnalyzerUtils.java | 150 ++
.../sql/analyzer/AstToSQLBuilder.java | 25 +
.../sql/analyzer/AstToStringBuilder.java | 110 +
.../sql/analyzer/AuthenticationAnalyzer.java | 167 ++
.../sql/analyzer/AuthorizationAnalyzer.java | 510 +++++
.../starrocks/sql/analyzer/Authorizer.java | 19 +
.../sql/analyzer/AuthorizerStmtVisitor.java | 169 ++
.../sql/analyzer/BackupRestoreAnalyzer.java | 122 ++
.../starrocks/sql/analyzer/CTASAnalyzer.java | 18 +
.../CancelAlterTableStatementAnalyzer.java | 9 +
.../sql/analyzer/CreateFunctionAnalyzer.java | 554 +++++
.../analyzer/CreateRoutineLoadAnalyzer.java | 8 +
.../sql/analyzer/CreateTableAnalyzer.java | 136 ++
.../sql/analyzer/CreateTableLikeAnalyzer.java | 20 +
.../analyzer/DecimalV3FunctionAnalyzer.java | 87 +
.../sql/analyzer/DeleteAnalyzer.java | 47 +
.../sql/analyzer/DictionaryAnalyzer.java | 3 +
.../sql/analyzer/DropStmtAnalyzer.java | 25 +
.../sql/analyzer/ExportStmtAnalyzer.java | 4 +
.../sql/analyzer/ExpressionAnalyzer.java | 60 +
.../starrocks/sql/analyzer/FeNameFormat.java | 19 +
.../sql/analyzer/FunctionAnalyzer.java | 649 ++++++
.../sql/analyzer/InsertAnalyzer.java | 333 +++
.../sql/analyzer/LoadStmtAnalyzer.java | 15 +
.../analyzer/MaterializedViewAnalyzer.java | 619 ++++++
.../sql/analyzer/PlannerMetaLocker.java | 23 +
.../analyzer/PolymorphicFunctionAnalyzer.java | 55 +
.../starrocks/sql/analyzer/QueryAnalyzer.java | 244 +++
.../analyzer/RecoverPartitionAnalyzer.java | 7 +
.../sql/analyzer/RecoverTableAnalyzer.java | 7 +
.../RefreshTableStatementAnalyzer.java | 7 +
.../sql/analyzer/ResourceGroupAnalyzer.java | 4 +
.../sql/analyzer/SelectAnalyzer.java | 10 +
.../sql/analyzer/SetStmtAnalyzer.java | 16 +
.../sql/analyzer/ShowAlterStmtAnalyzer.java | 8 +
.../sql/analyzer/ShowStmtAnalyzer.java | 36 +
.../sql/analyzer/ShowTabletStmtAnalyzer.java | 14 +
.../sql/analyzer/TruncateTableAnalyzer.java | 7 +
.../sql/analyzer/UpdateAnalyzer.java | 33 +
.../starrocks/sql/analyzer/ViewAnalyzer.java | 15 +
.../sql/analyzer/WarehouseAnalyzer.java | 17 +
.../starrocks/sql/ast/AbstractBackupStmt.java | 108 +
.../com/starrocks/sql/ast/AddFieldClause.java | 3 +
.../sql/ast/AlterRoutineLoadStmt.java | 47 +
.../sql/ast/AlterTableOperationClause.java | 55 +
.../com/starrocks/sql/ast/AlterUserStmt.java | 11 +
.../com/starrocks/sql/ast/AnalyzeStmt.java | 31 +
.../com/starrocks/sql/ast/AstVisitor.java | 68 +
.../com/starrocks/sql/ast/BackupStmt.java | 19 +
.../sql/ast/BaseCreateAlterUserStmt.java | 31 +
.../sql/ast/BaseGrantRevokePrivilegeStmt.java | 7 +
.../starrocks/sql/ast/CancelBackupStmt.java | 26 +
.../com/starrocks/sql/ast/CatalogRef.java | 80 +
.../java/com/starrocks/sql/ast/ColumnDef.java | 102 +
.../starrocks/sql/ast/CreateFunctionStmt.java | 119 ++
.../ast/CreateMaterializedViewStatement.java | 57 +
.../sql/ast/CreateMaterializedViewStmt.java | 119 ++
.../sql/ast/CreateOrReplaceBranchClause.java | 62 +
.../sql/ast/CreateOrReplaceTagClause.java | 62 +
.../sql/ast/CreateRoutineLoadStmt.java | 42 +
.../sql/ast/CreateTableAsSelectStmt.java | 8 +
.../com/starrocks/sql/ast/CreateUserStmt.java | 26 +
.../starrocks/sql/ast/DataDescription.java | 22 +
.../java/com/starrocks/sql/ast/DmlStmt.java | 48 +
.../starrocks/sql/ast/DropBranchClause.java | 43 +
.../starrocks/sql/ast/DropFunctionStmt.java | 21 +
.../sql/ast/DropPartitionClause.java | 67 +
.../com/starrocks/sql/ast/DropTagClause.java | 43 +
.../com/starrocks/sql/ast/ExportStmt.java | 12 +
.../sql/ast/FileTableFunctionRelation.java | 25 +
.../com/starrocks/sql/ast/FunctionRef.java | 90 +
.../java/com/starrocks/sql/ast/IndexDef.java | 23 +
.../com/starrocks/sql/ast/InsertStmt.java | 83 +
.../starrocks/sql/ast/IntervalLiteral.java | 8 +
.../starrocks/sql/ast/ListPartitionDesc.java | 77 +
.../com/starrocks/sql/ast/MVColumnItem.java | 27 +
.../com/starrocks/sql/ast/QueryPeriod.java | 59 +
.../com/starrocks/sql/ast/QueryStatement.java | 16 +
.../ast/RefreshMaterializedViewStatement.java | 19 +
.../com/starrocks/sql/ast/RestoreStmt.java | 19 +
.../starrocks/sql/ast/ShowAnalyzeJobStmt.java | 7 +
.../sql/ast/ShowAnalyzeStatusStmt.java | 14 +
.../sql/ast/ShowBasicStatsMetaStmt.java | 15 +
.../sql/ast/ShowHistogramStatsMetaStmt.java | 15 +
.../com/starrocks/sql/ast/StatementBase.java | 16 +
.../com/starrocks/sql/ast/TableRelation.java | 53 +
.../starrocks/sql/ast/TableSampleClause.java | 143 ++
.../com/starrocks/sql/ast/UnitIdentifier.java | 8 +
.../com/starrocks/sql/ast/UserAuthOption.java | 3 +
.../com/starrocks/sql/ast/UserIdentity.java | 13 +
.../com/starrocks/sql/ast/ValuesRelation.java | 29 +
.../sql/ast/feedback/AddPlanAdvisorStmt.java | 39 +
.../ast/feedback/ClearPlanAdvisorStmt.java | 30 +
.../sql/ast/feedback/DelPlanAdvisorStmt.java | 37 +
.../sql/ast/feedback/PlanAdvisorStmt.java | 31 +
.../sql/ast/feedback/ShowPlanAdvisorStmt.java | 30 +
.../starrocks/sql/ast/pipe/ShowPipeStmt.java | 4 +
.../sql/ast/warehouse/AlterWarehouseStmt.java | 67 +
.../sql/ast/warehouse/ShowWarehousesStmt.java | 4 +
.../sql/common/DebugOperatorTracer.java | 47 +
.../com/starrocks/sql/common/Generator.java | 12 +
.../sql/common/ListPartitionDiffer.java | 160 ++
.../com/starrocks/sql/common/MetaUtils.java | 69 +
.../com/starrocks/sql/common/PListCell.java | 39 +
.../com/starrocks/sql/common/PRangeCell.java | 25 +
.../starrocks/sql/common/PRangeCellPlus.java | 26 +
.../starrocks/sql/common/ParserErrorMsg.java | 27 +
.../starrocks/sql/common/PartitionDiff.java | 69 +
.../sql/common/PartitionDiffResult.java | 22 +
.../starrocks/sql/common/PartitionDiffer.java | 78 +
.../sql/common/PermutationGenerator.java | 9 +
.../sql/common/RangePartitionDiffer.java | 213 ++
.../starrocks/sql/common/SqlWithIdUtils.java | 8 +
.../sql/common/SyncPartitionUtils.java | 48 +
.../starrocks/sql/common/TimeUnitUtils.java | 27 +
.../com/starrocks/sql/optimizer/CTEUtils.java | 14 +
.../sql/optimizer/LogicalPlanPrinter.java | 8 +
.../sql/optimizer/MaterializationContext.java | 143 ++
.../optimizer/MaterializedViewOptimizer.java | 31 +
.../sql/optimizer/MvRewriteContext.java | 7 +
.../sql/optimizer/MvRewritePreprocessor.java | 28 +
.../sql/optimizer/OptExpression.java | 50 +
.../sql/optimizer/OptExpressionVisitor.java | 7 +
.../starrocks/sql/optimizer/Optimizer.java | 177 ++
.../sql/optimizer/OptimizerContext.java | 20 +
.../sql/optimizer/OptimizerTraceUtil.java | 16 +
.../optimizer/UKFKConstraintsCollector.java | 177 ++
.../com/starrocks/sql/optimizer/Utils.java | 18 +
.../sql/optimizer/base/ColumnRefSet.java | 4 +
.../sql/optimizer/base/LogicalProperty.java | 5 +
.../sql/optimizer/base/SortProperty.java | 4 +
.../sql/optimizer/function/MetaFunctions.java | 47 +
.../sql/optimizer/operator/OpRuleBit.java | 33 +
.../sql/optimizer/operator/Operator.java | 108 +
.../sql/optimizer/operator/OperatorType.java | 8 +
.../optimizer/operator/OperatorVisitor.java | 22 +
.../optimizer/operator/UKFKConstraints.java | 78 +
.../logical/LogicalAggregationOperator.java | 45 +
.../logical/LogicalAssertOneRowOperator.java | 20 +
.../logical/LogicalCTEAnchorOperator.java | 16 +
.../logical/LogicalCTEConsumeOperator.java | 16 +
.../logical/LogicalCTEProduceOperator.java | 19 +
.../logical/LogicalFilterOperator.java | 16 +
...icalIcebergEqualityDeleteScanOperator.java | 123 ++
.../LogicalIcebergMetadataScanOperator.java | 46 +
.../logical/LogicalIcebergScanOperator.java | 91 +
.../operator/logical/LogicalJoinOperator.java | 22 +
.../logical/LogicalLimitOperator.java | 20 +
.../logical/LogicalMetaScanOperator.java | 46 +
.../logical/LogicalOlapScanOperator.java | 85 +
.../logical/LogicalProjectOperator.java | 18 +
.../operator/logical/LogicalScanOperator.java | 73 +
.../operator/logical/LogicalSetOperator.java | 16 +
.../logical/LogicalTableFunctionOperator.java | 20 +
.../operator/logical/LogicalTopNOperator.java | 99 +
.../logical/LogicalUnionOperator.java | 35 +
.../logical/LogicalWindowOperator.java | 47 +
.../PhysicalHashAggregateOperator.java | 40 +
...icalIcebergEqualityDeleteScanOperator.java | 79 +
.../PhysicalIcebergMetadataScanOperator.java | 8 +
.../physical/PhysicalIcebergScanOperator.java | 33 +
.../physical/PhysicalMetaScanOperator.java | 24 +
.../physical/PhysicalOlapScanOperator.java | 76 +
.../physical/PhysicalScanOperator.java | 39 +
.../physical/PhysicalTopNOperator.java | 45 +
.../physical/PhysicalUnionOperator.java | 25 +
.../physical/PhysicalWindowOperator.java | 31 +
.../operator/scalar/ConstantOperator.java | 6 +
.../scalar/DictionaryGetOperator.java | 3 +
.../scalar/OperatorFunctionChecker.java | 65 +
.../optimizer/property/DomainProperty.java | 171 ++
.../property/DomainPropertyDeriver.java | 198 ++
.../optimizer/property/RangeExtractor.java | 344 ++++
.../optimizer/property/ReplaceShuttle.java | 61 +
.../rewrite/OptExternalPartitionPruner.java | 93 +
.../rewrite/OptOlapPartitionPruner.java | 116 ++
.../PartitionColPredicateEvaluator.java | 13 +
.../PartitionColPredicateExtractor.java | 10 +
.../rewrite/ReplaceColumnRefRewriter.java | 27 +
.../rewrite/ScalarOperatorEvaluator.java | 25 +
.../rewrite/ScalarOperatorFunctions.java | 34 +
.../ScalarRangePredicateExtractor.java | 33 +
.../rewrite/TableScanPredicateExtractor.java | 176 ++
.../rewrite/scalar/ReduceCastRule.java | 38 +
.../starrocks/sql/optimizer/rule/RuleSet.java | 47 +
.../sql/optimizer/rule/RuleSetType.java | 5 +
.../sql/optimizer/rule/RuleType.java | 28 +
...gEqualityDeleteScanImplementationRule.java | 44 +
.../IcebergScanImplementationRule.java | 5 +
.../NestLoopJoinImplementationRule.java | 10 +
.../TopNImplementationRule.java | 6 +
.../WindowImplementationRule.java | 4 +
.../sql/optimizer/rule/join/JoinOrder.java | 4 +
.../rule/join/JoinReorderFactory.java | 39 +
.../optimizer/rule/join/ReorderJoinRule.java | 22 +
.../rule/mv/MaterializedViewRule.java | 4 +
.../rule/transformation/EliminateAggRule.java | 56 +
.../ExternalScanPartitionPruneRule.java | 21 +
.../GroupByCountDistinctRewriteRule.java | 54 +
.../IcebergEqualityDeleteRewriteRule.java | 347 ++++
.../IcebergPartitionsTableRewriteRule.java | 116 ++
.../transformation/JoinCommutativityRule.java | 4 +
.../transformation/ListPartitionPruner.java | 123 ++
...aterializedViewTransparentRewriteRule.java | 21 +
.../transformation/MergeLimitDirectRule.java | 5 +
.../MergeProjectWithChildRule.java | 13 +
.../OnPredicateMoveAroundRule.java | 291 +++
.../transformation/PartitionPruneRule.java | 24 +
.../PruneHDFSScanColumnRule.java | 15 +
.../PruneUKFKGroupByKeysRule.java | 139 ++
.../PullUpScanPredicateRule.java | 270 +++
.../PushDownAggToMetaScanRule.java | 63 +
.../PushDownFlatJsonMetaToMetaScanRule.java | 7 +
.../PushDownLimitRankingWindowRule.java | 140 ++
.../PushDownPredicateRankingWindowRule.java | 160 ++
.../PushDownPredicateScanRule.java | 12 +
.../RewriteSimpleAggToHDFSScanRule.java | 5 +
.../RewriteSimpleAggToMetaScanRule.java | 7 +
.../RewriteToVectorPlanRule.java | 296 +++
.../transformation/SeparateProjectRule.java | 6 +
.../transformation/SplitAggregateRule.java | 8 +
.../SplitScanORToUnionRule.java | 7 +
.../AggregateFunctionRewriter.java | 111 +
...gatedMaterializedViewPushDownRewriter.java | 155 ++
.../AggregatedMaterializedViewRewriter.java | 140 ++
.../AggregatedTimeSeriesRewriter.java | 754 +++++++
.../materialization/AndRangePredicate.java | 11 +
.../materialization/BestMvSelector.java | 14 +
.../materialization/ColumnRangePredicate.java | 33 +
.../materialization/EquationRewriter.java | 49 +
.../materialization/MVColumnPruner.java | 4 +
.../materialization/MVPartitionPruner.java | 37 +
.../materialization/MVTransparentState.java | 15 +
.../materialization/MVUnionRewriteMode.java | 64 +
.../MaterializedViewRewriter.java | 142 ++
.../MvPartitionCompensator.java | 95 +
.../materialization/MvRewriteStrategy.java | 3 +
.../materialization/MvUtils.java | 186 ++
.../OptExpressionDuplicator.java | 37 +
.../materialization/PredicateExtractor.java | 11 +
.../common/AggregateFunctionRollupUtils.java | 192 ++
.../common/AggregatePushDownUtils.java | 373 ++++
.../compensation/MVCompensationBuilder.java | 177 ++
.../compensation/OptCompensator.java | 159 ++
.../equivalent/AggStateRewriteEquivalent.java | 212 ++
.../equivalent/CountRewriteEquivalent.java | 13 +
.../equivalent/DateTruncEquivalent.java | 45 +
.../equivalent/EquivalentShuttleContext.java | 41 +
.../equivalent/HLLRewriteEquivalent.java | 7 +
.../equivalent/IRewriteEquivalent.java | 9 +
.../equivalent/RewriteEquivalent.java | 33 +
.../rule/AggregateJoinPushDownRule.java | 21 +
.../rule/AggregateTimeSeriesRule.java | 58 +
.../rule/BaseMaterializedViewRewriteRule.java | 46 +
.../partition/PartitionSelector.java | 661 ++++++
.../tree/AddDecodeNodeForDictStringRule.java | 45 +
.../rule/tree/ApplyTuningGuideRule.java | 134 ++
.../tree/DataCachePopulateRewriteRule.java | 8 +
.../rule/tree/ExchangeSortToMergeRule.java | 12 +
.../MarkParentRequiredDistributionRule.java | 129 ++
.../rule/tree/PreAggregateTurnOnRule.java | 57 +
.../rule/tree/ScalarOperatorsReuseRule.java | 39 +
.../tree/lowcardinality/DecodeCollector.java | 24 +
.../tree/pdagg/AggregatePushDownContext.java | 95 +
.../pdagg/PushDownAggregateCollector.java | 247 +++
.../tree/pdagg/PushDownAggregateRewriter.java | 69 +
.../statistics/CacheDictManager.java | 5 +
.../statistics/CachedStatisticStorage.java | 113 +
.../ColumnBasicStatsCacheLoader.java | 26 +
.../ColumnHistogramStatsCacheLoader.java | 6 +
.../statistics/StatisticStorage.java | 16 +
.../sql/optimizer/statistics/Statistics.java | 11 +
.../statistics/StatisticsCalculator.java | 173 ++
.../StatisticsEstimateCoefficient.java | 7 +
.../task/PrepareCollectMetaTask.java | 5 +
.../optimizer/task/RewriteDownTopTask.java | 41 +
.../sql/optimizer/task/RewriteTreeTask.java | 15 +
.../transformer/QueryTransformer.java | 7 +
.../transformer/RelationTransformer.java | 98 +
.../transformer/WindowTransformer.java | 19 +
.../validate/InputDependenciesChecker.java | 7 +
.../sql/optimizer/validate/TypeChecker.java | 36 +
.../com/starrocks/sql/parser/AstBuilder.java | 1002 +++++++++
.../com/starrocks/sql/parser/SqlParser.java | 21 +
.../com/starrocks/sql/parser/StarRocks.g4 | 314 +++
.../com/starrocks/sql/parser/StarRocksLex.g4 | 53 +
.../starrocks/sql/parser/SyntaxSugars.java | 14 +
.../java/com/starrocks/sql/plan/ExecPlan.java | 20 +
.../sql/plan/PlanFragmentBuilder.java | 411 ++++
.../sql/plan/ScalarOperatorToExpr.java | 3 +
.../com/starrocks/sql/util/TablePlus.java | 4 +
.../com/starrocks/staros/StarMgrServer.java | 81 +
.../com/starrocks/statistic/AnalyzeMgr.java | 86 +
.../starrocks/statistic/BasicStatsMeta.java | 5 +
.../starrocks/statistic/ColumnStatsMeta.java | 44 +
.../statistic/ExternalBasicStatsMeta.java | 14 +
.../ExternalFullStatisticsCollectJob.java | 4 +
.../ExternalSampleStatisticsCollectJob.java | 47 +
.../HistogramStatisticsCollectJob.java | 63 +
.../statistic/HyperStatisticsCollectJob.java | 186 ++
.../starrocks/statistic/NativeAnalyzeJob.java | 12 +
.../statistic/NativeAnalyzeStatus.java | 27 +
.../statistic/StatisticExecutor.java | 82 +
.../statistic/StatisticSQLBuilder.java | 16 +
.../starrocks/statistic/StatisticUtils.java | 182 ++
.../statistic/StatisticsCollectJob.java | 6 +
.../StatisticsCollectJobFactory.java | 209 ++
.../StatisticsCollectionTrigger.java | 8 +
.../statistic/StatisticsMetaManager.java | 39 +
.../starrocks/statistic/StatsConstants.java | 13 +
.../statistic/base/ColumnClassifier.java | 103 +
.../starrocks/statistic/base/ColumnStats.java | 71 +
.../base/ComplexTypeColumnStats.java | 60 +
.../statistic/base/PartitionSampler.java | 160 ++
.../base/PrimitiveTypeColumnStats.java | 77 +
.../statistic/base/SubFieldColumnStats.java | 88 +
.../statistic/base/TabletSampler.java | 71 +
.../statistic/hyper/ConstQueryJob.java | 79 +
.../statistic/hyper/FullQueryJob.java | 63 +
.../statistic/hyper/HyperQueryJob.java | 276 +++
.../statistic/hyper/HyperStatisticSQLs.java | 172 ++
.../statistic/hyper/MetaQueryJob.java | 150 ++
.../statistic/hyper/SampleQueryJob.java | 58 +
.../statistic/sample/SampleInfo.java | 49 +
.../statistic/sample/TabletSampleManager.java | 51 +
.../statistic/sample/TabletStats.java | 9 +
.../java/com/starrocks/system/Backend.java | 4 +
.../starrocks/system/BackendHbResponse.java | 51 +
.../starrocks/system/BackendResourceStat.java | 4 +
.../com/starrocks/system/ComputeNode.java | 211 ++
.../java/com/starrocks/system/Frontend.java | 103 +
.../starrocks/system/FrontendHbResponse.java | 25 +
.../com/starrocks/system/HeartbeatMgr.java | 58 +
.../starrocks/system/HeartbeatResponse.java | 4 +
.../com/starrocks/system/NodeSelector.java | 16 +
.../starrocks/system/SystemInfoService.java | 25 +
.../com/starrocks/task/AlterReplicaTask.java | 29 +
.../com/starrocks/task/CreateReplicaTask.java | 11 +
.../starrocks/task/ExportExportingTask.java | 24 +
.../com/starrocks/task/ExportPendingTask.java | 4 +
.../starrocks/task/PublishVersionTask.java | 41 +
.../starrocks/task/RemoteSnapshotTask.java | 3 +
.../starrocks/task/TabletTaskExecutor.java | 446 ++++
.../AbstractTxnStateChangeCallback.java | 16 +
.../transaction/DatabaseTransactionMgr.java | 371 ++++
.../transaction/GlobalTransactionMgr.java | 142 ++
.../starrocks/transaction/GtidGenerator.java | 4 +
.../IllegalTransactionParameterException.java | 6 +
.../InsertTxnCommitAttachment.java | 6 +
.../transaction/LakeTableTxnLogApplier.java | 21 +
.../LakeTableTxnStateListener.java | 9 +
.../transaction/OlapTableTxnLogApplier.java | 12 +
.../OlapTableTxnStateListener.java | 46 +
.../transaction/PartitionCommitInfo.java | 41 +
.../transaction/PublishVersionDaemon.java | 171 ++
.../transaction/TableCommitInfo.java | 8 +
.../transaction/TransactionChecker.java | 20 +
.../TransactionCommitFailedException.java | 4 +
.../transaction/TransactionException.java | 6 +
.../transaction/TransactionState.java | 84 +
.../transaction/TransactionStateBatch.java | 10 +
.../transaction/TxnCommitAttachment.java | 20 +
.../transaction/TxnStateChangeCallback.java | 16 +
.../UpdateDbUsedDataQuotaDaemon.java | 4 +
.../starrocks/warehouse/DefaultWarehouse.java | 4 +
.../starrocks/warehouse/WarehouseProcDir.java | 4 +
.../org/apache/iceberg/DeleteFileIndex.java | 4 +
.../iceberg/StarRocksIcebergTableScan.java | 88 +
.../com/starrocks/alter/AlterJobV2Test.java | 132 ++
.../com/starrocks/alter/AlterTableTest.java | 303 +++
.../java/com/starrocks/alter/AlterTest.java | 1528 ++++++++++++++
.../starrocks/alter/BatchRollupJobTest.java | 20 +
.../alter/CompactionHandlerTest.java | 35 +
.../starrocks/alter/LakeRollupJobTest.java | 159 ++
.../alter/LakeSyncMaterializedViewTest.java | 639 ++++++
...leAlterDataCachePartitionDurationTest.java | 38 +
.../alter/LakeTableAlterMetaJobTest.java | 56 +
...LakeTableAsyncFastSchemaChangeJobTest.java | 71 +
.../alter/LakeTableSchemaChangeJobTest.java | 111 +
.../alter/MaterializedViewHandlerTest.java | 40 +
.../alter/OnlineOptimizeJobV2Test.java | 61 +
.../alter/OptimizeJobV2BuilderTest.java | 17 +
.../starrocks/alter/OptimizeJobV2Test.java | 64 +
.../com/starrocks/alter/RollupJobV2Test.java | 104 +
.../alter/SchemaChangeHandlerTest.java | 178 ++
.../alter/SchemaChangeJobV2Test.java | 115 ++
.../starrocks/alter/SystemHandlerTest.java | 28 +
.../starrocks/analysis/AccessTestUtil.java | 93 +
.../starrocks/analysis/AlterUserStmtTest.java | 36 +
.../analysis/CTASAutoTabletTest.java | 22 +
.../analysis/CancelLoadStmtTest.java | 8 +
.../com/starrocks/analysis/ColumnDefTest.java | 145 ++
.../analysis/ColumnPositionTest.java | 3 +
.../analysis/CreateAnalyzeJobTest.java | 12 +
.../starrocks/analysis/CreateDbStmtTest.java | 4 +
.../analysis/CreateMaterializedViewTest.java | 650 ++++++
.../analysis/CreateRoutineLoadStmtTest.java | 8 +
.../CreateSyncMaterializedViewTest.java | 98 +
.../analysis/CreateTableAutoTabletTest.java | 80 +
.../CreateTableWithPartitionTest.java | 224 ++
.../analysis/CreateUserStmtTest.java | 36 +
...ropMaterializedViewStmtNewPlannerTest.java | 4 +
.../DropMaterializedViewStmtTest.java | 4 +
.../starrocks/analysis/FailPointStmtTest.java | 3 +
.../com/starrocks/analysis/GINIndexTest.java | 29 +
.../com/starrocks/analysis/IndexDefTest.java | 6 +
.../analysis/InstallPluginStmtTest.java | 8 +
.../com/starrocks/analysis/LoadStmtTest.java | 10 +
.../MVColumnBitmapUnionPatternTest.java | 3 +
.../MaterializedViewAutoTabletTest.java | 18 +
.../analysis/ModifyBackendClauseTest.java | 3 +
.../analysis/ModifyBrokerClauseTest.java | 3 +
.../ModifyFrontendAddressClauseTest.java | 3 +
.../RefreshMaterializedViewStatementTest.java | 42 +
.../analysis/RefreshMaterializedViewTest.java | 218 ++
.../analysis/ResourceGroupStmtTest.java | 17 +
.../RestrictOpMaterializedViewTest.java | 3 +
.../starrocks/analysis/RuntimeFilterTest.java | 18 +
.../starrocks/analysis/SelectStmtTest.java | 43 +
.../analysis/SetCatalogStmtTest.java | 5 +
.../starrocks/analysis/SetPassVarTest.java | 24 +
.../com/starrocks/analysis/SetStmtTest.java | 16 +
.../analysis/SetUserPropertyVarTest.java | 12 +
.../analysis/ShowCatalogsStmtTest.java | 7 +
.../analysis/ShowCharsetStmtTest.java | 7 +
.../ShowCreateMaterializedViewStmtTest.java | 12 +
.../ShowCreateRoutineLoadStmtTest.java | 3 +
.../analysis/ShowCreateViewStmtTest.java | 20 +
.../starrocks/analysis/ShowDbStmtTest.java | 10 +
.../starrocks/analysis/ShowDeleteTest.java | 10 +
.../analysis/ShowEnginesStmtTest.java | 8 +
.../starrocks/analysis/ShowLoadStmtTest.java | 12 +
.../analysis/ShowLoadWarningsStmtTest.java | 12 +
.../analysis/ShowRestoreStmtTest.java | 8 +
.../analysis/ShowTransactionStmtTest.java | 12 +
.../analysis/SubmitTaskStmtTest.java | 3 +
.../analysis/UseCatalogStmtTest.java | 5 +
.../analysis/UseMaterializedViewTest.java | 20 +
.../starrocks/analysis/VectorIndexTest.java | 225 ++
.../AuthenticationManagerTest.java | 7 +
.../AuthenticationProviderFactoryTest.java | 11 +
...ainPasswordAuthenticationProviderTest.java | 40 +
.../authentication/UserPropertyTest.java | 7 +
.../authorization/AccessControlTest.java | 116 ++
.../authorization/ActionSetTest.java | 113 +
.../authorization/AuthorizationMgrTest.java | 1834 +++++++++++++++++
.../starrocks/authorization/IdGenerator.java | 29 +
.../authorization/InvalidateObjectTest.java | 190 ++
.../PrivilegeCollectionTest.java | 367 ++++
.../authorization/RBACMockedMetadataMgr.java | 124 ++
.../RolePrivilegeCollectionTest.java | 59 +
.../ranger/RangerInterfaceTest.java | 260 +++
.../ranger/RangerResourceTest.java | 85 +
.../starrocks/backup/BackupHandlerTest.java | 354 ++++
.../backup/BackupJobMaterializedViewTest.java | 77 +
.../backup/BackupJobPrimaryKeyTest.java | 61 +
.../com/starrocks/backup/BackupJobTest.java | 70 +
.../com/starrocks/backup/CatalogMocker.java | 76 +
.../RestoreJobMaterializedViewTest.java | 69 +
.../backup/RestoreJobPrimaryKeyTest.java | 8 +
.../com/starrocks/backup/RestoreJobTest.java | 263 +++
.../MVPartitionCompensateOptBench.java | 7 +
.../benchmark/MvPreProcessorWithSSBBench.java | 3 +
.../benchmark/MvRefreshConcurrencyTest.java | 6 +
.../starrocks/binlog/BinlogManagerTest.java | 22 +
.../com/starrocks/catalog/AdminStmtTest.java | 15 +
.../starrocks/catalog/AggStateDescTest.java | 60 +
.../com/starrocks/catalog/BackendTest.java | 4 +
.../com/starrocks/catalog/BrokerMgrTest.java | 10 +
.../CatalogRecycleBinLakeTableTest.java | 61 +
.../catalog/CatalogRecycleBinTest.java | 49 +
.../starrocks/catalog/CatalogUtilsTest.java | 11 +
.../catalog/ColocateTableIndexTest.java | 137 ++
.../starrocks/catalog/ColocateTableTest.java | 15 +
.../com/starrocks/catalog/ColumnTest.java | 4 +
.../catalog/CreateTableLikeTest.java | 191 ++
.../starrocks/catalog/CreateTableTest.java | 111 +
.../catalog/CreateTableWithAggStateTest.java | 393 ++++
.../catalog/CreateTableWithLocationTest.java | 232 +++
.../com/starrocks/catalog/CreateViewTest.java | 12 +
.../com/starrocks/catalog/DatabaseTest.java | 73 +
.../starrocks/catalog/DictionaryMgrTest.java | 3 +
.../starrocks/catalog/DropPartitionTest.java | 191 ++
.../DropPartitionWithExprListTest.java | 743 +++++++
.../DropPartitionWithExprRangeTest.java | 436 ++++
.../catalog/DynamicPartitionTableTest.java | 329 +++
.../ExpressionRangePartitionInfoTest.java | 242 +++
.../com/starrocks/catalog/FakeEditLog.java | 11 +
.../catalog/ForeignKeyConstraintTest.java | 28 +
.../catalog/GlobalFunctionMgrTest.java | 90 +-
.../catalog/GlobalStateMgrTestUtil.java | 35 +
.../starrocks/catalog/HiveResourceTest.java | 8 +
.../com/starrocks/catalog/HiveTableTest.java | 5 +
.../starrocks/catalog/HudiResourceTest.java | 8 +
.../com/starrocks/catalog/HudiTableTest.java | 5 +
.../catalog/IcebergResourceTest.java | 12 +
.../starrocks/catalog/IcebergTableTest.java | 5 +
.../starrocks/catalog/InfoSchemaDbTest.java | 43 +
.../com/starrocks/catalog/JDBCTableTest.java | 4 +
.../catalog/ListPartitionInfoTest.java | 22 +
.../catalog/MVPartitionExprResolverTest.java | 155 ++
.../catalog/MaterializedIndexTest.java | 10 +
.../catalog/MaterializedViewTest.java | 466 +++++
.../starrocks/catalog/MetadataViewerTest.java | 10 +
.../com/starrocks/catalog/OlapTableTest.java | 44 +
.../catalog/PhysicalPartitionImplTest.java | 17 +
.../catalog/ReplaceLakePartitionTest.java | 24 +
.../starrocks/catalog/ResourceMgrTest.java | 45 +
.../starrocks/catalog/SparkResourceTest.java | 20 +
.../catalog/StorageCoolDownTest.java | 20 +
.../catalog/StorageMediumInferTest.java | 32 +
.../catalog/TableFunctionTableTest.java | 30 +
.../starrocks/catalog/TabletStatMgrTest.java | 61 +
.../starrocks/catalog/TempPartitionTest.java | 17 +
.../combinator/AggStateCombinatorTest.java | 1156 +++++++++++
.../catalog/system/sys/SysFeLocksTest.java | 55 +
.../system/sys/SysFeMemoryUsageTest.java | 8 +
.../clone/ColocateTableBalancerTest.java | 255 +++
.../DiskAndTabletLoadReBalancerTest.java | 173 ++
.../clone/DynamicPartitionSchedulerTest.java | 444 ++++
.../starrocks/clone/TabletSchedCtxTest.java | 25 +
.../starrocks/clone/TabletSchedulerTest.java | 20 +
.../cluster/SystemInfoServiceTest.java | 27 +
.../java/com/starrocks/common/ConfigTest.java | 71 +
.../starrocks/common/MarkDownParserTest.java | 29 +
.../common/PropertyAnalyzerTest.java | 4 +
.../starrocks/common/TraceManagerTest.java | 95 +
.../common/lock/AutoCloseableLockerTest.java | 8 +
.../starrocks/common/lock/DeadLockTest.java | 4 +
.../common/lock/TestLockException.java | 13 +
.../common/lock/TestLockInterface.java | 107 +
...rrentGlobalQueryStatisticsProcDirTest.java | 16 +
.../CurrentQueryStatisticsProcDirTest.java | 18 +
.../starrocks/common/proc/DbsProcDirTest.java | 48 +
.../common/proc/LakeTabletsProcNodeTest.java | 17 +
.../common/proc/LocalTabletsProcDirTest.java | 8 +
.../common/proc/PartitionsProcDirTest.java | 9 +
.../common/proc/StatisticProcDirTest.java | 3 +
.../common/proc/TablesProcDirTest.java | 44 +
.../common/util/AutoInferUtilTest.java | 8 +
.../starrocks/common/util/BrokerUtilTest.java | 56 +
.../starrocks/common/util/KafkaUtilTest.java | 28 +
.../common/util/ProfileManagerTest.java | 3 +
.../common/util/ProfilingExecPlanTest.java | 5 +
.../common/util/SmallFileMgrTest.java | 4 +
.../starrocks/common/util/TimeUtilsTest.java | 43 +
.../starrocks/common/util/UnitTestUtil.java | 8 +
.../QueryableReentrantLockTest.java | 8 +
.../starrocks/connector/AlterTableTest.java | 319 +++
.../connector/AsyncTaskQueueTest.java | 129 ++
.../CatalogConnectorMetadataTest.java | 46 +
.../DirectoryBasedUpdateArbitratorTest.java | 202 ++
...HMSPartitionBasedRemoteInfoSourceTest.java | 80 +
.../HiveMetastoreApiConverterTest.java | 25 +
.../ObjectBasedUpdateArbitratorTest.java | 208 ++
.../connector/PartitionUtilTest.java | 13 +
.../connector/RemoteFileOperationsTest.java | 191 ++
.../RemoteScanRangeLocationsTest.java | 23 +
.../connector/TableUpdateArbitratorTest.java | 112 +
.../analyzer/SimpleExpressionAnalyzer.java | 3 +
.../delta/CachingDeltaLakeMetastoreTest.java | 5 +
.../delta/DeltaLakeConnectorTest.java | 22 +
.../delta/DeltaLakeMetadataTest.java | 16 +
.../elasticsearch/EsShardPartitionsTest.java | 5 +
.../elasticsearch/QueryBuildersTest.java | 3 +
.../hive/CachingHiveMetastoreTest.java | 17 +
.../connector/hive/HiveConnectorTest.java | 5 +
.../connector/hive/HiveMetadataTest.java | 172 ++
.../hive/HiveMetastoreOperationsTest.java | 159 ++
.../connector/hive/HiveMetastoreTest.java | 17 +
.../hive/HiveStatisticsProviderTest.java | 26 +
.../connector/hive/HiveViewTest.java | 10 +
.../connector/hive/MockedHiveMetadata.java | 417 ++++
.../connector/hive/ReplayMetadataMgr.java | 41 +
.../connector/hudi/HudiMetadataTest.java | 17 +
.../iceberg/CachingIcebergCatalogTest.java | 106 +
.../iceberg/IcebergApiConverterTest.java | 14 +
.../iceberg/IcebergMetadataTest.java | 311 +++
.../connector/iceberg/MIcebergTable.java | 28 +
.../connector/iceberg/MIcebergTableMeta.java | 174 ++
.../iceberg/MockIcebergMetadata.java | 89 +
.../cost/IcebergStatisticProviderTest.java | 19 +
.../rest/OAuth2SecurityConfigTest.java | 69 +
.../connector/jdbc/MockedJDBCMetadata.java | 8 +
.../jdbc/MysqlSchemaResolverTest.java | 62 +
.../connector/kudu/KuduMetadataTest.java | 29 +
.../kudu/KuduPredicateConverterTest.java | 20 +
.../starrocks/connector/odps/MockedBase.java | 13 +
.../connector/odps/OdpsMetadataTest.java | 30 +
.../connector/odps/OdpsTableTest.java | 10 +
.../connector/paimon/PaimonConnectorTest.java | 5 +
.../connector/paimon/PaimonMetadataTest.java | 41 +
.../trino/TrinoDialectDowngradeTest.java | 38 +
.../trino/TrinoFunctionTransformTest.java | 12 +
.../parser/trino/TrinoInsertTest.java | 69 +
.../trino/TrinoParserNotSupportTest.java | 7 +
.../parser/trino/TrinoQueryTest.java | 4 +
.../connector/parser/trino/TrinoTestBase.java | 11 +
.../ConnectorAnalyzeTaskQueueTest.java | 101 +
.../statistics/ConnectorAnalyzeTaskTest.java | 224 ++
.../unified/UnifiedMetadataTest.java | 304 +++
.../consistency/ConsistencyCheckerTest.java | 19 +
.../consistency/MetaRecoveryDaemonTest.java | 56 +
.../CloudConfigurationFactoryTest.java | 27 +
.../starrocks/TableMetaSyncerTest.java | 9 +
.../java/com/starrocks/fs/HdfsUtilTest.java | 14 +
.../com/starrocks/fs/TestHdfsFsManager.java | 30 +
.../com/starrocks/fs/WildcardURITest.java | 8 +
.../test/java/com/starrocks/ha/BDBHATest.java | 7 +
.../starrocks/http/BadHttpRequestTest.java | 8 +
.../starrocks/http/ExecuteSqlActionTest.java | 11 +
.../com/starrocks/http/LoadActionTest.java | 111 +
.../starrocks/http/QueryDumpActionTest.java | 4 +
.../starrocks/http/RestBaseResultTest.java | 41 +
.../starrocks/http/ShowDataActionTest.java | 10 +
.../http/ShowMetaInfoActionTest.java | 34 +
.../starrocks/http/StarRocksHttpTestCase.java | 135 ++
.../http/StreamLoadMetaActionTest.java | 236 +++
.../http/TableQueryPlanActionTest.java | 17 +
.../http/TransactionLoadActionTest.java | 81 +
.../rest/v2/TablePartitionActionTest.java | 517 +++++
.../http/rest/v2/TableSchemaActionTest.java | 525 +++++
.../journal/bdbje/BDBEnvironmentTest.java | 11 +
.../java/com/starrocks/lake/AlterTest.java | 124 ++
.../starrocks/lake/CreateLakeTableTest.java | 58 +
.../lake/LakeMaterializedViewTest.java | 154 ++
.../starrocks/lake/LakeTableHelperTest.java | 28 +
.../starrocks/lake/StarMgrMetaSyncerTest.java | 11 +
.../starrocks/lake/StarOSAgent2ndTest.java | 23 +
.../com/starrocks/lake/StarOSAgentTest.java | 28 +
.../java/com/starrocks/lake/UtilsTest.java | 14 +
.../lake/compaction/CompactionJobTest.java | 15 +
.../lake/compaction/CompactionMgrTest.java | 26 +
.../compaction/CompactionSchedulerTest.java | 8 +
.../CompactionTxnCommitAttachmentTest.java | 15 +
.../com/starrocks/lake/delete/DeleteTest.java | 42 +
.../starrocks/lake/qe/ShowExecutorTest.java | 8 +
.../DefaultSharedDataWorkerProviderTest.java | 16 +
.../com/starrocks/leader/LeaderImplTest.java | 24 +
.../starrocks/leader/ReportHandlerTest.java | 68 +
.../starrocks/load/BrokerFileGroupTest.java | 36 +
.../com/starrocks/load/DeleteHandlerTest.java | 98 +
.../com/starrocks/load/DeletePruneTest.java | 61 +
.../com/starrocks/load/ExportCheckerTest.java | 8 +
.../com/starrocks/load/ExportMgrTest.java | 10 +
.../load/InsertOverwriteJobManagerTest.java | 12 +
.../load/InsertOverwriteJobRunnerTest.java | 26 +
.../load/InsertOverwriteJobTest.java | 8 +
.../com/starrocks/load/LoadPlannerTest.java | 12 +
.../java/com/starrocks/load/LoadTest.java | 16 +
.../starrocks/load/PartitionUtilsTest.java | 55 +
.../load/batchwrite/BatchWriteMgrTest.java | 196 ++
.../load/batchwrite/BatchWriteTestBase.java | 108 +
.../CoordinatorBackendAssignerTest.java | 277 +++
.../batchwrite/IsomorphicBatchWriteTest.java | 307 +++
.../load/batchwrite/LoadExecutorTest.java | 390 ++++
.../load/loadv2/BrokerLoadJobTest.java | 63 +
.../loadv2/BrokerLoadPendingTaskTest.java | 8 +
.../load/loadv2/InsertLoadJobTest.java | 9 +
.../starrocks/load/loadv2/LoadJobTest.java | 4 +
.../starrocks/load/loadv2/LoadMgrTest.java | 61 +
.../load/loadv2/SparkEtlJobHandlerTest.java | 26 +
.../load/loadv2/SparkLoadJobTest.java | 100 +
.../load/loadv2/SparkLoadPendingTaskTest.java | 50 +
.../load/loadv2/SparkRepositoryTest.java | 44 +
.../starrocks/load/pipe/PipeManagerTest.java | 43 +
.../load/pipe/filelist/FileListRepoTest.java | 9 +
.../load/routineload/KafkaProgressTest.java | 12 +
.../routineload/KafkaRoutineLoadJobTest.java | 55 +
.../load/routineload/KafkaTaskInfoTest.java | 12 +
.../routineload/RoutineLoadJobMetaTest.java | 16 +
.../load/routineload/RoutineLoadJobTest.java | 56 +
.../routineload/RoutineLoadManagerTest.java | 56 +
.../routineload/RoutineLoadSchedulerTest.java | 7 +
.../RoutineLoadTaskSchedulerTest.java | 34 +
.../load/streamload/ShowStreamLoadTest.java | 4 +
.../streamload/StreamLoadHttpHeaderTest.java | 40 +
.../load/streamload/StreamLoadInfoTest.java | 94 +
.../streamload/StreamLoadKvParamsTest.java | 357 ++++
.../streamload/StreamLoadManagerTest.java | 50 +
.../streamload/StreamLoadParamsTestBase.java | 315 +++
.../load/streamload/StreamLoadTaskTest.java | 22 +
.../StreamLoadThriftParamsTest.java | 302 +++
.../mysql/MysqlHandshakePacketTest.java | 4 +
.../starrocks/persist/ColumnRenameTest.java | 17 +
.../CreateInsertOverwriteJobLogTest.java | 4 +
.../persist/DropPartitionsInfoTest.java | 91 +
.../com/starrocks/persist/EditLogTest.java | 3 +
.../starrocks/persist/OperationTypeTest.java | 63 +
.../persist/RecyclePartitionInfoTest.java | 4 +
.../RenameMaterializedViewLogTest.java | 7 +
.../persist/metablock/SRMetaBlockV1Test.java | 3 +
.../persist/metablock/SRMetaBlockV2Test.java | 3 +
.../starrocks/planner/FileScanNodeTest.java | 24 +
.../starrocks/planner/HudiScanNodeTest.java | 3 +
.../planner/IcebergMetadataScanNodeTest.java | 32 +
...aterializedViewAggPushDownRewriteTest.java | 59 +
.../MaterializedViewAggRollupTest.java | 4 +
.../MaterializedViewLowCardTPCHTest.java | 6 +
.../planner/MaterializedViewManualTest.java | 42 +
.../MaterializedViewRewriteWithSSBTest.java | 3 +
.../planner/MaterializedViewTPCHTest.java | 13 +
.../planner/MaterializedViewTest.java | 789 +++++++
.../planner/MaterializedViewTestBase.java | 13 +
...erializedViewTextBasedRewriteTPCHTest.java | 6 +
.../MaterializedViewWithMultiStageTest.java | 3 +
.../MaterializedViewWithPartitionTest.java | 4 +
.../starrocks/planner/OlapTableSinkTest.java | 107 +
.../starrocks/planner/OlapTableSinkTest2.java | 28 +
.../OnPredicateMoveAroundRuleTest.java | 228 ++
.../planner/StreamLoadPlannerTest.java | 43 +
.../planner/StreamLoadScanNodeTest.java | 73 +
.../planner/TableFunctionTableSinkTest.java | 3 +
.../starrocks/planner/TablePruningTest.java | 15 +
.../planner/TablePruningTestBase.java | 4 +
.../starrocks/planner/VectorIndexTest.java | 121 ++
.../planner/mv/MVMetaVersionRepairerTest.java | 36 +
.../com/starrocks/plugin/PluginMgrTest.java | 12 +
.../com/starrocks/plugin/PluginZipTest.java | 16 +
.../pseudocluster/BeRestartTest.java | 4 +
.../pseudocluster/BeTabletManager.java | 12 +
.../starrocks/pseudocluster/BeTxnManager.java | 13 +
.../LocationLabeledTableBalanceTest.java | 22 +
.../LocationMismatchRepairTest.java | 140 ++
.../pseudocluster/PseudoBackend.java | 34 +
.../pseudocluster/PseudoCluster.java | 30 +
.../pseudocluster/PseudoClusterTest.java | 16 +
.../pseudocluster/PseudoFrontend.java | 9 +
.../ReplicaMinReadableVersionTest.java | 4 +
.../qe/ColocatedBackendSelectorTest.java | 24 +
.../com/starrocks/qe/ConnectContextTest.java | 69 +
.../starrocks/qe/ConnectProcessorTest.java | 7 +
.../com/starrocks/qe/CoordinatorTest.java | 5 +
.../qe/ExecuteExceptionHandlerTest.java | 17 +
.../com/starrocks/qe/ExportHandleTest.java | 9 +
.../starrocks/qe/HDFSBackendSelectorTest.java | 87 +
.../com/starrocks/qe/KillQueryHandleTest.java | 221 ++
.../com/starrocks/qe/RBACExecutorTest.java | 25 +
.../com/starrocks/qe/SetExecutorTest.java | 8 +
.../com/starrocks/qe/ShowExecutorTest.java | 366 ++++
.../com/starrocks/qe/ShowTableMockMeta.java | 10 +
.../java/com/starrocks/qe/ShowTablesTest.java | 6 +
.../com/starrocks/qe/StmtExecutorTest.java | 46 +
.../com/starrocks/qe/VariableMgrTest.java | 14 +
.../analyzer/PlanTuningAnalyzerTest.java | 146 ++
...ftChildEstimationErrorTuningGuideTest.java | 74 +
...htChildEstimationErrorTuningGuideTest.java | 247 +++
.../scheduler/DefaultWorkerProviderTest.java | 16 +
.../starrocks/qe/scheduler/GetNextTest.java | 12 +
.../scheduler/IncrementalDeployHiveTest.java | 149 ++
.../qe/scheduler/QueryQueueManagerTest.java | 312 +++
.../qe/scheduler/SchedulerTestBase.java | 4 +
.../qe/scheduler/StartSchedulingTest.java | 16 +
.../replication/ReplicationJobTest.java | 61 +
.../replication/ReplicationMgrTest.java | 35 +
.../scheduler/MVRefreshTestBase.java | 13 +
.../PCTRefreshListPartitionOlapTest.java | 927 +++++++++
...titionBasedMvRefreshProcessorHiveTest.java | 387 ++++
...ionBasedMvRefreshProcessorIcebergTest.java | 388 ++++
...titionBasedMvRefreshProcessorJdbcTest.java | 62 +
...nBasedMvRefreshProcessorOlapPart2Test.java | 83 +
...titionBasedMvRefreshProcessorOlapTest.java | 455 ++++
...tionBasedMvRefreshProcessorPaimonTest.java | 15 +
.../PartitionBasedMvRefreshTest.java | 261 +++
.../scheduler/TaskRunFIFOQueueTest.java | 6 +
.../scheduler/mv/MVMaintenanceJobTest.java | 4 +
.../starrocks/server/CatalogLevelTest.java | 7 +
.../com/starrocks/server/CatalogMgrTest.java | 13 +
.../starrocks/server/ConcurrentDDLTest.java | 52 +
.../starrocks/server/GlobalStateMgrTest.java | 15 +
.../starrocks/server/LocalMetaStoreTest.java | 103 +
.../starrocks/server/MVRepairHandlerTest.java | 4 +
.../com/starrocks/server/MetadataMgrTest.java | 27 +
.../com/starrocks/server/NodeMgrTest.java | 4 +
.../SharedDataStorageVolumeMgrTest.java | 3 +
.../server/WarehouseManagerTest.java | 49 +
.../service/ArrowFlightSqlJDBCTest.java | 108 +
.../service/FrontendOptionsTest.java | 3 +
.../service/FrontendServiceImplTest.java | 601 ++++++
.../LakeInformationSchemaDataSourceTest.java | 3 +
.../flight/sql/ArrowFlightSqlServiceTest.java | 70 +
.../analyzer/AlterDbRenameAnalyzerTest.java | 6 +
.../sql/analyzer/AnalyzeAggregateTest.java | 6 +
.../analyzer/AnalyzeBackupRestoreTest.java | 152 ++
.../analyzer/AnalyzeCreateAnalyzeJobTest.java | 23 +
.../sql/analyzer/AnalyzeCreateTableTest.java | 16 +
.../sql/analyzer/AnalyzeDropTableTest.java | 29 +
.../sql/analyzer/AnalyzeFunctionTest.java | 4 +
.../sql/analyzer/AnalyzeInsertTest.java | 59 +
.../sql/analyzer/AnalyzeStmtTest.java | 87 +
.../sql/analyzer/CTASAnalyzerTest.java | 12 +
.../CreateFunctionStmtAnalyzerTest.java | 215 ++
.../sql/analyzer/ExternalDbTablePrivTest.java | 9 +
.../MaterializedViewAnalyzerTest.java | 60 +
.../sql/analyzer/PrivilegeCheckerTest.java | 169 ++
.../analyzer/PrivilegeStmtAnalyzerV2Test.java | 22 +
.../sql/ast/CreateFunctionStmtTest.java | 110 +
.../sql/ast/DropFunctionStmtTest.java | 14 +
.../starrocks/sql/ast/ExecuteAsStmtTest.java | 5 +
.../sql/ast/StructFieldDescTest.java | 13 +
.../sql/ast/TableSampleClauseTest.java | 39 +
.../starrocks/sql/common/MetaUtilTest.java | 27 +
.../sql/common/PermutationGeneratorTest.java | 42 +
.../sql/common/SqlWithIdUtilsTest.java | 12 +
.../sql/common/SyncPartitionUtilsTest.java | 117 ++
.../sql/optimizer/MVRewriteTest.java | 130 ++
.../sql/optimizer/OptimizerTaskTest.java | 109 +
.../optimizer/ScanPredicateExprReuseTest.java | 319 +++
.../optimizer/SelectStmtWithCaseWhenTest.java | 11 +
.../starrocks/sql/optimizer/UtilsTest.java | 16 +
.../operator/ColumnFilterConverterTest.java | 4 +
.../operator/operator/OperatorEqualsTest.java | 7 +
.../rewrite/JoinPredicatePushdownTest.java | 20 +
.../rewrite/PredicateReorderRuleTest.java | 18 +
.../rewrite/scalar/FoldConstantsRuleTest.java | 7 +
.../rewrite/scalar/ReduceCastRuleTest.java | 14 +
.../rule/mv/MaterializedViewRuleTest.java | 28 +
.../DistributionPrunerRuleTest.java | 15 +
.../PartitionPruneRuleTest.java | 38 +
.../PruneHDFSScanColumnRuleTest.java | 16 +
.../MVRewriteWithSchemaChangeTest.java | 12 +
.../MvRefreshAndRewriteIcebergTest.java | 1718 +++++++++++++++
.../MvRefreshAndRewriteJDBCTest.java | 218 ++
.../materialization/MvRefreshTest.java | 142 ++
.../materialization/MvRewriteHiveTest.java | 33 +
.../MvRewriteListPartitionTest.java | 19 +
.../MvRewritePartialPartitionTest.java | 4 +
.../MvRewritePartitionTest.java | 9 +
.../MvRewritePreprocessorTest.java | 7 +
.../materialization/MvRewriteTest.java | 61 +
.../materialization/MvRewriteTestBase.java | 27 +
.../materialization/MvRewriteUnionTest.java | 19 +
.../MvTimeSeriesRewriteWithHiveTest.java | 60 +
.../MvTimeSeriesRewriteWithOlapTest.java | 441 ++++
...MvTransparentRewriteWithHiveTableTest.java | 9 +
...MvTransparentRewriteWithOlapTableTest.java | 92 +
.../MvTransparentUnionRewriteHiveTest.java | 24 +
.../materialization/MvUtilsTest.java | 27 +
.../materialization/PredicateSplitTest.java | 40 +
...arkParentRequiredDistributionRuleTest.java | 66 +
.../CachedStatisticStorageTest.java | 42 +
.../statistics/StatisticsCalculatorTest.java | 360 ++++
.../com/starrocks/sql/parser/ParserTest.java | 21 +
.../sql/plan/AggregatePushDownTest.java | 38 +
.../plan/AggregatePushDownWithCostTest.java | 339 +++
.../com/starrocks/sql/plan/AggregateTest.java | 55 +
.../sql/plan/AggregateWithUKFKTest.java | 545 +++++
.../com/starrocks/sql/plan/CTEPlanTest.java | 24 +
.../sql/plan/ConnectorPlanTestBase.java | 14 +
.../starrocks/sql/plan/DataCachePlanTest.java | 49 +
.../sql/plan/DistributedEnvPlanTestBase.java | 42 +
.../plan/DistributedEnvPlanWithCostTest.java | 15 +
.../sql/plan/DistributedEnvTPCDSPlanTest.java | 16 +
.../starrocks/sql/plan/ExpressionTest.java | 48 +
.../starrocks/sql/plan/ExternalTableTest.java | 9 +
.../sql/plan/FilterUnusedColumnTest.java | 185 ++
.../starrocks/sql/plan/GroupingSetTest.java | 4 +
.../starrocks/sql/plan/GroupingSetsTest.java | 4 +
.../plan/IcebergEqualityDeletePlanTest.java | 651 ++++++
.../starrocks/sql/plan/InsertPlanTest.java | 11 +
.../java/com/starrocks/sql/plan/JoinTest.java | 13 +
.../com/starrocks/sql/plan/JsonTypeTest.java | 16 +
.../com/starrocks/sql/plan/LimitTest.java | 5 +
.../sql/plan/LowCardinalityArrayTest.java | 5 +
.../sql/plan/LowCardinalityTest.java | 46 +
.../sql/plan/LowCardinalityTest2.java | 42 +
.../sql/plan/MockTpchStatisticStorage.java | 37 +
.../sql/plan/MultiJoinReorderTest.java | 12 +
.../starrocks/sql/plan/NestLoopJoinTest.java | 23 +
.../sql/plan/PlanFragmentWithCostTest.java | 138 ++
.../com/starrocks/sql/plan/PlanTestBase.java | 32 +
.../sql/plan/PlanTestNoneDBBase.java | 25 +
.../sql/plan/PlanWithCostTestBase.java | 139 ++
.../sql/plan/PredicatePushDownTest.java | 4 +
.../sql/plan/PruneComplexSubfieldTest.java | 21 +
.../sql/plan/PruneUKFKJoinRuleTest.java | 25 +
.../com/starrocks/sql/plan/RemoveAggTest.java | 4 +
.../sql/plan/ReplayFromDumpTest.java | 65 +
.../java/com/starrocks/sql/plan/ScanTest.java | 49 +
.../sql/plan/SelectUsingAliasTest.java | 271 +++
.../java/com/starrocks/sql/plan/SetTest.java | 3 +
.../starrocks/sql/plan/ShortCircuitTest.java | 8 +
.../com/starrocks/sql/plan/SkewJoinTest.java | 25 +
.../sql/plan/SplitScanToUnionTest.java | 19 +
.../com/starrocks/sql/plan/TPCDS1TTest.java | 29 +
.../sql/plan/TPCDSAggregateWithUKFKTest.java | 227 ++
.../starrocks/sql/plan/TPCDSPushAggTest.java | 133 ++
.../com/starrocks/sql/plan/TPCHPlanTest.java | 4 +
.../plan/TPCHPlanWithHistogramCostTest.java | 25 +
.../java/com/starrocks/sql/plan/UDFTest.java | 10 +
.../com/starrocks/sql/plan/WindowTest.java | 243 +++
.../starrocks/staros/StarMgrServerTest.java | 8 +
.../starrocks/statistic/AnalyzeMgrTest.java | 15 +
.../statistic/BasicStatsMetaTest.java | 5 +
.../starrocks/statistic/CacheLoaderTest.java | 18 +
.../MockHistogramStatisticStorage.java | 4 +
.../statistic/StatisticExecutorTest.java | 9 +
.../statistic/StatisticsCollectJobTest.java | 431 ++++
.../StatisticsCollectionTriggerTest.java | 8 +
.../statistic/StatisticsExecutorTest.java | 28 +
.../statistic/StatisticsSQLTest.java | 46 +
.../statistic/hyper/HyperJobTest.java | 238 +++
.../statistic/sample/SampleInfoTest.java | 5 +
.../system/BackendHbResponseTest.java | 53 +
.../system/BackendResourceStatTest.java | 34 +
.../com/starrocks/system/ComputeNodeTest.java | 470 +++++
.../system/SystemInfoServiceTest.java | 4 +
.../com/starrocks/task/AgentTaskTest.java | 10 +
.../DatabaseTransactionMgrTest.java | 68 +
.../transaction/GlobalTransactionMgrTest.java | 176 ++
.../transaction/GtidGeneratorTest.java | 109 +
.../transaction/LakePublishBatchTest.java | 51 +
.../transaction/LakeTableTestHelper.java | 12 +
.../LakeTableTxnLogApplierTest.java | 26 +
.../TransactionStateBatchTest.java | 8 +
.../com/starrocks/utframe/MockJournal.java | 8 +
.../com/starrocks/utframe/MockedBackend.java | 13 +
.../com/starrocks/utframe/MockedFrontend.java | 9 +
.../starrocks/utframe/StarRocksAssert.java | 367 ++++
.../starrocks/utframe/TestWithFeService.java | 4 +
.../com/starrocks/utframe/UtFrameUtils.java | 367 ++++
.../resources/conf/config_mutable.properties | 1 +
.../sql/materialized-view/tpch-hive/q1.sql | 8 +
.../sql/materialized-view/tpch/q1.sql | 5 +
...agg-pushdown-disable_on_broadcast_join.sql | 566 +++++
.../agg-pushdown-enable_on_broadcast_join.sql | 567 +++++
...agg-pushdown-disable_on_broadcast_join.sql | 316 +++
...eagg-pushdown-enable_on_broadcast_join.sql | 315 +++
.../sql/query_dump/deep_join_cost.json | 4 +
.../sql/query_dump/distinct_constant.json | 6 +-
.../force_rule_based_mv_rewrite.json | 4 +
.../force_rule_based_mv_rewrite_drinks.json | 4 +
.../force_rule_based_mv_rewrite_month.json | 4 +
.../force_rule_based_mv_rewrite_year.json | 4 +
.../sql/query_dump/join_init_error.json | 4 +
.../materialized-view/count_star_rewrite.json | 4 +
.../mv_rewrite_with_dict_opt1.json | 4 +
.../sql/query_dump/nested_view_with_cte.json | 4 +
.../sql/query_dump/no_cte_operator_test.json | 6 +-
.../normalize_non_trivial_project.json | 6 +-
.../sql/query_dump/prune_table_npe.json | 4 +
...cache_misuse_exogenous_runtime_filter.json | 4 +
.../query_dump/query_cache_set_operator.json | 4 +
.../query_dump/shared_data_query_test.json | 4 +
.../sql/query_dump/split_order_by.json | 4 +
.../sql/query_dump/topn_push_down_union.json | 4 +
.../resources/sql/query_dump/view_delta.json | 4 +
.../sql/scheduler/external/hive/tpch/q1.sql | 34 +
.../resources/sql/subquery/in-subquery.sql | 12 +-
.../sql/subquery/scalar-subquery.sql | 118 +-
.../sql/tpcds_constraints/AddUniqueKeys.sql | 4 +
fe/pom.xml | 94 +
.../starrocks/load/loadv2/dpp/SparkDpp.java | 12 +
.../load/loadv2/etl/EtlJobConfig.java | 19 +
fe/starrocks_intellij_style.xml | 4 +
.../src/broker-core/pom.xml | 7 +
fs_brokers/apache_hdfs_broker/src/pom.xml | 14 +
gensrc/proto/data.proto | 37 +
gensrc/proto/descriptors.proto | 4 +
gensrc/proto/internal_service.proto | 42 +
gensrc/proto/lake_service.proto | 15 +
gensrc/proto/lake_types.proto | 4 +
gensrc/proto/olap_file.proto | 10 +
gensrc/proto/tablet_schema.proto | 19 +
gensrc/proto/types.proto | 24 +
gensrc/script/functions.py | 34 +
gensrc/thrift/AgentService.thrift | 16 +
gensrc/thrift/DataSinks.thrift | 9 +
gensrc/thrift/Descriptors.thrift | 35 +
gensrc/thrift/FrontendService.thrift | 177 ++
gensrc/thrift/HeartbeatService.thrift | 5 +
gensrc/thrift/InternalService.thrift | 34 +
gensrc/thrift/PlanNodes.thrift | 108 +
gensrc/thrift/Planner.thrift | 4 +
gensrc/thrift/StatusCode.thrift | 5 +
gensrc/thrift/Types.thrift | 49 +-
.../share/iceberg/IcebergPartitionUtils.java | 55 +
.../share/iceberg/SerializableTable.java | 12 +
.../hive/reader/HiveScannerFactory.java | 4 +
.../hudi/reader/HudiSliceScannerFactory.java | 4 +
.../iceberg-metadata-reader/pom.xml | 15 +
.../AbstractIcebergMetadataScanner.java | 124 ++
.../iceberg/IcebergFilesTableScanner.java | 178 ++
.../iceberg/IcebergHistoryTableScanner.java | 84 +
.../iceberg/IcebergManifestsTableScanner.java | 126 ++
.../iceberg/IcebergMetadataColumnValue.java | 68 +-
.../IcebergMetadataLogEntriesScanner.java | 116 ++
.../iceberg/IcebergMetadataScanner.java | 70 +
.../IcebergMetadataScannerFactory.java | 35 +
.../IcebergPartitionsTableScanner.java | 181 ++
.../iceberg/IcebergRefsTableScanner.java | 87 +
.../iceberg/IcebergSnapshotsTableScanner.java | 118 ++
.../jni/connector/ScannerFactory.java | 4 +
.../kudu/reader/KuduSplitScannerFactory.java | 4 +
.../odps/reader/OdpsSplitScannerFactory.java | 4 +
.../reader/PaimonSplitScannerFactory.java | 4 +
run-be-ut.sh | 27 +
test/lib/__init__.py | 4 +
test/lib/arrow_sql_lib.py | 46 +
test/lib/sr_sql_lib.py | 100 +
test/requirements.txt | 6 +
test/sql/test_across_engine/R/test_connection | 21 +
test/sql/test_across_engine/R/test_sink | 273 +++
.../sql/test_across_engine/R/test_sink_nested | 199 ++
.../R/test_sink_partitioned | 351 ++++
test/sql/test_across_engine/T/test_connection | 11 +
test/sql/test_across_engine/T/test_sink | 95 +
.../sql/test_across_engine/T/test_sink_nested | 114 +
.../T/test_sink_partitioned | 173 ++
.../data/nested_lists.parquet | Bin 0 -> 881 bytes
.../data/nested_maps.parquet | Bin 0 -> 1324 bytes
.../data/nested_structs.parquet | Bin 0 -> 27502 bytes
.../data/tpch_lineitem.parquet | Bin 0 -> 362801 bytes
test/sql/test_agg/R/test_agg_set_prefetch | 39 +
test/sql/test_agg/R/test_tinyint_agg | 21 +
test/sql/test_agg/T/test_agg_set_prefetch | 18 +
test/sql/test_agg/T/test_tinyint_agg | 11 +
test/sql/test_agg_function/R/test_hll | 119 ++
.../R/test_hll_sketch_count.sql | 75 +
.../test_agg_function/R/test_lc_percentile | 149 ++
.../sql/test_agg_function/R/test_mann_whitney | 247 +++
test/sql/test_agg_function/R/test_map_agg | 195 ++
.../test_agg_function/R/test_percentile_union | 21 +
test/sql/test_agg_function/T/test_hll | 28 +
.../T/test_hll_sketch_count.sql | 35 +
.../test_agg_function/T/test_lc_percentile | 57 +
.../sql/test_agg_function/T/test_mann_whitney | 155 ++
test/sql/test_agg_function/T/test_map_agg | 74 +
.../test_agg_function/T/test_percentile_union | 14 +
.../test_agg_state_ds_hll_count_distinct.sql | 100 +
.../R/test_agg_state_table_basic.sql | 215 ++
...est_agg_state_table_with_all_functions.sql | 935 +++++++++
.../R/test_agg_state_with_async_mv.sql | 179 ++
.../R/test_agg_state_with_sync_mv.sql | 172 ++
.../test_agg_state_ds_hll_count_distinct.sql | 57 +
.../T/test_agg_state_table_basic.sql | 129 ++
...est_agg_state_table_with_all_functions.sql | 924 +++++++++
.../T/test_agg_state_with_async_mv.sql | 162 ++
.../T/test_agg_state_with_sync_mv.sql | 153 ++
.../R/test_analyze_hive_stats | 19 +
.../T/test_analyze_hive_stats | 19 +
test/sql/test_array/R/test_array | 6 +
test/sql/test_arrow/R/test_arrow | 39 +
test/sql/test_arrow/T/test_arrow | 22 +
.../test_auto_increment/R/test_auto_increment | 40 +-
.../test_auto_increment/T/test_auto_increment | 26 +
.../R/test_automatic_partition | 141 ++
.../T/test_automatic_partition | 13 +
.../R/test_automatic_partition_fail | 4 +
.../R/test_automatic_partition_list | 13 +
.../R/test_insert_overwrite | 8 +
.../R/test_multi_expr | 649 ++++++
.../T/test_multi_expr | 214 ++
test/sql/test_cast/R/test_cast_json_to_struct | 49 +
test/sql/test_cast/T/test_cast_json_to_struct | 14 +
.../test_column_rename/R/test_column_rename2 | 3 +
.../test_column_rename/T/test_column_rename | 114 +
.../test_column_rename/T/test_column_rename2 | 61 +
.../R/test_deltalake_collect_stats | 11 +
test/sql/test_deltalake/R/test_deltalake_dv | 25 +
.../R/test_deltalake_scan_ranges | 320 +++
.../sql/test_deltalake/R/test_deltalake_trace | 6 +
.../T/test_deltalake_collect_stats | 9 +
test/sql/test_deltalake/T/test_deltalake_dv | 15 +
.../T/test_deltalake_scan_ranges | 99 +
.../sql/test_deltalake/T/test_deltalake_trace | 4 +
test/sql/test_dictionary/R/test_dictionary | 8 +
test/sql/test_dictionary/T/test_dictionary | 8 +
test/sql/test_dml/R/test_update | 30 +-
test/sql/test_dml/T/test_update | 15 +-
.../test_drop_partition/R/test_drop_partition | 90 +
.../test_drop_partition_list_table_with_where | 123 ++
...test_drop_partition_range_table_with_where | 136 ++
.../test_drop_partition/T/test_drop_partition | 30 +
.../test_drop_partition_list_table_with_where | 58 +
...test_drop_partition_range_table_with_where | 68 +
.../test_dynamic_overwrite/R/test_overwrite | 125 ++
.../test_dynamic_overwrite/T/test_overwrite | 51 +
.../R/test_scan_predicate_expr_reuse | 201 ++
.../T/test_scan_predicate_expr_reuse | 64 +
.../R/test_parquet_read_range | 26 +
.../R/test_parquet_struct_in_struct | 14 +
.../T/test_parquet_read_range | 17 +
.../T/test_parquet_struct_in_struct | 6 +
test/sql/test_feedback/R/test_agg_feedback | 143 ++
.../R/test_external_table_join_feedback | 67 +
test/sql/test_feedback/R/test_join_feedback | 67 +
test/sql/test_feedback/T/test_agg_feedback | 58 +
.../T/test_external_table_join_feedback | 32 +
test/sql/test_feedback/T/test_join_feedback | 31 +
test/sql/test_files/R/csv_format | 23 +
test/sql/test_files/R/test_insert_properties | 150 ++
test/sql/test_files/R/test_orc_files_merge | 115 ++
test/sql/test_files/R/test_orc_struct | 36 +
.../sql/test_files/R/test_parquet_files_merge | 115 ++
test/sql/test_files/T/csv_format | 18 +
test/sql/test_files/T/test_insert_properties | 97 +
test/sql/test_files/T/test_orc_files_merge | 59 +
test/sql/test_files/T/test_orc_struct | 15 +
.../sql/test_files/T/test_parquet_files_merge | 59 +
.../sql/test_files/csv_format/invalid_int.csv | 3 +
test/sql/test_files/orc_format/basic_type.orc | Bin 0 -> 1027 bytes
.../orc_format/basic_type_k2k5k7.orc | Bin 0 -> 434 bytes
.../orc_format/struct_mix.snappy.orc | Bin 0 -> 17196 bytes
.../parquet_format/basic_type_k2k5k7.parquet | Bin 0 -> 836 bytes
test/sql/test_function/R/test_math | 50 +
test/sql/test_function/R/test_regex | 27 +
test/sql/test_function/R/test_synopse | 29 +
test/sql/test_function/T/test_math | 26 +-
test/sql/test_function/T/test_synopse | 4 +
test/sql/test_gtid/R/test_gtid | 612 ++++++
test/sql/test_gtid/T/test_gtid | 167 ++
test/sql/test_hive/R/test_hive_analyze | 54 +
test/sql/test_hive/R/test_hive_scan_ranges | 65 +
test/sql/test_hive/T/test_hive_analyze | 25 +
test/sql/test_hive/T/test_hive_scan_ranges | 31 +
test/sql/test_iceberg/R/test_iceberg_catalog | 19 +-
.../R/test_iceberg_distributed_plan | 6 +
.../R/test_iceberg_identifier_metrics_cache | 6 +
.../R/test_iceberg_logical_metadata_table | 6 +
test/sql/test_iceberg/R/test_metadata_table | 131 ++
test/sql/test_iceberg/R/test_table_operation | 62 +
test/sql/test_iceberg/R/test_timetravel | 113 +
test/sql/test_iceberg/R/test_write_null | 26 +
test/sql/test_iceberg/T/test_iceberg_catalog | 7 +
.../T/test_iceberg_distributed_plan | 4 +
.../T/test_iceberg_identifier_metrics_cache | 4 +
.../T/test_iceberg_logical_metadata_table | 4 +
test/sql/test_iceberg/T/test_metadata_table | 50 +
test/sql/test_iceberg/T/test_table_operation | 38 +
test/sql/test_iceberg/T/test_timetravel | 38 +
test/sql/test_iceberg/T/test_write_null | 12 +
test/sql/test_index/R/test_ngram_bloom_filter | 18 +
test/sql/test_index/T/test_ngram_bloom_filter | 6 +-
test/sql/test_information_schema/R/test_loads | 8 +
.../R/test_task_run_status | 30 +
.../T/test_task_run_status | 14 +
.../test_insert_empty/R/test_insert_by_name | 126 ++
.../test_insert_empty/R/test_insert_timeout | 63 +
.../test_insert_empty/T/test_insert_by_name | 46 +
.../test_insert_empty/T/test_insert_timeout | 33 +
.../test_inverted_index/R/test_inverted_index | 12 +
.../test_inverted_index/T/test_inverted_index | 4 +
.../test_join/R/test_predicate_move_around | 826 ++++++++
.../test_join/T/test_predicate_move_around | 190 ++
test/sql/test_lake_rollup/R/test_lake_rollup | 38 +
test/sql/test_lake_rollup/T/test_lake_rollup | 23 +
.../sql/test_lake_sync_mv/R/test_lake_sync_mv | 38 +
.../R/test_lake_sync_mv_rewrite | 51 +
.../sql/test_lake_sync_mv/T/test_lake_sync_mv | 23 +
.../T/test_lake_sync_mv_rewrite | 38 +
.../R/test_add_list_partition | 83 +
.../R/test_list_partition_cardinality | 4 +
.../T/test_add_list_partition | 39 +-
.../T/test_list_partition_cardinality | 4 +
.../R/test_generated_column_rewrite | 8 +
.../R/test_materialized_column | 8 +
.../T/test_generated_column_rewrite | 6 +
.../T/test_materialized_column | 4 +
...est_materialized_view_agg_pushdown_rewrite | 11 +
...erialized_view_incremental_refresh_on_hive | 105 +
.../R/test_materialized_view_rewrite | 20 +
.../R/test_materialized_view_union | 20 +
.../R/test_mv_iceberg_rewrite | 12 +
.../R/test_mv_join_derivabllity_rewrite | 80 +
.../R/test_mv_or_predicate_rewrite | 36 +
.../R/test_mv_partition_compensate_hive | 10 +
...test_mv_partition_compensate_iceberg_part1 | 38 +
...test_mv_partition_compensate_iceberg_part2 | 48 +
.../R/test_mv_partition_compensate_mysql | 6 +
.../R/test_mv_partition_compensate_olap | 4 +
.../R/test_refresh_mv_with_different_dbs | 71 +
.../R/test_show_materialized_view | 18 +-
...erialized_view_incremental_refresh_on_hive | 66 +
.../T/test_materialized_view_rewrite | 20 +
.../T/test_materialized_view_union | 20 +
.../T/test_mv_iceberg_rewrite | 6 +
.../T/test_mv_join_derivabllity_rewrite | 80 +
.../T/test_mv_or_predicate_rewrite | 36 +
.../T/test_mv_partition_compensate_hive | 8 +
...test_mv_partition_compensate_iceberg_part1 | 28 +
...test_mv_partition_compensate_iceberg_part2 | 34 +
.../T/test_mv_partition_compensate_mysql | 4 +
.../T/test_mv_partition_compensate_olap | 4 +
.../T/test_refresh_mv_with_different_dbs | 46 +
.../T/test_show_materialized_view | 10 +-
.../R/test_mv_refresh_list_partitions_basic | 40 +
...mv_refresh_list_partitions_partial_refresh | 45 +
...t_mv_refresh_list_partitions_with_nullable | 41 +
.../R/test_mv_refresh_with_mv_reuse | 68 +
.../R/test_mv_refresh_with_time_slice | 14 +-
.../R/test_mv_refresh_with_union | 24 +
.../R/test_mv_skip_partition_cache_iceberg | 173 ++
.../T/test_mv_refresh_list_partitions_basic | 22 +
...mv_refresh_list_partitions_partial_refresh | 25 +
...t_mv_refresh_list_partitions_with_nullable | 16 +
.../T/test_mv_refresh_with_mv_reuse | 45 +-
.../T/test_mv_refresh_with_time_slice | 14 +-
.../T/test_mv_refresh_with_union | 24 +
.../T/test_mv_skip_partition_cache_iceberg | 75 +
.../R/test_mv_rewrite_with_date_trunc_rollup | 349 ++++
.../R/test_mv_rewrite_with_time_series | 263 +++
...test_mv_rewrite_with_time_series_multi_mvs | 270 +++
.../T/test_mv_rewrite_with_date_trunc_rollup | 110 +
.../T/test_mv_rewrite_with_time_series | 101 +
...test_mv_rewrite_with_time_series_multi_mvs | 129 ++
test/sql/test_meta_scan/R/test_meta_scan | 538 +++++
test/sql/test_meta_scan/T/test_meta_scan | 225 ++
.../test_nest_loop_join/R/test_nest_loop_join | 4 +
.../test_nest_loop_join/T/test_nest_loop_join | 4 +
.../R/test_expr_from_unixtime_prune_partition | 8 +
.../R/test_expr_str2date | 4 +
.../test_partition_by_expr/R/test_expr_substr | 4 +
.../T/test_expr_from_unixtime_prune_partition | 8 +
.../T/test_expr_str2date | 4 +
.../test_partition_by_expr/T/test_expr_substr | 4 +
.../R/test_driver_prepare | 29 +
.../T/test_driver_prepare | 28 +
.../T/test_load_channel_profile_analysis.sh | 4 +
test/sql/test_query_cache/R/test_query_cache | 426 ++++
.../R/test_query_cache_shard_data | 426 ++++
test/sql/test_query_cache/T/test_query_cache | 399 ++++
.../T/test_query_cache_shard_data | 395 ++++
test/sql/test_rbac/R/test_view_privilege | 32 +
test/sql/test_rbac/T/test_view_privilege | 14 +
.../test_scan/R/test_schema_scan_asan_crash | 15 +
test/sql/test_scan/R/test_table_sample | 92 +
.../test_scan/T/test_schema_scan_asan_crash | 9 +
test/sql/test_scan/T/test_table_sample | 50 +
.../R/test_index_and_filter_on_or_predicate | 294 +++
.../T/test_index_and_filter_on_or_predicate | 207 ++
.../sql/test_sink/R/test_fault_injection_hdfs | 260 +++
test/sql/test_sink/R/test_fault_injection_oss | 286 +++
.../sql/test_sink/T/test_fault_injection_hdfs | 167 ++
test/sql/test_sink/T/test_fault_injection_oss | 192 ++
test/sql/test_spill/R/test_spill_nl_join | 6 +
test/sql/test_spill/T/test_spill_nl_join | 4 +
test/sql/test_task/R/test_drop | 4 +
test/sql/test_task/R/test_periodical_task | 9 +
test/sql/test_task/T/test_drop | 4 +
test/sql/test_task/T/test_periodical_task | 10 +
...t_mv_with_multi_partition_columns_iceberg1 | 462 +++++
...t_mv_with_multi_partition_columns_iceberg2 | 681 ++++++
.../R/test_transparent_mv_hive | 4 +
.../R/test_transparent_mv_iceberg_part1 | 6 +
.../R/test_transparent_mv_iceberg_part2 | 10 +
.../R/test_transparent_mv_mysql | 6 +
.../R/test_transparent_mv_olap_part1 | 820 ++++++++
.../R/test_transparent_mv_union_iceberg | 74 +
...t_mv_with_multi_partition_columns_iceberg1 | 292 +++
...t_mv_with_multi_partition_columns_iceberg2 | 223 ++
.../T/test_transparent_mv_hive | 4 +
.../T/test_transparent_mv_iceberg_part1 | 4 +
.../T/test_transparent_mv_iceberg_part2 | 8 +
.../T/test_transparent_mv_mysql | 4 +
.../T/test_transparent_mv_olap_part1 | 268 +++
.../T/test_transparent_mv_union_iceberg | 17 +
test/sql/test_udf/R/test_python_udf | 288 +++
test/sql/test_udf/T/test_python_udf | 249 +++
.../sql/test_vector_index/R/test_vector_index | 91 +
.../sql/test_vector_index/T/test_vector_index | 45 +
.../R/test_window_pre_agg_with_rank | 96 +
.../T/test_window_pre_agg_with_rank | 79 +
test/test_sql_cases.py | 4 +
thirdparty/build-thirdparty.sh | 170 ++
thirdparty/download-thirdparty.sh | 90 +
thirdparty/patches/avro-1.10.2.c.gcc14.patch | 13 +
thirdparty/patches/breakpad-2022.07.12.patch | 12 +
thirdparty/patches/clucene-gcc14.patch | 12 +
.../mariadb-connector-c-3.1.14-gcc14.patch | 13 +
thirdparty/patches/poco-1.12.5-ca.patch | 162 ++
.../patches/poco-1.12.5-keep-alive.patch | 27 +
.../patches/poco-1.12.5-zero-copy.patch | 143 ++
thirdparty/patches/rapidjson-gcc14.patch | 45 +
thirdparty/patches/rocksdb-6.22.1-gcc14.patch | 151 ++
.../rocksdb-6.22.1-metadata-header.patch | 84 +
thirdparty/patches/sasl2-gcc14.patch | 26 +
thirdparty/starlet-artifacts-version.sh | 4 +
thirdparty/vars-aarch64.sh | 7 +
thirdparty/vars-ubuntu22-aarch64.sh | 7 +
thirdparty/vars-ubuntu22-x86_64.sh | 7 +
thirdparty/vars-x86_64.sh | 7 +
thirdparty/vars.sh | 58 +
tools/benchmark/table_sample.sh | 84 +
tools/stream_load/README.md | 4 +
trivy.yaml | 9 +
3907 files changed, 217918 insertions(+), 32 deletions(-)
create mode 100644 .github/workflows/releasenotes404.yaml
create mode 100644 be/cmake_modules/FindGlibcVersion.cmake
create mode 100644 be/extension/python-udf/src/flight_server.py
create mode 100644 be/src/bench/bit_copy.h
create mode 100644 be/src/bench/bit_unpack_bench.cpp
create mode 100644 be/src/bench/mem_equal_bench.cpp
create mode 100644 be/src/common/format_ip.h
create mode 100644 be/src/common/vlog_cntl.h
create mode 100644 be/src/connector/deletion_vector/deletion_vector.cpp
create mode 100644 be/src/connector/deletion_vector/deletion_vector.h
create mode 100644 be/src/exec/arrow_flight_batch_reader.cpp
create mode 100644 be/src/exec/arrow_flight_batch_reader.h
create mode 100644 be/src/exec/pipeline/hashjoin/hash_joiner_fwd.h
create mode 100644 be/src/exprs/agg/agg_state_merge.h
create mode 100644 be/src/exprs/agg/agg_state_union.h
create mode 100644 be/src/exprs/agg/aggregate_state_allocator.h
create mode 100644 be/src/exprs/agg/ds_hll_count_distinct.h
create mode 100644 be/src/exprs/agg/factory/aggregate_resolver_hypothesis_testing.cpp
create mode 100644 be/src/exprs/agg/helpers/serialize_helpers.hpp
create mode 100644 be/src/exprs/agg/hypothesis_testing_common.h
create mode 100644 be/src/exprs/agg/mann_whitney.h
create mode 100644 be/src/exprs/agg/map_agg.h
create mode 100644 be/src/exprs/agg_state_function.h
create mode 100644 be/src/exprs/arrow_function_call.cpp
create mode 100644 be/src/exprs/arrow_function_call.h
create mode 100644 be/src/exprs/cast_expr_struct.cpp
create mode 100644 be/src/exprs/inet_aton.cpp
create mode 100644 be/src/exprs/min_max_predicate.h
create mode 100644 be/src/exprs/regexp_split.cpp
create mode 100644 be/src/exprs/regexp_split.h
create mode 100644 be/src/formats/parquet/column_reader_factory.cpp
create mode 100644 be/src/formats/parquet/column_reader_factory.h
create mode 100644 be/src/formats/parquet/complex_column_reader.cpp
create mode 100644 be/src/formats/parquet/complex_column_reader.h
create mode 100644 be/src/formats/parquet/scalar_column_reader.cpp
create mode 100644 be/src/formats/parquet/scalar_column_reader.h
create mode 100644 be/src/formats/parquet/zone_map_filter_evaluator.h
create mode 100644 be/src/fs/s3/poco_common.cpp
create mode 100644 be/src/fs/s3/poco_common.h
create mode 100644 be/src/fs/s3/poco_http_client.cpp
create mode 100644 be/src/fs/s3/poco_http_client.h
create mode 100644 be/src/fs/s3/poco_http_client_factory.cpp
create mode 100644 be/src/fs/s3/poco_http_client_factory.h
create mode 100644 be/src/fs/s3/pool_base.h
create mode 100644 be/src/io/s3_zero_copy_iostream.h
create mode 100644 be/src/runtime/agg_state_desc.cpp
create mode 100644 be/src/runtime/agg_state_desc.h
create mode 100644 be/src/runtime/arrow_result_writer.cpp
create mode 100644 be/src/runtime/arrow_result_writer.h
create mode 100644 be/src/runtime/batch_write/batch_write_mgr.cpp
create mode 100644 be/src/runtime/batch_write/batch_write_mgr.h
create mode 100644 be/src/runtime/batch_write/batch_write_util.cpp
create mode 100644 be/src/runtime/batch_write/batch_write_util.h
create mode 100644 be/src/runtime/batch_write/isomorphic_batch_write.cpp
create mode 100644 be/src/runtime/batch_write/isomorphic_batch_write.h
create mode 100644 be/src/runtime/buffer_control_result_writer.cpp
create mode 100644 be/src/runtime/buffer_control_result_writer.h
create mode 100644 be/src/runtime/global_variables.cpp
create mode 100644 be/src/runtime/global_variables.h
create mode 100644 be/src/runtime/memory/allocator.h
create mode 100644 be/src/runtime/memory/column_allocator.cpp
create mode 100644 be/src/runtime/memory/column_allocator.h
create mode 100644 be/src/runtime/memory/counting_allocator.h
create mode 100644 be/src/runtime/memory/mem_hook_allocator.h
create mode 100644 be/src/runtime/memory/roaring_hook.cpp
create mode 100644 be/src/runtime/memory/roaring_hook.h
create mode 100644 be/src/runtime/stream_load/time_bounded_stream_load_pipe.cpp
create mode 100644 be/src/runtime/stream_load/time_bounded_stream_load_pipe.h
create mode 100644 be/src/service/service_be/arrow_flight_sql_service.cpp
create mode 100644 be/src/service/service_be/arrow_flight_sql_service.h
create mode 100644 be/src/simd/multi_version.h
create mode 100644 be/src/starrocks_format/CMakeLists.txt
create mode 100644 be/src/starrocks_format/starrocks_lib.cpp
create mode 100644 be/src/starrocks_format/starrocks_lib.h
create mode 100644 be/src/storage/column_and_predicate.cpp
create mode 100644 be/src/storage/column_and_predicate.h
create mode 100644 be/src/storage/index/index_descriptor.h
create mode 100644 be/src/storage/index/inverted/clucene/clucene_inverted_reader.cpp
create mode 100644 be/src/storage/index/inverted/clucene/clucene_inverted_reader.h
create mode 100644 be/src/storage/index/inverted/clucene/clucene_inverted_util.h
create mode 100644 be/src/storage/index/inverted/clucene/clucene_inverted_writer.cpp
create mode 100644 be/src/storage/index/inverted/clucene/clucene_inverted_writer.h
create mode 100644 be/src/storage/index/inverted/clucene/clucene_plugin.cpp
create mode 100644 be/src/storage/index/inverted/clucene/clucene_plugin.h
create mode 100644 be/src/storage/index/inverted/clucene/clucene_roaring_hit_collector.h
create mode 100644 be/src/storage/index/inverted/clucene/match_operator.cpp
create mode 100644 be/src/storage/index/inverted/clucene/match_operator.h
create mode 100644 be/src/storage/index/inverted/inverted_index_common.h
create mode 100644 be/src/storage/index/inverted/inverted_index_iterator.cpp
create mode 100644 be/src/storage/index/inverted/inverted_index_iterator.h
create mode 100644 be/src/storage/index/inverted/inverted_index_option.cpp
create mode 100644 be/src/storage/index/inverted/inverted_index_option.h
create mode 100644 be/src/storage/index/inverted/inverted_plugin.h
create mode 100644 be/src/storage/index/inverted/inverted_plugin_factory.cpp
create mode 100644 be/src/storage/index/inverted/inverted_plugin_factory.h
create mode 100644 be/src/storage/index/inverted/inverted_reader.h
create mode 100644 be/src/storage/index/inverted/inverted_writer.h
create mode 100644 be/src/storage/index/vector/empty_index_reader.cpp
create mode 100644 be/src/storage/index/vector/empty_index_reader.h
create mode 100644 be/src/storage/index/vector/tenann/del_id_filter.cpp
create mode 100644 be/src/storage/index/vector/tenann/del_id_filter.h
create mode 100644 be/src/storage/index/vector/tenann/tenann_index_builder.cpp
create mode 100644 be/src/storage/index/vector/tenann/tenann_index_builder.h
create mode 100644 be/src/storage/index/vector/tenann/tenann_index_utils.cpp
create mode 100644 be/src/storage/index/vector/tenann/tenann_index_utils.h
create mode 100644 be/src/storage/index/vector/tenann_index_reader.cpp
create mode 100644 be/src/storage/index/vector/tenann_index_reader.h
create mode 100644 be/src/storage/index/vector/vector_index_builder.cpp
create mode 100644 be/src/storage/index/vector/vector_index_builder.h
create mode 100644 be/src/storage/index/vector/vector_index_builder_factory.cpp
create mode 100644 be/src/storage/index/vector/vector_index_builder_factory.h
create mode 100644 be/src/storage/index/vector/vector_index_reader.h
create mode 100644 be/src/storage/index/vector/vector_index_reader_factory.cpp
create mode 100644 be/src/storage/index/vector/vector_index_reader_factory.h
create mode 100644 be/src/storage/index/vector/vector_index_writer.cpp
create mode 100644 be/src/storage/index/vector/vector_index_writer.h
create mode 100644 be/src/storage/index/vector/vector_search_option.h
create mode 100644 be/src/storage/lake/lake_delvec_loader.cpp
create mode 100644 be/src/storage/lake/lake_delvec_loader.h
create mode 100644 be/src/storage/rowset/bitmap_index_evaluator.cpp
create mode 100644 be/src/storage/rowset/bitmap_index_evaluator.h
create mode 100644 be/src/storage/rowset/data_sample.cpp
create mode 100644 be/src/storage/rowset/data_sample.h
create mode 100644 be/src/types/checker/type_checker.cpp
create mode 100644 be/src/types/checker/type_checker.h
create mode 100644 be/src/types/hll_sketch.cpp
create mode 100644 be/src/types/hll_sketch.h
create mode 100644 be/src/types/large_int_value.cpp
create mode 100644 be/src/types/large_int_value.h
create mode 100644 be/src/types/type_checker_manager.cpp
create mode 100644 be/src/types/type_checker_manager.h
create mode 100644 be/src/udf/python/callstub.cpp
create mode 100644 be/src/udf/python/callstub.h
create mode 100644 be/src/udf/python/env.cpp
create mode 100644 be/src/udf/python/env.h
create mode 100644 be/src/udf/udf_call_stub.cpp
create mode 100644 be/src/udf/udf_call_stub.h
create mode 100644 be/src/util/base85.cpp
create mode 100644 be/src/util/base85.h
create mode 100644 be/src/util/bit_packing_adapter.h
create mode 100644 be/src/util/bit_packing_simd.h
create mode 100644 be/src/util/internal_service_recoverable_stub.cpp
create mode 100644 be/src/util/internal_service_recoverable_stub.h
create mode 100644 be/test/connector/deletion_vector/deletion_vector_test.cpp
create mode 100644 be/test/exec/olap_scan_prepare_test.cpp
create mode 100644 be/test/exec/workgroup/pipeline_executor_set_test.cpp
create mode 100644 be/test/exprs/min_max_predicate_test.cpp
create mode 100644 be/test/formats/orc/utils_test.cpp
create mode 100644 be/test/formats/parquet/test_data/file_read_test_filter_row_group_1.parquet
create mode 100644 be/test/formats/parquet/test_data/file_read_test_filter_row_group_2.parquet
create mode 100644 be/test/fs/poco_http_client_test.cpp
create mode 100644 be/test/http/action/update_config_action_test.cpp
create mode 100644 be/test/runtime/agg_state_desc_test.cpp
create mode 100644 be/test/runtime/batch_write/batch_write_mgr_test.cpp
create mode 100644 be/test/runtime/batch_write/batch_write_util_test.cpp
create mode 100644 be/test/runtime/batch_write/isomorphic_batch_write_test.cpp
create mode 100644 be/test/runtime/memory/counting_allocator_test.cpp
create mode 100644 be/test/runtime/time_bounded_stream_load_pipe_test.cpp
create mode 100644 be/test/storage/column_and_predicate_test.cpp
create mode 100644 be/test/storage/column_or_predicate_test.cpp
create mode 100644 be/test/storage/index/vector_index_test.cpp
create mode 100644 be/test/storage/index/vector_search_test.cpp
create mode 100644 be/test/storage/lake/starlet_location_provider_test.cpp
create mode 100644 be/test/storage/metadata_util_test.cpp
create mode 100644 be/test/storage/olap_runtime_range_pruner_test.cpp
create mode 100644 be/test/storage/rowset/data_sample_test.cpp
create mode 100644 be/test/types/type_checker_test.cpp
create mode 100644 be/test/util/base85_test.cpp
create mode 100644 be/test/util/bit_packing_simd_test.cpp
create mode 100644 be/test/util/internal_service_recoverable_stub_test.cpp
create mode 100644 be/test/util/raw_container_test.cpp
create mode 100644 contrib/starrocks-python-client/starrocks/alembic.py
create mode 100644 docker/dockerfiles/Dockerhub-README.md
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/aarch64/CentOS-Base-Local-List.repo
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/aarch64/yum-base-mirrorlist.txt
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/aarch64/yum-extras-mirrorlist.txt
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/aarch64/yum-updates-mirrorlist.txt
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/x86_64/CentOS-Base-Local-List.repo
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/x86_64/yum-base-mirrorlist.txt
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/x86_64/yum-extras-mirrorlist.txt
create mode 100644 docker/dockerfiles/toolchains/yum-mirrorlist/x86_64/yum-updates-mirrorlist.txt
create mode 100644 docs/en/release_notes/release-3.1.md
create mode 100644 docs/en/release_notes/release-3.3.md
create mode 100644 docs/en/sql-reference/sql-functions/Python_UDF.md
create mode 100644 docs/en/sql-reference/sql-functions/aggregate-functions/approx_count_distinct_hll_sketch.md
create mode 100644 docs/en/sql-reference/sql-functions/aggregate-functions/mann_whitney_u_test.md
create mode 100644 docs/en/sql-reference/sql-functions/aggregate-functions/percentile_disc_lc.md
create mode 100644 docs/en/sql-reference/sql-functions/string-functions/inet_aton.md
create mode 100644 docs/en/sql-reference/sql-functions/string-functions/regexp_split.md
create mode 100644 docs/en/sql-reference/sql-functions/utility-functions/bar.md
create mode 100644 docs/en/sql-reference/sql-functions/utility-functions/equiwidth_bucket.md
create mode 100644 docs/translation/.env.sample
create mode 100644 docs/translation/.gitignore
create mode 100644 docs/translation/README.md
create mode 100644 docs/translation/en-to-zh-configs/config.yaml
create mode 100644 docs/translation/en-to-zh-configs/evaluation_prompt.txt
create mode 100644 docs/translation/en-to-zh-configs/human_prompt.txt
create mode 100644 docs/translation/en-to-zh-configs/language_dicts/en.yaml
create mode 100644 docs/translation/en-to-zh-configs/language_dicts/zh.yaml
create mode 100644 docs/translation/en-to-zh-configs/system_prompt.txt
create mode 100755 docs/translation/scripts/en-to-zh.translate.sh
create mode 100755 docs/translation/scripts/zh-to-en.translate.sh
create mode 100644 docs/translation/translation.Dockerfile
create mode 100644 docs/translation/zh-to-en-configs/config.yaml
create mode 100644 docs/translation/zh-to-en-configs/evaluation_prompt.txt
create mode 100644 docs/translation/zh-to-en-configs/human_prompt.txt
create mode 100644 docs/translation/zh-to-en-configs/language_dicts/en.yaml
create mode 100644 docs/translation/zh-to-en-configs/language_dicts/zh.yaml
create mode 100644 docs/translation/zh-to-en-configs/system_prompt.txt
create mode 100644 docs/zh/release_notes/release-3.1.md
create mode 100644 docs/zh/release_notes/release-3.3.md
create mode 100644 docs/zh/sql-reference/sql-functions/Python_UDF.md
create mode 100644 docs/zh/sql-reference/sql-functions/aggregate-functions/mann_whitney_u_test.md
create mode 100644 docs/zh/sql-reference/sql-functions/aggregate-functions/percentile_disc_lc.md
create mode 100644 docs/zh/sql-reference/sql-functions/string-functions/inet_aton.md
create mode 100644 docs/zh/sql-reference/sql-functions/string-functions/regexp_split.md
create mode 100644 docs/zh/sql-reference/sql-functions/utility-functions/bar.md
create mode 100644 docs/zh/sql-reference/sql-functions/utility-functions/equiwidth_bucket.md
create mode 100644 fe/fe-core/src/main/java/com/starrocks/alter/LakeRollupJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/alter/LakeTableRollupBuilder.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/alter/LakeTableSchemaChangeJobBase.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/alter/OlapTableRollupJobBuilder.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/analysis/VectorIndexUtil.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/AccessControlProvider.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/AccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/AccessDeniedException.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ActionSet.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/AuthorizationMgr.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/AuthorizationProvider.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/CatalogPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ColumnPrivilege.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/DbPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/DefaultAuthorizationProvider.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ExternalAccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ForwardCompatiblePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/FunctionPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/GlobalFunctionPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/MaterializedViewPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/NativeAccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ObjectType.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PipePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PolicyFCEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivObjNotFoundException.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivilegeBuiltinConstants.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivilegeCollectionV2.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivilegeEntry.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivilegeException.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/PrivilegeType.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ResourceGroupPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ResourcePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/RolePrivilegeCollectionV2.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/SecurityPolicyRewriteRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/StorageVolumePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/TablePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/UserPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/UserPrivilegeCollectionV2.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ViewPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/WarehouseFCPEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/WarehousePEntryObject.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/AccessTypeConverter.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/ObjectTypeConverter.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/RangerAccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/RangerAccessResourceBuilder.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/RangerStarRocksAccessRequest.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/hive/HiveAccessType.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/hive/RangerHiveAccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/hive/RangerHiveResource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/starrocks/RangerStarRocksAccessController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/authorization/ranger/starrocks/RangerStarRocksResource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/IndexParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateCombinator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateDesc.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateMergeCombinator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateUnionCombinator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/catalog/combinator/AggStateUtils.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/clone/PartitionTTLScheduler.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/clone/SchedulerRuntimeInfoCollector.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/StarRocksException.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/StatusOr.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/VectorIndexParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/VectorSearchOptions.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/util/ArrowUtil.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/LockUtils.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/AsyncTaskQueue.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/BranchOptions.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/ConnectorMetadatRequestContext.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/ConnectorProperties.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/ConnectorScanRangeSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/ConnectorTableVersion.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/DirectoryBasedUpdateArbitrator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/GetRemoteFilesParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/HMSPartitionBasedRemoteInfoSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/HivePartitionDataInfo.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/ObjectBasedUpdateArbitrator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/PointerType.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileInfoDefaultSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileInfoSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/RemoteFileScanContext.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/TableUpdateArbitrator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/TableVersionRange.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/TagOptions.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaConnectorScanRangeSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/delta/DeltaRemoteFileInfo.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/hive/HiveConnectorScanRangeSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/hudi/HudiConnectorScanRangeSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergConnectorScanRangeSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergDeleteSchema.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergGetRemoteFilesParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergMORParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergRemoteFileInfo.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergRemoteFileInfoSourceKey.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergRemoteSourceTrigger.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/IcebergTableOperation.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/QueueIcebergRemoteFileInfoSource.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/rest/OAuth2SecurityConfig.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/rest/OAuth2SecurityProperties.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/iceberg/rest/SecurityEnum.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/AbstractMetadataTableFactory.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/MetadataTableFactoryProvider.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergFilesTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergHistoryTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergManifestsTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergMetadataLogEntriesTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergMetadataTableFactory.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergPartitionsTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergRefsTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/metadata/iceberg/IcebergSnapshotsTable.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/statistics/ConnectorAnalyzeTask.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/statistics/ConnectorAnalyzeTaskQueue.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/connector/statistics/ConnectorTableTriggerAnalyzeMgr.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/StreamLoadMetaAction.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/RestBaseResultV2.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/TableBaseAction.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/TablePartitionAction.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/TableSchemaAction.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/ColumnView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/DistributionInfoView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/IndexView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/MaterializedIndexMetaView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/PartitionInfoView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/TableSchemaView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/TabletView.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/http/rest/v2/vo/package-info.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/journal/CheckpointException.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/journal/CheckpointWorker.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/journal/GlobalStateCheckpointWorker.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/journal/StarMgrCheckpointWorker.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/leader/CheckpointController.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/BatchWriteId.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/BatchWriteMgr.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/CoordinatorBackendAssigner.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/CoordinatorBackendAssignerImpl.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/IsomorphicBatchWrite.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/LoadExecuteCallback.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/LoadExecutor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/RequestCoordinatorBackendResult.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/RequestLoadResult.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/batchwrite/TableId.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadHttpHeader.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadKvParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/load/streamload/StreamLoadThriftParams.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/persist/DropPartitionsInfo.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/NodeExecStats.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/OperatorTuningGuides.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/PlanAdvisorExecutor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/PlanTuningAdvisor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/PlanTuningCacheKey.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/analyzer/JoinTuningAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/analyzer/PlanTuningAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/analyzer/StreamingAggTuningAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/guide/JoinTuningGuide.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/guide/LeftChildEstimationErrorTuningGuide.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/guide/RightChildEstimationErrorTuningGuide.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/guide/StreamingAggTuningGuide.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/guide/TuningGuide.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/BlockingAggNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/DistributionNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/JoinNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/ScanNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/SkeletonBuilder.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/SkeletonNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/qe/feedback/skeleton/StreamingAggNode.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/scheduler/mv/MVPCTMetaRepairer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlConnectContext.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlConnectProcessor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlService.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlServiceImpl.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/auth/ArrowFlightSqlAuthenticator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/auth/ArrowFlightSqlCredentialValidator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/session/ArrowFlightSqlSessionManager.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/session/ArrowFlightSqlTokenInfo.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/service/arrow/flight/sql/session/ArrowFlightSqlTokenManager.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/RankingWindowUtils.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AuthenticationAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/analyzer/AuthorizationAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/analyzer/CreateFunctionAnalyzer.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/AlterTableOperationClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/CatalogRef.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateOrReplaceBranchClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/CreateOrReplaceTagClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/DropBranchClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/DropTagClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/FunctionRef.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/QueryPeriod.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/TableSampleClause.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/feedback/AddPlanAdvisorStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/feedback/ClearPlanAdvisorStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/feedback/DelPlanAdvisorStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/feedback/PlanAdvisorStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/feedback/ShowPlanAdvisorStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/ast/warehouse/AlterWarehouseStmt.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/OpRuleBit.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/logical/LogicalIcebergEqualityDeleteScanOperator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/physical/PhysicalIcebergEqualityDeleteScanOperator.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/operator/scalar/OperatorFunctionChecker.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/property/DomainProperty.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/property/DomainPropertyDeriver.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/property/RangeExtractor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/property/ReplaceShuttle.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rewrite/TableScanPredicateExtractor.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/implementation/IcebergEqualityDeleteScanImplementationRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/IcebergEqualityDeleteRewriteRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/IcebergPartitionsTableRewriteRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/OnPredicateMoveAroundRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PruneUKFKGroupByKeysRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/PullUpScanPredicateRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/RewriteToVectorPlanRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/AggregatedTimeSeriesRewriter.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/common/AggregateFunctionRollupUtils.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/common/AggregatePushDownUtils.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/equivalent/AggStateRewriteEquivalent.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/materialization/rule/AggregateTimeSeriesRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/transformation/partition/PartitionSelector.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/ApplyTuningGuideRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/rule/tree/MarkParentRequiredDistributionRule.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/sql/optimizer/task/RewriteDownTopTask.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/ExternalSampleStatisticsCollectJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/HyperStatisticsCollectJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/ColumnClassifier.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/ColumnStats.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/ComplexTypeColumnStats.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/PartitionSampler.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/PrimitiveTypeColumnStats.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/SubFieldColumnStats.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/base/TabletSampler.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/ConstQueryJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/FullQueryJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/HyperQueryJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/HyperStatisticSQLs.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/MetaQueryJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/statistic/hyper/SampleQueryJob.java
create mode 100644 fe/fe-core/src/main/java/com/starrocks/task/TabletTaskExecutor.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/alter/LakeRollupJobTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/alter/LakeSyncMaterializedViewTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/analysis/VectorIndexTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/AccessControlTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/ActionSetTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/AuthorizationMgrTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/IdGenerator.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/InvalidateObjectTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/PrivilegeCollectionTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/RBACMockedMetadataMgr.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/RolePrivilegeCollectionTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/ranger/RangerInterfaceTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/authorization/ranger/RangerResourceTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/catalog/AggStateDescTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/catalog/CreateTableWithAggStateTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/catalog/DropPartitionWithExprListTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/catalog/DropPartitionWithExprRangeTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/catalog/combinator/AggStateCombinatorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/common/TraceManagerTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/AlterTableTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/AsyncTaskQueueTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/DirectoryBasedUpdateArbitratorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/HMSPartitionBasedRemoteInfoSourceTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/ObjectBasedUpdateArbitratorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/TableUpdateArbitratorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/iceberg/CachingIcebergCatalogTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/iceberg/MIcebergTable.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/iceberg/MIcebergTableMeta.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/iceberg/rest/OAuth2SecurityConfigTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoDialectDowngradeTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/parser/trino/TrinoInsertTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/statistics/ConnectorAnalyzeTaskQueueTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/connector/statistics/ConnectorAnalyzeTaskTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/http/StreamLoadMetaActionTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/http/rest/v2/TablePartitionActionTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/http/rest/v2/TableSchemaActionTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/PartitionUtilsTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/batchwrite/BatchWriteMgrTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/batchwrite/BatchWriteTestBase.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/batchwrite/CoordinatorBackendAssignerTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/batchwrite/IsomorphicBatchWriteTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/batchwrite/LoadExecutorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadHttpHeaderTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadInfoTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadKvParamsTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadParamsTestBase.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/load/streamload/StreamLoadThriftParamsTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/persist/DropPartitionsInfoTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/planner/OnPredicateMoveAroundRuleTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/planner/VectorIndexTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/qe/KillQueryHandleTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/qe/feedback/analyzer/PlanTuningAnalyzerTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/qe/feedback/guide/LeftChildEstimationErrorTuningGuideTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/qe/feedback/guide/RightChildEstimationErrorTuningGuideTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/qe/scheduler/IncrementalDeployHiveTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/service/ArrowFlightSqlJDBCTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/service/arrow/flight/sql/ArrowFlightSqlServiceTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/analyzer/CreateFunctionStmtAnalyzerTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/ast/TableSampleClauseTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/common/PermutationGeneratorTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/optimizer/ScanPredicateExprReuseTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTimeSeriesRewriteWithHiveTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/transformation/materialization/MvTimeSeriesRewriteWithOlapTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/optimizer/rule/tree/MarkParentRequiredDistributionRuleTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/AggregatePushDownWithCostTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/AggregateWithUKFKTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/IcebergEqualityDeletePlanTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/PlanWithCostTestBase.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/SelectUsingAliasTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/sql/plan/TPCDSAggregateWithUKFKTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/statistic/hyper/HyperJobTest.java
create mode 100644 fe/fe-core/src/test/java/com/starrocks/transaction/GtidGeneratorTest.java
create mode 100644 fe/fe-core/src/test/resources/conf/config_mutable.properties
create mode 100644 fe/fe-core/src/test/resources/sql/optimized-plan/agg-pushdown-disable_on_broadcast_join.sql
create mode 100644 fe/fe-core/src/test/resources/sql/optimized-plan/agg-pushdown-enable_on_broadcast_join.sql
create mode 100644 fe/fe-core/src/test/resources/sql/optimized-plan/preagg-pushdown-disable_on_broadcast_join.sql
create mode 100644 fe/fe-core/src/test/resources/sql/optimized-plan/preagg-pushdown-enable_on_broadcast_join.sql
create mode 100644 java-extensions/hadoop-ext/src/main/java/com/starrocks/connector/share/iceberg/IcebergPartitionUtils.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/AbstractIcebergMetadataScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergFilesTableScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergHistoryTableScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergManifestsTableScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergMetadataLogEntriesScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergPartitionsTableScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergRefsTableScanner.java
create mode 100644 java-extensions/iceberg-metadata-reader/src/main/java/com/starrocks/connector/iceberg/IcebergSnapshotsTableScanner.java
create mode 100644 test/lib/arrow_sql_lib.py
create mode 100644 test/sql/test_across_engine/R/test_connection
create mode 100644 test/sql/test_across_engine/R/test_sink
create mode 100644 test/sql/test_across_engine/R/test_sink_nested
create mode 100644 test/sql/test_across_engine/R/test_sink_partitioned
create mode 100644 test/sql/test_across_engine/T/test_connection
create mode 100644 test/sql/test_across_engine/T/test_sink
create mode 100644 test/sql/test_across_engine/T/test_sink_nested
create mode 100644 test/sql/test_across_engine/T/test_sink_partitioned
create mode 100644 test/sql/test_across_engine/data/nested_lists.parquet
create mode 100644 test/sql/test_across_engine/data/nested_maps.parquet
create mode 100644 test/sql/test_across_engine/data/nested_structs.parquet
create mode 100644 test/sql/test_across_engine/data/tpch_lineitem.parquet
create mode 100644 test/sql/test_agg/R/test_agg_set_prefetch
create mode 100644 test/sql/test_agg/R/test_tinyint_agg
create mode 100644 test/sql/test_agg/T/test_agg_set_prefetch
create mode 100644 test/sql/test_agg/T/test_tinyint_agg
create mode 100644 test/sql/test_agg_function/R/test_hll
create mode 100644 test/sql/test_agg_function/R/test_hll_sketch_count.sql
create mode 100644 test/sql/test_agg_function/R/test_lc_percentile
create mode 100644 test/sql/test_agg_function/R/test_mann_whitney
create mode 100644 test/sql/test_agg_function/R/test_map_agg
create mode 100644 test/sql/test_agg_function/R/test_percentile_union
create mode 100644 test/sql/test_agg_function/T/test_hll
create mode 100644 test/sql/test_agg_function/T/test_hll_sketch_count.sql
create mode 100644 test/sql/test_agg_function/T/test_lc_percentile
create mode 100644 test/sql/test_agg_function/T/test_mann_whitney
create mode 100644 test/sql/test_agg_function/T/test_map_agg
create mode 100644 test/sql/test_agg_function/T/test_percentile_union
create mode 100644 test/sql/test_agg_state/R/test_agg_state_ds_hll_count_distinct.sql
create mode 100644 test/sql/test_agg_state/R/test_agg_state_table_basic.sql
create mode 100644 test/sql/test_agg_state/R/test_agg_state_table_with_all_functions.sql
create mode 100644 test/sql/test_agg_state/R/test_agg_state_with_async_mv.sql
create mode 100644 test/sql/test_agg_state/R/test_agg_state_with_sync_mv.sql
create mode 100644 test/sql/test_agg_state/T/test_agg_state_ds_hll_count_distinct.sql
create mode 100644 test/sql/test_agg_state/T/test_agg_state_table_basic.sql
create mode 100644 test/sql/test_agg_state/T/test_agg_state_table_with_all_functions.sql
create mode 100644 test/sql/test_agg_state/T/test_agg_state_with_async_mv.sql
create mode 100644 test/sql/test_agg_state/T/test_agg_state_with_sync_mv.sql
create mode 100644 test/sql/test_arrow/R/test_arrow
create mode 100644 test/sql/test_arrow/T/test_arrow
create mode 100644 test/sql/test_automatic_partition/R/test_multi_expr
create mode 100644 test/sql/test_automatic_partition/T/test_multi_expr
create mode 100644 test/sql/test_cast/R/test_cast_json_to_struct
create mode 100644 test/sql/test_cast/T/test_cast_json_to_struct
create mode 100644 test/sql/test_column_rename/T/test_column_rename
create mode 100644 test/sql/test_column_rename/T/test_column_rename2
create mode 100644 test/sql/test_deltalake/R/test_deltalake_dv
create mode 100644 test/sql/test_deltalake/R/test_deltalake_scan_ranges
create mode 100644 test/sql/test_deltalake/T/test_deltalake_dv
create mode 100644 test/sql/test_deltalake/T/test_deltalake_scan_ranges
create mode 100644 test/sql/test_drop_partition/R/test_drop_partition_list_table_with_where
create mode 100644 test/sql/test_drop_partition/R/test_drop_partition_range_table_with_where
create mode 100644 test/sql/test_drop_partition/T/test_drop_partition_list_table_with_where
create mode 100644 test/sql/test_drop_partition/T/test_drop_partition_range_table_with_where
create mode 100644 test/sql/test_dynamic_overwrite/R/test_overwrite
create mode 100644 test/sql/test_dynamic_overwrite/T/test_overwrite
create mode 100644 test/sql/test_expr_reuese/R/test_scan_predicate_expr_reuse
create mode 100644 test/sql/test_expr_reuese/T/test_scan_predicate_expr_reuse
create mode 100644 test/sql/test_feedback/R/test_agg_feedback
create mode 100644 test/sql/test_feedback/R/test_external_table_join_feedback
create mode 100644 test/sql/test_feedback/R/test_join_feedback
create mode 100644 test/sql/test_feedback/T/test_agg_feedback
create mode 100644 test/sql/test_feedback/T/test_external_table_join_feedback
create mode 100644 test/sql/test_feedback/T/test_join_feedback
create mode 100644 test/sql/test_files/R/test_insert_properties
create mode 100644 test/sql/test_files/R/test_orc_files_merge
create mode 100644 test/sql/test_files/R/test_orc_struct
create mode 100644 test/sql/test_files/R/test_parquet_files_merge
create mode 100644 test/sql/test_files/T/test_insert_properties
create mode 100644 test/sql/test_files/T/test_orc_files_merge
create mode 100644 test/sql/test_files/T/test_orc_struct
create mode 100644 test/sql/test_files/T/test_parquet_files_merge
create mode 100644 test/sql/test_files/csv_format/invalid_int.csv
create mode 100644 test/sql/test_files/orc_format/basic_type.orc
create mode 100644 test/sql/test_files/orc_format/basic_type_k2k5k7.orc
create mode 100644 test/sql/test_files/orc_format/struct_mix.snappy.orc
create mode 100644 test/sql/test_files/parquet_format/basic_type_k2k5k7.parquet
create mode 100644 test/sql/test_function/R/test_synopse
create mode 100644 test/sql/test_function/T/test_synopse
create mode 100644 test/sql/test_gtid/R/test_gtid
create mode 100644 test/sql/test_gtid/T/test_gtid
create mode 100644 test/sql/test_hive/R/test_hive_analyze
create mode 100644 test/sql/test_hive/R/test_hive_scan_ranges
create mode 100644 test/sql/test_hive/T/test_hive_analyze
create mode 100644 test/sql/test_hive/T/test_hive_scan_ranges
create mode 100644 test/sql/test_iceberg/R/test_metadata_table
create mode 100644 test/sql/test_iceberg/R/test_table_operation
create mode 100644 test/sql/test_iceberg/R/test_timetravel
create mode 100644 test/sql/test_iceberg/R/test_write_null
create mode 100644 test/sql/test_iceberg/T/test_metadata_table
create mode 100644 test/sql/test_iceberg/T/test_table_operation
create mode 100644 test/sql/test_iceberg/T/test_timetravel
create mode 100644 test/sql/test_iceberg/T/test_write_null
create mode 100644 test/sql/test_insert_empty/R/test_insert_by_name
create mode 100644 test/sql/test_insert_empty/R/test_insert_timeout
create mode 100644 test/sql/test_insert_empty/T/test_insert_by_name
create mode 100644 test/sql/test_insert_empty/T/test_insert_timeout
create mode 100644 test/sql/test_join/R/test_predicate_move_around
create mode 100644 test/sql/test_join/T/test_predicate_move_around
create mode 100644 test/sql/test_lake_rollup/R/test_lake_rollup
create mode 100644 test/sql/test_lake_rollup/T/test_lake_rollup
create mode 100644 test/sql/test_lake_sync_mv/R/test_lake_sync_mv
create mode 100644 test/sql/test_lake_sync_mv/R/test_lake_sync_mv_rewrite
create mode 100644 test/sql/test_lake_sync_mv/T/test_lake_sync_mv
create mode 100644 test/sql/test_lake_sync_mv/T/test_lake_sync_mv_rewrite
create mode 100644 test/sql/test_materialized_view/R/test_materialized_view_incremental_refresh_on_hive
create mode 100644 test/sql/test_materialized_view/R/test_refresh_mv_with_different_dbs
create mode 100644 test/sql/test_materialized_view/T/test_materialized_view_incremental_refresh_on_hive
create mode 100644 test/sql/test_materialized_view/T/test_refresh_mv_with_different_dbs
create mode 100644 test/sql/test_materialized_view_refresh/R/test_mv_skip_partition_cache_iceberg
create mode 100644 test/sql/test_materialized_view_refresh/T/test_mv_skip_partition_cache_iceberg
create mode 100644 test/sql/test_materialized_view_rewrite/R/test_mv_rewrite_with_date_trunc_rollup
create mode 100644 test/sql/test_materialized_view_rewrite/R/test_mv_rewrite_with_time_series
create mode 100644 test/sql/test_materialized_view_rewrite/R/test_mv_rewrite_with_time_series_multi_mvs
create mode 100644 test/sql/test_materialized_view_rewrite/T/test_mv_rewrite_with_date_trunc_rollup
create mode 100644 test/sql/test_materialized_view_rewrite/T/test_mv_rewrite_with_time_series
create mode 100644 test/sql/test_materialized_view_rewrite/T/test_mv_rewrite_with_time_series_multi_mvs
create mode 100644 test/sql/test_meta_scan/R/test_meta_scan
create mode 100644 test/sql/test_meta_scan/T/test_meta_scan
create mode 100644 test/sql/test_query_cache/R/test_query_cache
create mode 100644 test/sql/test_query_cache/R/test_query_cache_shard_data
create mode 100644 test/sql/test_query_cache/T/test_query_cache
create mode 100644 test/sql/test_query_cache/T/test_query_cache_shard_data
create mode 100644 test/sql/test_rbac/R/test_view_privilege
create mode 100644 test/sql/test_rbac/T/test_view_privilege
create mode 100644 test/sql/test_scan/R/test_schema_scan_asan_crash
create mode 100644 test/sql/test_scan/R/test_table_sample
create mode 100644 test/sql/test_scan/T/test_schema_scan_asan_crash
create mode 100644 test/sql/test_scan/T/test_table_sample
create mode 100644 test/sql/test_sink/R/test_fault_injection_hdfs
create mode 100644 test/sql/test_sink/R/test_fault_injection_oss
create mode 100644 test/sql/test_sink/T/test_fault_injection_hdfs
create mode 100644 test/sql/test_sink/T/test_fault_injection_oss
create mode 100644 test/sql/test_transparent_mv/R/test_mv_with_multi_partition_columns_iceberg1
create mode 100644 test/sql/test_transparent_mv/R/test_mv_with_multi_partition_columns_iceberg2
create mode 100644 test/sql/test_transparent_mv/R/test_transparent_mv_olap_part1
create mode 100644 test/sql/test_transparent_mv/T/test_mv_with_multi_partition_columns_iceberg1
create mode 100644 test/sql/test_transparent_mv/T/test_mv_with_multi_partition_columns_iceberg2
create mode 100644 test/sql/test_transparent_mv/T/test_transparent_mv_olap_part1
create mode 100644 test/sql/test_udf/R/test_python_udf
create mode 100644 test/sql/test_udf/T/test_python_udf
create mode 100644 test/sql/test_vector_index/R/test_vector_index
create mode 100644 test/sql/test_vector_index/T/test_vector_index
create mode 100644 test/sql/test_window_function/R/test_window_pre_agg_with_rank
create mode 100644 test/sql/test_window_function/T/test_window_pre_agg_with_rank
create mode 100644 thirdparty/patches/avro-1.10.2.c.gcc14.patch
create mode 100644 thirdparty/patches/breakpad-2022.07.12.patch
create mode 100644 thirdparty/patches/clucene-gcc14.patch
create mode 100644 thirdparty/patches/mariadb-connector-c-3.1.14-gcc14.patch
create mode 100644 thirdparty/patches/poco-1.12.5-ca.patch
create mode 100644 thirdparty/patches/poco-1.12.5-keep-alive.patch
create mode 100644 thirdparty/patches/poco-1.12.5-zero-copy.patch
create mode 100644 thirdparty/patches/rapidjson-gcc14.patch
create mode 100644 thirdparty/patches/rocksdb-6.22.1-gcc14.patch
create mode 100644 thirdparty/patches/rocksdb-6.22.1-metadata-header.patch
create mode 100644 thirdparty/patches/sasl2-gcc14.patch
create mode 100644 tools/benchmark/table_sample.sh
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index 5a8b569c2afce..f69e27e305b41 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -1,3 +1,139 @@
# committer will be the owner of all codes
* @StarRocks/starrocks-committer
+<<<<<<< HEAD
+=======
+# cpp miscellaneous
+/be/src/common/ @StarRocks/cpp-misc-maintainer
+/be/src/gen_cpp/ @StarRocks/cpp-misc-maintainer
+/be/src/gutil/ @StarRocks/cpp-misc-maintainer
+/be/src/simd/ @StarRocks/cpp-misc-maintainer
+/be/src/testutil/ @StarRocks/cpp-misc-maintainer
+/be/src/util/ @StarRocks/cpp-misc-maintainer
+
+# execution engine
+/be/src/column/ @StarRocks/execution-maintainer
+/be/src/exec/ @StarRocks/execution-maintainer
+/be/src/exprs/ @StarRocks/execution-maintainer
+/be/src/runtime/ @StarRocks/execution-maintainer
+/be/src/types/ @StarRocks/execution-maintainer
+/be/src/udf/ @StarRocks/execution-maintainer
+
+# open formats
+/be/src/formats/ @StarRocks/open-format-maintainer
+
+# storage engine
+/be/src/fs/ @StarRocks/storage-maintainer
+/be/src/io/ @StarRocks/storage-maintainer
+/be/src/storage/ @StarRocks/storage-maintainer
+
+# /docs/ belong to docs-maintainer
+/docs/ @StarRocks/docs-maintainer
+
+# /docker
+/docker/ @StarRocks/docker-maintainer
+
+# metadata
+/fe/fe-core/src/main/java/com/starrocks/authentication/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/privilege/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/common/util/concurrent/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/mysql/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/transaction/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/healthchecker/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/clone/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/consistency/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/ha/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/journal/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/leader/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/meta/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/persist/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/alter/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/backup/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/catalog/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/metric/ @StarRocks/metadata-maintainer
+/fe/fe-core/src/main/java/com/starrocks/system/ @StarRocks/metadata-maintainer
+
+# connector
+/fe/fe-core/src/main/java/com/starrocks/connector/ @StarRocks/connector-maintainer
+/fe/fe-core/src/main/java/com/starrocks/credential/ @StarRocks/connector-maintainer
+
+# parser
+/fe/fe-core/src/main/java/com/starrocks/sql/ast/ @StarRocks/parser
+/fe/fe-core/src/main/java/com/starrocks/sql/parser/ @StarRocks/parser
+
+# analyzer
+/fe/fe-core/src/main/java/com/starrocks/sql/analyzer/ @StarRocks/analyzer
+/fe/fe-core/src/main/java/com/starrocks/analysis/ @StarRocks/analyzer
+
+# optimizer
+/fe/fe-core/src/main/java/com/starrocks/sql/optimizer/ @StarRocks/optimizer
+/fe/fe-core/src/main/java/com/starrocks/statistic/ @StarRocks/optimizer
+
+# scheduler
+/fe/fe-core/src/main/java/com/starrocks/qe/scheduler/ @StarRocks/scheduler-maintainer
+
+# sql/parser/StarRocksLex.g4 sql/parser/StarRocks.g4 belong to syntax-committer
+/fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocksLex.g4 @StarRocks/syntax-committer
+/fe/fe-core/src/main/java/com/starrocks/sql/parser/StarRocks.g4 @StarRocks/syntax-committer
+/gensrc/script/functions.py @StarRocks/syntax-committer
+
+# /thirdparty/ /docker/dockerfiles/dev-env/dev-env.Dockerfile belong to thirdparty-maintainer
+/be/src/thirdparty/ @StarRocks/thirdparty-maintainer
+/thirdparty/ @StarRocks/thirdparty-maintainer
+/docker/dockerfiles/dev-env/dev-env.Dockerfile @StarRocks/thirdparty-maintainer
+
+# cloud native
+/be/src/storage/lake/ @StarRocks/cloud-native-maintainer
+/be/src/runtime/lake_tablets_channel.h @StarRocks/cloud-native-maintainer
+/be/src/runtime/lake_tablets_channel.cpp @StarRocks/cloud-native-maintainer
+
+# error message
+/fe/fe-core/src/main/java/com/starrocks/common/ErrorCode.java @StarRocks/msg-reviewer
+
+# StorageEngine/ExecEnv/GlobalEnv
+/be/src/runtime/exec_env.h @StarRocks/thread-committer
+/be/src/runtime/exec_env.cpp @StarRocks/thread-committer
+/be/src/storage/olap_server.cpp @StarRocks/thread-committer
+/be/src/storage/storage_engine.h @StarRocks/thread-committer
+/be/src/storage/storage_engine.cpp @StarRocks/thread-committer
+/be/src/service/starrocks_main.cpp @StarRocks/thread-committer
+/be/src/service/service_be/starrocks_be.cpp @StarRocks/thread-committer
+
+# restful
+/fe/fe-core/src/main/java/com/starrocks/http @StarRocks/restful-maintainer
+/be/src/http @StarRocks/restful-maintainer
+
+
+# load and unload
+/fe/fe-core/src/main/java/com/starrocks/load/* @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/plan/StreamLoad* @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/plan/*Sink.java @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/sql/InsertPlanner.java @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/sql/LoadPlanner.java @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/backup/* @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/alter/Optimize* @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/alter/Compaction* @StarRocks/load-unload-maintainer
+/fe/fe-core/src/main/java/com/starrocks/catalog/*Partition* @StarRocks/load-unload-maintainer
+
+/be/src/storage/* @StarRocks/load-unload-maintainer
+/be/src/exec/tablet_sink* @StarRocks/load-unload-maintainer
+/be/src/exec/csv_scanner.cpp @StarRocks/load-unload-maintainer
+/be/src/exec/json_scanner.cpp @StarRocks/load-unload-maintainer
+/be/src/exec/pipeline/olap_table_sink_operator.cpp @StarRocks/load-unload-maintainer
+/be/src/formats/avro/* @StarRocks/load-unload-maintainer
+/be/src/formats/csv/* @StarRocks/load-unload-maintainer
+/be/src/formats/json/* @StarRocks/load-unload-maintainer
+/be/src/http/action/compaction_action.cpp @StarRocks/load-unload-maintainer
+/be/src/http/action/*stream_load.cpp @StarRocks/load-unload-maintainer
+/be/src/http/action/restore* @StarRocks/load-unload-maintainer
+/be/src/runtime/routine_load/* @StarRocks/load-unload-maintainer
+/be/src/runtime/stream_load/* @StarRocks/load-unload-maintainer
+/be/src/runtime/load* @StarRocks/load-unload-maintainer
+/be/src/runtime/tablets_channel.cpp @StarRocks/load-unload-maintainer
+/be/src/runtime/export_sink.cpp @StarRocks/load-unload-maintainer
+
+# meta upgrade/downgrade compatibility
+/fe/fe-core/src/main/java/com/starrocks/persist/gson/GsonUtils.java @StarRocks/meta-compatibility-maintainer
+
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index e745b2c0d9b17..201ef30255edd 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -36,8 +36,16 @@ If yes, please specify the type of change:
## Bugfix cherry-pick branch check:
- [ ] I have checked the version labels which the pr will be auto-backported to the target branch
+<<<<<<< HEAD
- [ ] 3.3
- [ ] 3.2
- [ ] 3.1
- [ ] 3.0
- [ ] 2.5
+=======
+ - [ ] 3.4
+ - [ ] 3.3
+ - [ ] 3.2
+ - [ ] 3.1
+ - [ ] 3.0
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/.github/workflows/ci-comment-tools.yml b/.github/workflows/ci-comment-tools.yml
index 2d50623b14f31..a2cb41055c920 100644
--- a/.github/workflows/ci-comment-tools.yml
+++ b/.github/workflows/ci-comment-tools.yml
@@ -22,3 +22,32 @@ jobs:
- name: CLOSE
run: |
gh pr close ${PR_NUMBER} -R ${{ github.repository }} -c "PR was manually closed."
+<<<<<<< HEAD
+=======
+
+ automerge:
+ name: AutoMerge PR
+ runs-on: ubuntu-latest
+ if: >
+ contains(github.event.issue.pull_request.html_url, 'pull') &&
+ contains(github.event.comment.body, '@Mergify automerge')
+
+ env:
+ PR_NUMBER: ${{ github.event.issue.number }}
+
+ steps:
+ - name: BASE REF
+ id: get_base_ref
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ run: |
+ base_ref=$(gh pr view ${PR_NUMBER} -R ${{ github.repository }} --json baseRefName | jq -r '.baseRefName')
+ echo "base_ref=${base_ref}" >> $GITHUB_OUTPUT
+
+ - name: AutoMerge
+ if: startsWith(steps.get_base_ref.outputs.base_ref, 'mergify/bp')
+ env:
+ GITHUB_TOKEN: ${{ secrets.PAT }}
+ run: |
+ gh pr merge ${PR_NUMBER} -R ${{ github.repository }} -s --auto
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/.github/workflows/ci-merged-sonarcloud-fe.yml b/.github/workflows/ci-merged-sonarcloud-fe.yml
index b9d837e56e331..9fb6dba1bac48 100644
--- a/.github/workflows/ci-merged-sonarcloud-fe.yml
+++ b/.github/workflows/ci-merged-sonarcloud-fe.yml
@@ -35,14 +35,22 @@ jobs:
distribution: 'adopt'
- name: Cache SonarCloud packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.m2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
diff --git a/.github/workflows/ci-merged.yml b/.github/workflows/ci-merged.yml
index b1a112b954b8f..f6377f9232aae 100644
--- a/.github/workflows/ci-merged.yml
+++ b/.github/workflows/ci-merged.yml
@@ -23,6 +23,7 @@ jobs:
github.repository == 'StarRocks/starrocks' &&
!contains(github.event.pull_request.title, 'cherry-pick') &&
!contains(github.event.pull_request.title, 'backport') && (
+<<<<<<< HEAD
contains(github.event.pull_request.labels.*.name, '3.3') ||
contains(github.event.pull_request.labels.*.name, '3.2') ||
contains(github.event.pull_request.labels.*.name, '3.1') ||
@@ -34,6 +35,32 @@ jobs:
- name: backport branch-3.3
if: contains(github.event.pull_request.labels.*.name, '3.3')
uses: thollander/actions-comment-pull-request@v1
+=======
+ contains(github.event.pull_request.labels.*.name, '3.4') ||
+ contains(github.event.pull_request.labels.*.name, '3.3') ||
+ contains(github.event.pull_request.labels.*.name, '3.2') ||
+ contains(github.event.pull_request.labels.*.name, '3.1') ||
+ contains(github.event.pull_request.labels.*.name, '3.0') )
+ env:
+ PR_NUMBER: ${{ github.event.number }}
+ steps:
+ - name: backport branch-3.4
+ if: contains(github.event.pull_request.labels.*.name, '3.4')
+ uses: thollander/actions-comment-pull-request@v2
+ with:
+ message: |
+ @Mergifyio backport branch-3.4
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+
+ - uses: actions-ecosystem/action-remove-labels@v1
+ if: contains(github.event.pull_request.labels.*.name, '3.4')
+ with:
+ labels: '3.4'
+
+ - name: backport branch-3.3
+ if: contains(github.event.pull_request.labels.*.name, '3.3')
+ uses: thollander/actions-comment-pull-request@v2
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
message: |
@Mergifyio backport branch-3.3
@@ -46,7 +73,11 @@ jobs:
- name: backport branch-3.2
if: contains(github.event.pull_request.labels.*.name, '3.2')
+<<<<<<< HEAD
uses: thollander/actions-comment-pull-request@v1
+=======
+ uses: thollander/actions-comment-pull-request@v2
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
message: |
@Mergifyio backport branch-3.2
@@ -59,7 +90,11 @@ jobs:
- name: backport branch-3.1
if: contains(github.event.pull_request.labels.*.name, '3.1')
+<<<<<<< HEAD
uses: thollander/actions-comment-pull-request@v1
+=======
+ uses: thollander/actions-comment-pull-request@v2
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
message: |
@Mergifyio backport branch-3.1
@@ -72,7 +107,11 @@ jobs:
- name: backport branch-3.0
if: contains(github.event.pull_request.labels.*.name, '3.0')
+<<<<<<< HEAD
uses: thollander/actions-comment-pull-request@v1
+=======
+ uses: thollander/actions-comment-pull-request@v2
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
message: |
@Mergifyio backport branch-3.0
@@ -83,6 +122,7 @@ jobs:
with:
labels: '3.0'
+<<<<<<< HEAD
- name: backport branch-2.5
if: contains(github.event.pull_request.labels.*.name, '2.5')
uses: thollander/actions-comment-pull-request@v1
@@ -96,6 +136,8 @@ jobs:
with:
labels: '2.5'
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
thirdparty-update-image:
runs-on: [self-hosted, normal]
name: Thirdparty Update Image
diff --git a/.github/workflows/ci-pipeline-branch.yml b/.github/workflows/ci-pipeline-branch.yml
index 1aee4ec95c184..5cf4fff6781ba 100644
--- a/.github/workflows/ci-pipeline-branch.yml
+++ b/.github/workflows/ci-pipeline-branch.yml
@@ -382,14 +382,22 @@ jobs:
distribution: 'adopt'
- name: Cache SonarCloud packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.m2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -507,4 +515,8 @@ jobs:
- name: Clean
run: |
+<<<<<<< HEAD
rm -rf ${{ github.workspace }}/*
+=======
+ rm -rf ${{ github.workspace }}/*
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/.github/workflows/ci-pipeline.yml b/.github/workflows/ci-pipeline.yml
index a1614a6a0dcaf..0f724c0b5d20c 100644
--- a/.github/workflows/ci-pipeline.yml
+++ b/.github/workflows/ci-pipeline.yml
@@ -90,7 +90,26 @@ jobs:
thirdparty:
- 'thirdparty/**'
- 'docker/dockerfiles/dev-env/dev-env.Dockerfile'
-
+<<<<<<< HEAD
+
+=======
+
+ - name: Prepare info
+ run: |
+ mkdir be-path-filter && cd be-path-filter
+ echo ${{ steps.path-filter.outputs.be }} > src_filter.txt
+ echo ${{ steps.path-filter.outputs.ut }} > test_filter.txt
+ echo ${{ steps.path-filter.outputs.thirdparty }} > thirdparty_filter.txt
+
+ - name: Upload the BE Filter Info
+ uses: actions/upload-artifact@v4
+ with:
+ name: be-path-filter
+ path: ./be-path-filter/
+ retention-days: 3
+ overwrite: true
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
clang-format:
runs-on: [self-hosted, light]
needs: be-checker
@@ -140,7 +159,11 @@ jobs:
thirdparty-update:
runs-on: [self-hosted, normal]
+<<<<<<< HEAD
needs: [ be-checker, clang-format ]
+=======
+ needs: [ clang-format ]
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
name: Thirdparty Update
continue-on-error: true
strategy:
@@ -156,10 +179,32 @@ jobs:
run: |
rm -rf ${{ github.workspace }}
mkdir -p ${{ github.workspace }}
+<<<<<<< HEAD
- name: Update Image (${{ matrix.linux }})
id: update-image
if: needs.be-checker.outputs.thirdparty_filter == 'true'
+=======
+
+ - name: Download BE Path Filter Artifact
+ uses: dawidd6/action-download-artifact@v6
+ with:
+ name: be-path-filter
+ path: be-path-filter
+ run_id: ${{ github.run_id }}
+
+ - name: Parsing path-filter file
+ id: parsing-path-filter
+ run: |
+ cd be-path-filter/; ls;
+ echo "src_filter=`cat src_filter.txt`" >> $GITHUB_OUTPUT
+ echo "test_filter.txt=`cat test_filter.txt`" >> $GITHUB_OUTPUT
+ echo "thirdparty_filter=`cat thirdparty_filter.txt`" >> $GITHUB_OUTPUT
+
+ - name: Update Image (${{ matrix.linux }})
+ id: update-image
+ if: steps.parsing-path-filter.outputs.thirdparty_filter == 'true'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
env:
linux_distro: ${{ matrix.linux }}
run: |
@@ -176,7 +221,11 @@ jobs:
if-no-files-found: ignore
- name: Clean ENV
+<<<<<<< HEAD
if: always() && needs.be-checker.outputs.thirdparty_filter == 'true'
+=======
+ if: always() && steps.parsing-path-filter.outputs.thirdparty_filter == 'true'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
cd ci-tool && source lib/init.sh
./bin/elastic-cluster.sh --delete
@@ -193,10 +242,15 @@ jobs:
steps:
- name: Check Result
run: |
+<<<<<<< HEAD
if [[ "${{ needs.thirdparty-update.result }}" == 'failure' ]]; then
echo "::error:: Thirdparty Update Error!"
exit 1
fi
+=======
+ rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull >/dev/null
+ ./scripts/check-thirdparty-result.sh
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Download Thirdparty Artifact
uses: actions/download-artifact@v4
@@ -206,7 +260,10 @@ jobs:
- name: Read Info
id: info
+<<<<<<< HEAD
if: needs.thirdparty-update.result == 'success'
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
image_cache_id=$(cat "./outputs/THIRDPARTY-RESULT-centos7/image_cache.info" || echo "")
echo "centos7_image_cache_id=${image_cache_id}" >> $GITHUB_OUTPUT
@@ -221,6 +278,11 @@ jobs:
env:
PR_NUMBER: ${{ github.event.number }}
BRANCH: ${{ github.base_ref }}
+<<<<<<< HEAD
+=======
+ IMAGE_CACHE_ID: ${{ needs.thirdparty-info.outputs.ubuntu_image_cache_id }}
+ LINUX_DISTRO: ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: INIT ECI & RUN UT
id: run_ut
@@ -228,11 +290,19 @@ jobs:
timeout-minutes: 90
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+<<<<<<< HEAD
if [[ "${{ needs.thirdparty-info.outputs.centos7_image_cache_id }}" != '' ]]; then
export image_cache_id=${{ needs.thirdparty-info.outputs.centos7_image_cache_id }}
export image_tag=$BRANCH-$PR_NUMBER
fi
./bin/elastic-ut.sh --pr ${PR_NUMBER} --module be --repository ${{ github.repository }} --with-gcov
+=======
+ if [[ "${IMAGE_CACHE_ID}" != '' ]]; then
+ export image_cache_id=${IMAGE_CACHE_ID}
+ export image_tag=$BRANCH-$PR_NUMBER
+ fi
+ ./bin/elastic-ut.sh --pr ${PR_NUMBER} --module be --repository ${{ github.repository }} --linuxdistro ${LINUX_DISTRO} --with-gcov
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: clean ECI
if: always()
@@ -266,6 +336,11 @@ jobs:
env:
PR_NUMBER: ${{ github.event.number }}
BRANCH: ${{ github.base_ref }}
+<<<<<<< HEAD
+=======
+ IMAGE_CACHE_ID: ${{ needs.thirdparty-info.outputs.ubuntu_image_cache_id }}
+ LINUX_DISTRO: ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: clean
run: |
@@ -281,6 +356,7 @@ jobs:
- name: UPDATE ECI & RUN Clang Tidy
id: run_clang_tidy
shell: bash
+<<<<<<< HEAD
timeout-minutes: 60
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
@@ -289,6 +365,16 @@ jobs:
export image_tag=$BRANCH-$PR_NUMBER
fi
./bin/elastic-build.sh --pr ${PR_NUMBER} --repository ${{ github.repository }} --be --clang-tidy
+=======
+ timeout-minutes: 90
+ run: |
+ rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+ if [[ "${{ needs.be-checker.outputs.thirdparty_filter }}" == 'true' ]]; then
+ export image_cache_id=${IMAGE_CACHE_ID}
+ export image_tag=$BRANCH-$PR_NUMBER
+ fi
+ ./bin/elastic-build.sh --pr ${PR_NUMBER} --repository ${{ github.repository }} --linuxdistro ${LINUX_DISTRO} --be --clang-tidy
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: clean ECI
if: always()
@@ -312,6 +398,11 @@ jobs:
src_filter: ${{ steps.path-filter.outputs.fe }}
test_filter: ${{ steps.path-filter.outputs.ut }}
java_filter: ${{ steps.path-filter.outputs.java }}
+<<<<<<< HEAD
+=======
+ extension_filter: ${{ steps.path-filter.outputs.extension }}
+ pom_filter: ${{ steps.path-filter.outputs.pom }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- uses: dorny/paths-filter@v3
id: path-filter
@@ -327,6 +418,30 @@ jobs:
- 'run-fe-ut.sh'
java:
- '**.java'
+<<<<<<< HEAD
+=======
+ extension:
+ - 'java-extensions/**'
+ pom:
+ - '**/pom.xml'
+
+ - name: Prepare info
+ run: |
+ mkdir fe-path-filter && cd fe-path-filter
+ echo ${{ steps.path-filter.outputs.fe }} > src_filter.txt
+ echo ${{ steps.path-filter.outputs.ut }} > test_filter.txt
+ echo ${{ steps.path-filter.outputs.java }} > java_filter.txt
+ echo ${{ steps.path-filter.outputs.extension }} > extension_filter.txt
+ echo ${{ steps.path-filter.outputs.pom }} > pom_filter.txt
+
+ - name: Upload the FE Filter Info
+ uses: actions/upload-artifact@v4
+ with:
+ name: fe-path-filter
+ path: ./fe-path-filter/
+ retention-days: 3
+ overwrite: true
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
fe-codestyle-check:
runs-on: ubuntu-latest
@@ -335,6 +450,11 @@ jobs:
name: FE Code Style Check
env:
PR_NUMBER: ${{ github.event.number }}
+<<<<<<< HEAD
+=======
+ outputs:
+ extension_filter: ${{ needs.fe-checker.outputs.extension_filter }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: clean
run: |
@@ -371,7 +491,11 @@ jobs:
- name: Run java checkstyle
if: needs.fe-checker.outputs.java_filter == 'true'
+<<<<<<< HEAD
uses: dbelyaev/action-checkstyle@v1.5.6
+=======
+ uses: dbelyaev/action-checkstyle@v1.15.0
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
workdir: "./fe"
checkstyle_config: checkstyle.xml
@@ -415,20 +539,32 @@ jobs:
git merge --squash --no-edit ${BRANCH} || (echo "Merge conflict, please check." && exit -1);
- name: Set up JDK 17
+<<<<<<< HEAD
uses: actions/setup-java@v3
+=======
+ uses: actions/setup-java@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
java-version: 17
distribution: 'adopt'
- name: Cache SonarCloud packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.sonar/cache
key: ${{ runner.os }}-sonar
restore-keys: ${{ runner.os }}-sonar
- name: Cache Maven packages
+<<<<<<< HEAD
uses: actions/cache@v3
+=======
+ uses: actions/cache@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
path: ~/.m2
key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
@@ -486,9 +622,17 @@ jobs:
id: run_ut
shell: bash
timeout-minutes: 60
+<<<<<<< HEAD
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
./bin/elastic-ut.sh --pr ${PR_NUMBER} --module fe --branch ${{steps.branch.outputs.branch}} --build Release --repository ${{ github.repository }}
+=======
+ env:
+ EXTENSION: ${{ needs.fe-codestyle-check.outputs.extension_filter }}
+ run: |
+ rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+ ./bin/elastic-ut.sh --pr ${PR_NUMBER} --module fe --branch ${{steps.branch.outputs.branch}} --build Release --repository ${{ github.repository }} --linuxdistro ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Clean ECI
if: always()
@@ -534,28 +678,111 @@ jobs:
build:
runs-on: [self-hosted, normal]
+<<<<<<< HEAD
needs: [be-checker, fe-checker, test-checker, clang-tidy, fe-ut, thirdparty-info]
+=======
+ needs: [test-checker, be-ut, fe-ut, thirdparty-info]
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
name: BUILD
env:
PR_NUMBER: ${{ github.event.number }}
BRANCH: ${{ github.base_ref }}
+<<<<<<< HEAD
+=======
+ IMAGE_CACHE_ID: ${{ needs.thirdparty-info.outputs.ubuntu_image_cache_id }}
+ LINUX_DISTRO: ubuntu
+ GH_TOKEN: ${{ github.token }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
outputs:
build_output_tar: ${{ steps.run_build.outputs.OUTPUT_TAR }}
base_version: ${{ steps.run_build.outputs.BASE_VERSION }}
is_self_build: ${{ steps.run_build.outputs.is_self_build }}
+<<<<<<< HEAD
if: >
always() &&
(needs.clang-tidy.result == 'success' && needs.fe-ut.result == 'success') ||
(needs.be-checker.outputs.src_filter != 'true' && needs.fe-checker.outputs.src_filter == 'true' && needs.fe-ut.result == 'success') ||
(needs.fe-checker.outputs.src_filter != 'true' && needs.be-checker.outputs.src_filter == 'true' && needs.clang-tidy.result == 'success') ||
(needs.be-checker.outputs.src_filter != 'true' && needs.fe-checker.outputs.src_filter != 'true' && needs.test-checker.outputs.output1 == 'true')
+=======
+ build_nece: ${{ steps.check-necessity.outputs.BUILD_NECE }}
+ if: >
+ always() && needs.be-ut.result != 'failure' && needs.fe-ut.result != 'failure' && (needs.be-ut.result == 'success' || needs.fe-ut.result == 'success' || needs.test-checker.result == 'success')
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
+<<<<<<< HEAD
+ - name: BRANCH INFO
+ id: branch
+=======
+ - name: check sync
+ id: check-sync
+ run: |
+ labels=`gh pr view ${PR_NUMBER} -R ${GITHUB_REPOSITORY} --json labels -q '.labels[].name'`
+ echo "${labels}"
+ if [[ "${labels}" =~ sync ]]; then
+ echo "IS_SYNC=true" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Download BE Path Filter Artifact
+ uses: dawidd6/action-download-artifact@v6
+ if: steps.check-sync.outputs.IS_SYNC != 'true'
+ with:
+ name: be-path-filter
+ path: be-path-filter
+ if_no_artifact_found: fail
+ run_id: ${{ github.run_id }}
+
+ - name: Download FE Path Filter Artifact
+ uses: dawidd6/action-download-artifact@v6
+ if: steps.check-sync.outputs.IS_SYNC != 'true'
+ with:
+ name: fe-path-filter
+ path: fe-path-filter
+ if_no_artifact_found: fail
+ run_id: ${{ github.run_id }}
+
+ - name: Parsing BE path-filter file
+ id: parsing-be-path-filter
+ if: steps.check-sync.outputs.IS_SYNC != 'true'
+ run: |
+ if [[ -e be-path-filter ]]; then
+ cd be-path-filter/; ls;
+ echo "src_filter=`cat src_filter.txt`" >> $GITHUB_OUTPUT
+ echo "test_filter.txt=`cat test_filter.txt`" >> $GITHUB_OUTPUT
+ echo "thirdparty_filter=`cat thirdparty_filter.txt`" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Parsing FE path-filter file
+ id: parsing-fe-path-filter
+ if: steps.check-sync.outputs.IS_SYNC != 'true'
+ run: |
+ if [[ -e fe-path-filter ]]; then
+ cd fe-path-filter/; ls;
+ echo "src_filter=`cat src_filter.txt`" >> $GITHUB_OUTPUT
+ echo "test_filter.txt=`cat test_filter.txt`" >> $GITHUB_OUTPUT
+ echo "java_filter=`cat java_filter.txt`" >> $GITHUB_OUTPUT
+ echo "extension_filter=`cat extension_filter.txt`" >> $GITHUB_OUTPUT
+ echo "pom_filter=`cat pom_filter.txt`" >> $GITHUB_OUTPUT
+ fi
+
+ - name: Check necessity
+ id: check-necessity
+ if: >
+ (needs.be-ut.result == 'success' && needs.fe-ut.result == 'success') ||
+ (steps.parsing-be-path-filter.outputs.src_filter != 'true' && steps.parsing-fe-path-filter.outputs.src_filter == 'true' && needs.fe-ut.result == 'success') ||
+ (steps.parsing-fe-path-filter.outputs.src_filter != 'true' && steps.parsing-be-path-filter.outputs.src_filter == 'true' && needs.be-ut.result == 'success') ||
+ (steps.parsing-be-path-filter.outputs.src_filter != 'true' && steps.parsing-fe-path-filter.outputs.src_filter != 'true' && needs.test-checker.outputs.output1 == 'true')
+ run: |
+ echo "BUILD_NECE=true" >> $GITHUB_OUTPUT
+
- name: BRANCH INFO
id: branch
+ if: steps.check-necessity.outcome == 'success'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
repo="${{ github.repository }}"
bucket_prefix=`echo ${repo%/*} | tr '[:upper:]' '[:lower:]'`
@@ -563,14 +790,25 @@ jobs:
- name: Rebuild Checker
id: rebuild-checker
+<<<<<<< HEAD
env:
be_change: ${{ needs.be-checker.outputs.src_filter }}
fe_change: ${{ needs.fe-checker.outputs.src_filter }}
+=======
+ if: steps.check-necessity.outcome == 'success'
+ env:
+ be_change: ${{ steps.parsing-be-path-filter.outputs.src_filter }}
+ fe_change: ${{ steps.parsing-fe-path-filter.outputs.src_filter }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
build_type: Release
run: |
echo "package=${package}" >> "$GITHUB_ENV"
if [[ "${be_change}" != "true" && "${fe_change}" != "true" ]]; then
+<<<<<<< HEAD
oss_path=oss://${bucket_prefix}-ci-release/${BRANCH}/${build_type}/inspection/pr/StarRocks-
+=======
+ oss_path=oss://${bucket_prefix}-ci-release/${BRANCH}/${build_type}/inspection/pr/ubuntu/StarRocks-
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
package=$(ossutil64 --config-file ~/.ossutilconfig ls ${oss_path} | grep "tar.gz" | sort -n -r | head -n 1 | awk '{print $NF}')
echo "package=${package}" >> $GITHUB_ENV
fi
@@ -579,17 +817,32 @@ jobs:
id: run_build
shell: bash
timeout-minutes: 90
+<<<<<<< HEAD
env:
package: ${{ env.package }}
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
if [[ "${{ needs.be-checker.outputs.thirdparty_filter }}" == 'true' ]]; then
export image_cache_id=${{ needs.thirdparty-info.outputs.centos7_image_cache_id }}
+=======
+ if: steps.check-necessity.outcome == 'success'
+ env:
+ package: ${{ env.package }}
+ pom_filter: ${{ steps.parsing-fe-path-filter.outputs.pom_filter }}
+ run: |
+ rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+ if [[ "${{ steps.parsing-be-path-filter.outputs.thirdparty_filter }}" == 'true' ]]; then
+ export image_cache_id=${IMAGE_CACHE_ID}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
export image_tag=$BRANCH-$PR_NUMBER
fi
if [[ ${package} == "" ]]; then
+<<<<<<< HEAD
./bin/elastic-build.sh --pr ${PR_NUMBER} --repository ${{ github.repository }} --with-gcov
+=======
+ ./bin/elastic-build.sh --pr ${PR_NUMBER} --repository ${{ github.repository }} --linuxdistro ${LINUX_DISTRO} --with-gcov --with-trivy
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
echo "is_self_build=true" >> $GITHUB_OUTPUT
else
echo "Use latest tar: ${package}"
@@ -600,12 +853,20 @@ jobs:
fi
- name: build result
+<<<<<<< HEAD
+=======
+ if: steps.check-necessity.outcome == 'success'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
echo ${{ steps.run_build.outputs.OUTPUT_TAR }}
echo ${{ steps.run_build.outputs.BASE_VERSION }} > ./base_version.txt
- name: Upload the Base Version
uses: actions/upload-artifact@v4
+<<<<<<< HEAD
+=======
+ if: steps.check-necessity.outcome == 'success'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
name: base_version
path: ./base_version.txt
@@ -627,11 +888,19 @@ jobs:
deploy:
runs-on: [self-hosted, normal]
+<<<<<<< HEAD
if: always() && needs.build.result == 'success'
+=======
+ if: always() && needs.build.result == 'success' && needs.build.outputs.build_nece == 'true'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
needs: build
name: DEPLOY SR
env:
PR_NUMBER: ${{ github.event.number }}
+<<<<<<< HEAD
+=======
+ LINUX_DISTRO: ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
outputs:
fe: ${{steps.deploy_sr.outputs.fe}}
be: ${{steps.deploy_sr.outputs.be}}
@@ -653,19 +922,26 @@ jobs:
echo "cloud=true" >> "$GITHUB_OUTPUT"
fi
+<<<<<<< HEAD
- name: BRANCH INFO
id: branch
run: |
echo ${{github.base_ref}}
echo "branch=${{github.base_ref}}" >> $GITHUB_OUTPUT
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Apply for resources
id: apply_resource
env:
CLUSTER_NAME: ci-admit
run: |
cd ci-tool && source lib/init.sh
+<<<<<<< HEAD
./bin/elastic-cluster.sh --template ${CLUSTER_NAME}
+=======
+ ./bin/elastic-cluster.sh --template ${CLUSTER_NAME} --linuxdistro ${LINUX_DISTRO}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
cp conf/starrocks_deploy.conf /var/local/env/${PR_NUMBER}-starrocks_deploy.conf
echo "deploy_conf_file=/var/local/env/${PR_NUMBER}-starrocks_deploy.conf" >> $GITHUB_OUTPUT
@@ -679,7 +955,11 @@ jobs:
if [[ "${{ needs.build.outputs.is_self_build }}" == 'true' ]]; then
bucket_prefix=`echo ${repo%/*} | tr '[:upper:]' '[:lower:]'`
+<<<<<<< HEAD
tar_path="oss://${bucket_prefix}-ci-release/${{steps.branch.outputs.branch}}/Release/pr/${{needs.build.outputs.build_output_tar}}"
+=======
+ tar_path="oss://${bucket_prefix}-ci-release/${{github.base_ref}}/Release/pr/${LINUX_DISTRO}/${{needs.build.outputs.build_output_tar}}"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
else
tar_path="${{ needs.build.outputs.build_output_tar }}"
fi
@@ -752,8 +1032,14 @@ jobs:
run: |
branch=${{ steps.branch.outputs.branch }}
bucket_prefix=${{ steps.branch.outputs.bucket_prefix }}
+<<<<<<< HEAD
ossutil64 --config-file ~/.ossutilconfig rm oss://${bucket_prefix}-ci-release/$branch/Release/pr/SQL-Tester-XML/${PR_NUMBER}/ -rf
ossutil64 --config-file ~/.ossutilconfig cp test/ oss://${bucket_prefix}-ci-release/$branch/Release/pr/SQL-Tester-XML/${PR_NUMBER}/ --include "*.xml" --recursive --force --tagging="type=ci"
+=======
+ xml_oss_path=oss://${bucket_prefix}-ci-release/$branch/Release/pr/SQL-Tester-XML/${PR_NUMBER}/
+ ossutil64 --config-file ~/.ossutilconfig rm ${xml_oss_path} -rf
+ ossutil64 --config-file ~/.ossutilconfig cp test/ ${xml_oss_path} --include "*.xml" --recursive --force --tagging="type=ci"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Upload log
uses: actions/upload-artifact@v4
@@ -868,8 +1154,14 @@ jobs:
run: |
branch=${{ steps.branch.outputs.branch }}
bucket_prefix=${{ steps.branch.outputs.bucket_prefix }}
+<<<<<<< HEAD
ossutil64 --config-file ~/.ossutilconfig rm oss://${bucket_prefix}-ci-release/$branch/Release/pr/Admit-XML/${PR_NUMBER}/ -rf
ossutil64 --config-file ~/.ossutilconfig cp StarRocksTest/result oss://${bucket_prefix}-ci-release/$branch/Release/pr/Admit-XML/${PR_NUMBER}/ --include "*.xml" --recursive --force --tagging="type=ci"
+=======
+ xml_oss_path=oss://${bucket_prefix}-ci-release/$branch/Release/pr/Admit-XML/${PR_NUMBER}/
+ ossutil64 --config-file ~/.ossutilconfig rm ${xml_oss_path} -rf
+ ossutil64 --config-file ~/.ossutilconfig cp StarRocksTest/result ${xml_oss_path} --include "*.xml" --recursive --force --tagging="type=ci"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Clean ENV
if: always()
@@ -885,6 +1177,10 @@ jobs:
PR_NUMBER: ${{ github.event.number }}
BRANCH: ${{ github.base_ref }}
CONF_FILE: ${{ needs.deploy.outputs.deploy_conf_file }}
+<<<<<<< HEAD
+=======
+ linuxdistro: ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: Upload info
run: |
@@ -920,4 +1216,8 @@ jobs:
if: always()
run: |
rm -f $CONF_FILE
- rm -rf ${{ github.workspace }}/*
\ No newline at end of file
+<<<<<<< HEAD
+ rm -rf ${{ github.workspace }}/*
+=======
+ rm -rf ${{ github.workspace }}/*
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/.github/workflows/ci-report.yml b/.github/workflows/ci-report.yml
index 50f2b53cc6070..684b18d8018df 100644
--- a/.github/workflows/ci-report.yml
+++ b/.github/workflows/ci-report.yml
@@ -23,6 +23,10 @@ permissions:
env:
HEAD_SHA: ${{ github.event.workflow_run.head_sha }}
+<<<<<<< HEAD
+=======
+ REPO: ${{ github.repository }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
jobs:
INFO:
@@ -34,10 +38,24 @@ jobs:
PR_NUMBER: ${{ steps.pr_details.outputs.PR_NUMBER }}
BASE_REF: ${{ steps.pr_details.outputs.BASE_REF }}
PR_STATE: ${{ steps.pr_details.outputs.PR_STATE }}
+<<<<<<< HEAD
steps:
- run: |
sleep 10
+=======
+ BUCKET_PREFIX: ${{ steps.bucket_info.outputs.bucket_prefix }}
+ steps:
+ - run: |
+ sleep 10
+
+ - name: INFO
+ id: bucket_info
+ run: |
+ bucket_prefix=`echo ${REPO%/*} | tr '[:upper:]' '[:lower:]'`
+ echo "bucket_prefix=${bucket_prefix}" >> $GITHUB_OUTPUT
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Download workflow artifact - PR
uses: dawidd6/action-download-artifact@v3
with:
@@ -79,11 +97,16 @@ jobs:
env:
PR_NUMBER: ${{ needs.INFO.outputs.PR_NUMBER }}
BASE_REF: ${{ needs.INFO.outputs.BASE_REF }}
+<<<<<<< HEAD
+=======
+ bucket_prefix: ${{ needs.INFO.outputs.BUCKET_PREFIX }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
+<<<<<<< HEAD
- name: INFO
id: info
run: |
@@ -95,6 +118,10 @@ jobs:
id: download-ut-xml
env:
bucket_prefix: ${{ steps.info.outputs.bucket_prefix }}
+=======
+ - name: Download FE UT XML
+ id: download-ut-xml
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
oss_path=oss://${bucket_prefix}-ci-release/$BASE_REF/Release/pr/UT-Report/${PR_NUMBER}
size=$(ossutil64 --config-file ~/.ossutilconfig ls ${oss_path}/fe_ut_report.tar.gz | grep "Object Number is" | awk '{print $NF}')
@@ -113,7 +140,11 @@ jobs:
fi
- name: Publish UT Report
+<<<<<<< HEAD
uses: mikepenz/action-junit-report@v3
+=======
+ uses: mikepenz/action-junit-report@v4
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
id: publish_report
if: steps.download-ut-xml.outputs.size != '0'
env:
@@ -147,7 +178,10 @@ jobs:
package_path: ${{ github.workspace }}/ci-tool/package
fe_path: ${{ github.workspace }}/fe
fe_core_path: ${{ github.workspace }}/fe/fe-core
+<<<<<<< HEAD
bucket_prefix: ${{ steps.info.outputs.bucket_prefix }}
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if: steps.merge_report.outcome == 'success'
run: |
rm -rf result
@@ -215,25 +249,35 @@ jobs:
REPO: ${{ github.repository }}
PR_NUMBER: ${{ needs.INFO.outputs.PR_NUMBER }}
BASE_REF: ${{ needs.INFO.outputs.BASE_REF }}
+<<<<<<< HEAD
+=======
+ bucket_prefix: ${{ needs.INFO.outputs.BUCKET_PREFIX }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
+<<<<<<< HEAD
- name: INFO
id: info
run: |
bucket_prefix=`echo ${REPO%/*} | tr '[:upper:]' '[:lower:]'`
echo "bucket_prefix=${bucket_prefix}" >> $GITHUB_OUTPUT
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Download BE UT XML
id: download-ut-xml
+<<<<<<< HEAD
env:
bucket_prefix: ${{ steps.info.outputs.bucket_prefix }}
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
oss_path=oss://${bucket_prefix}-ci-release/$BASE_REF/Release/pr/UT-Report/${PR_NUMBER}
be_ut_res_path=${oss_path}/flag/be_ut_res
@@ -305,6 +349,77 @@ jobs:
eci rm ${{ steps.merge.outputs.ECI_ID }} || true
rm -rf ${{ steps.merge.outputs.COV_LOG }} ${{ steps.merge.outputs.COV_XML }} ${{ steps.merge.outputs.RES_FILE }}
+<<<<<<< HEAD
+=======
+ JAVA-EXTENSION-REPORT:
+ runs-on: [ self-hosted, quick ]
+ needs: INFO
+ if: needs.INFO.outputs.PR_NUMBER != '' && needs.INFO.outputs.PR_STATE != 'MERGED'
+ env:
+ PR_NUMBER: ${{ needs.INFO.outputs.PR_NUMBER }}
+ BASE_REF: ${{ needs.INFO.outputs.BASE_REF }}
+ bucket_prefix: ${{ needs.INFO.outputs.BUCKET_PREFIX }}
+ steps:
+ - name: CLEAN
+ run: |
+ rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
+
+ - name: Download Java Extension UT XML
+ id: download-ut-xml
+ run: |
+ oss_path=oss://${bucket_prefix}-ci-release/$BASE_REF/Release/pr/UT-Report/${PR_NUMBER}
+ size=$(ossutil64 --config-file ~/.ossutilconfig ls ${oss_path}/java_extension_ut_report.tar.gz | grep "Object Number is" | awk '{print $NF}')
+ echo "size=${size}" >> $GITHUB_OUTPUT
+ if [[ "$size" != "0" ]]; then
+ mkdir java-extensions && cd java-extensions
+ ossutil64 --config-file ~/.ossutilconfig cp ${oss_path}/java_extension_ut_report.tar.gz . --recursive
+ tar zxf java_extension_ut_report.tar.gz
+ elif [[ "${BASE_REF}" == "main" ]]; then
+ rm -rf ./coverchecker && ln -s /var/local/env/coverchecker ./coverchecker && cd coverchecker && git pull
+ export JAVA_HOME=/var/local/env/jdk1.8.0_202;
+ export PATH=$JAVA_HOME/bin:$PATH;
+ java -jar cover-checker-console/target/cover-checker-console-1.4.0-jar-with-dependencies.jar \
+ --cover /var/local/env/java_extension_empty_coverage --github-token ${{ secrets.GITHUB_TOKEN }} \
+ --repo ${{ github.repository }} --threshold 80 --github-url api.github.com --pr ${PR_NUMBER} -type jacoco \
+ --module "Java-Extensions"
+ fi
+
+ - name: Publish UT Report
+ uses: mikepenz/action-junit-report@v4
+ id: publish_report
+ if: steps.download-ut-xml.outputs.size != '0'
+ env:
+ github_token: ${{ secrets.GITHUB_TOKEN }}
+ token: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ check_name: 'Java Extensions UT Report'
+ detailed_summary: true
+ fail_on_failure: true
+ commit: ${{ github.event.workflow_run.head_sha }}
+ report_paths: ./java-extensions/xml_dir/*.xml
+
+ # Incremental Total Coverage
+ - name: Publish Incremental Coverage Report - Total
+ if: steps.publish_report.outcome == 'success' && env.BASE_REF == 'main'
+ env:
+ code_path: ${{ github.workspace }}/java-extensions
+ run: |
+ rm -rf ./coverchecker && ln -s /var/local/env/coverchecker ./coverchecker && cd coverchecker && git pull
+ export JAVA_HOME=/var/local/env/jdk1.8.0_202;
+ export PATH=$JAVA_HOME/bin:$PATH;
+ java -jar cover-checker-console/target/cover-checker-console-1.4.0-jar-with-dependencies.jar \
+ --cover ${code_path}/result/ --github-token ${{ secrets.GITHUB_TOKEN }} \
+ --repo ${{ github.repository }} --threshold 80 --github-url api.github.com --pr ${PR_NUMBER} -type jacoco \
+ -d ${code_path}/diff.txt -dt file --module "Java-Extensions"
+ rm -rf coverchecker
+ rm -rf ci-tools
+
+ - name: Clean ENV
+ if: always()
+ run: |
+ rm -rf ${{ github.workspace }}/*
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
SQL-Tester-REPORT:
runs-on: [ self-hosted, quick ]
needs: INFO
@@ -364,11 +479,16 @@ jobs:
env:
PR_NUMBER: ${{ needs.INFO.outputs.PR_NUMBER }}
BASE_REF: ${{ needs.INFO.outputs.BASE_REF }}
+<<<<<<< HEAD
+=======
+ bucket_prefix: ${{ needs.INFO.outputs.bucket_prefix }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: CLEAN
run: |
rm -rf ${{ github.workspace }} && mkdir -p ${{ github.workspace }}
+<<<<<<< HEAD
- name: INFO
id: info
run: |
@@ -380,6 +500,11 @@ jobs:
id: download-admit-xml
env:
bucket_prefix: ${{ steps.info.outputs.bucket_prefix }}
+=======
+ - name: Download Admit XML
+ id: download-admit-xml
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
run: |
mkdir admit-result && cd admit-result
oss_path=oss://${bucket_prefix}-ci-release/$BASE_REF/Release/pr/Admit-XML/${PR_NUMBER}/
@@ -410,7 +535,11 @@ jobs:
NOTIFICATION:
runs-on: [ self-hosted, quick ]
+<<<<<<< HEAD
needs: [ INFO, FE-REPORT, Admit-REPORT, BE-REPORT, SQL-Tester-REPORT ]
+=======
+ needs: [ INFO, FE-REPORT, Admit-REPORT, BE-REPORT, SQL-Tester-REPORT, JAVA-EXTENSION-REPORT ]
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if: always() && needs.INFO.outputs.PR_NUMBER != '' && needs.INFO.outputs.PR_STATE != 'MERGED'
env:
WORKFLOW_RUN_ID: ${{ github.event.workflow_run.id }}
diff --git a/.github/workflows/ci-sync.yml b/.github/workflows/ci-sync.yml
index a341ffc13f7f8..f035e08c79543 100644
--- a/.github/workflows/ci-sync.yml
+++ b/.github/workflows/ci-sync.yml
@@ -11,16 +11,25 @@ on:
jobs:
sync:
+<<<<<<< HEAD
runs-on: [self-hosted, quick]
if: github.event.pull_request.merged == true && github.repository == 'StarRocks/starrocks'
env:
PR_NUMBER: ${{ github.event.number }}
GH_TOKEN: ${{ secrets.PAT }}
+=======
+ runs-on: [self-hosted, sync]
+ if: github.event.pull_request.merged == true && github.repository == 'StarRocks/starrocks'
+ env:
+ PR_NUMBER: ${{ github.event.number }}
+ GH_TOKEN: ${{ secrets.PAT2 }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
steps:
- name: commit_sha
id: commit_sha
run: |
set -x
+<<<<<<< HEAD
commit_sha=`curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
@@ -31,6 +40,19 @@ jobs:
echo "commit_sha=${commit_sha:0:7}" >> $GITHUB_OUTPUT
- name: sync
+=======
+ pr_info=$(gh pr view ${PR_NUMBER} -R ${{ github.repository }} --json mergeCommit,labels)
+ labels=`echo $pr_info | jq -r '.labels[].name'`
+ if [[ "${labels}" =~ sync ]]; then
+ echo "is_sync=true" >> $GITHUB_OUTPUT
+ else
+ commit_sha=`echo $pr_info | jq -r '.mergeCommit.oid'`
+ echo "commit_sha=${commit_sha:0:7}" >> $GITHUB_OUTPUT
+ fi
+
+ - name: sync
+ if: steps.commit_sha.outputs.is_sync != 'true'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
env:
PR_ID: ${{ github.event.number }}
COMMIT_ID: ${{ steps.commit_sha.outputs.commit_sha }}
diff --git a/.github/workflows/inspection-pipeline.yml b/.github/workflows/inspection-pipeline.yml
index 7da3be359023d..4d4b4836df2ab 100644
--- a/.github/workflows/inspection-pipeline.yml
+++ b/.github/workflows/inspection-pipeline.yml
@@ -2,10 +2,18 @@ name: INSPECTION PIPELINE
on:
schedule:
+<<<<<<< HEAD
- cron: "30 0 * * 1-5"
- cron: "30 4 * * 1-5"
- cron: "30 9 * * 1-5"
- cron: "0 11 * * 1-5"
+=======
+ - cron: "0 0 * * 1-5"
+ - cron: "30 4 * * 1-5"
+ - cron: "30 9 * * 1-5"
+ - cron: "0 11 * * 1,3,5"
+ - cron: "0 11 * * 2,4"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
workflow_dispatch:
inputs:
BRANCH:
@@ -16,12 +24,21 @@ on:
description: 'COMMIT ID'
required: true
type: string
+<<<<<<< HEAD
TAR_PATH:
description: 'TAR PATH(Release)'
required: false
type: string
ASAN_TAR_PATH:
description: 'TAR PATH(ASAN)'
+=======
+ CENTOS_TAR_PATH:
+ description: 'TAR PATH(Release & Centos)'
+ required: false
+ type: string
+ CENTOS_ASAN_TAR_PATH:
+ description: 'TAR PATH(ASAN & Centos)'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
required: false
type: string
UBUNTU_TAR_PATH:
@@ -40,6 +57,13 @@ on:
description: 'RUN ADMIT?'
type: string
default: 'true'
+<<<<<<< HEAD
+=======
+ ALL_LINUX:
+ description: "ALL_LINUX? (⬜: Ubuntu && Release only)"
+ type: string
+ default: 'true'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
RETAIN_ENV:
description: 'RETAIN THE ENVIRONMENT?'
type: boolean
@@ -72,10 +96,18 @@ jobs:
outputs:
BRANCH: ${{ steps.param.outputs.BRANCH }}
PR_NUMBER: ${{ steps.param.outputs.PR_NUMBER }}
+<<<<<<< HEAD
TAR_PATH: ${{ steps.param.outputs.TAR_PATH }}
ASAN_TAR_PATH: ${{ steps.param.outputs.ASAN_TAR_PATH }}
UBUNTU_TAR_PATH: ${{ steps.param.outputs.UBUNTU_TAR_PATH }}
UBUNTU_ASAN_TAR_PATH: ${{ steps.param.outputs.UBUNTU_ASAN_TAR_PATH }}
+=======
+ CENTOS_TAR_PATH: ${{ steps.param.outputs.CENTOS_TAR_PATH }}
+ CENTOS_ASAN_TAR_PATH: ${{ steps.param.outputs.CENTOS_ASAN_TAR_PATH }}
+ UBUNTU_TAR_PATH: ${{ steps.param.outputs.UBUNTU_TAR_PATH }}
+ UBUNTU_ASAN_TAR_PATH: ${{ steps.param.outputs.UBUNTU_ASAN_TAR_PATH }}
+ BE_UT_LINUX: ${{ steps.param.outputs.BE_UT_LINUX }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
RETAIN_ENV: ${{ steps.param.outputs.RETAIN_ENV }}
ALL_LINUX: ${{ steps.param.outputs.ALL_LINUX }}
INCLUDE_ADMIT: ${{ steps.param.outputs.INCLUDE_ADMIT }}
@@ -83,11 +115,25 @@ jobs:
- name: CRON PARAM
id: param
run: |
+<<<<<<< HEAD
if [[ "${{ github.event_name }}" == "schedule" ]]; then
if [[ "${{ github.event.schedule }}" == "0 11 * * 1-5" ]]; then
branch=branch-3.2
[[ "$GITHUB_REPOSITORY" == 'StarRocks/starrocks' ]] && all_linux=true
elif [[ "${{ github.event.schedule }}" == "30 0 * * 1-5" ]]; then
+=======
+ BE_UT_LINUX=ubuntu
+ if [[ "${{ github.event_name }}" == "schedule" ]]; then
+ if [[ "${{ github.event.schedule }}" == "0 11 * * 1,3,5" ]]; then
+ branch=branch-3.4
+ if [[ "$GITHUB_REPOSITORY" == 'StarRocks/starrocks' && `date +%u` -eq 1 ]]; then
+ all_linux=true
+ fi
+ elif [[ "${{ github.event.schedule }}" == "0 11 * * 2,4" ]]; then
+ branch=branch-3.3
+ all_linux=false
+ elif [[ "${{ github.event.schedule }}" == "0 0 * * 1-5" ]]; then
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
branch=main
if [[ `date +%u` -eq 1 || `date +%u` -eq 4 ]]; then
all_linux=true
@@ -95,7 +141,13 @@ jobs:
else
branch=main
fi
+<<<<<<< HEAD
+ base_sha=$(gh api /repos/${REPO}/branches/${branch} | jq -r .commit.sha)
+=======
+ [[ $((`date +%e` % 2)) -eq 1 ]] && BE_UT_LINUX=centos7
base_sha=$(gh api /repos/${REPO}/branches/${branch} | jq -r .commit.sha)
+ echo "::notice::${branch}(${BE_UT_LINUX} ${base_sha})"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
[[ "${base_sha}" == "null" ]] && (echo "::error::Get HEAD SHA error, please check." && exit -1);
echo "BRANCH=${branch}" >> $GITHUB_OUTPUT
echo "PR_NUMBER=${base_sha}" >> $GITHUB_OUTPUT
@@ -104,6 +156,7 @@ jobs:
else
echo "BRANCH=${{ inputs.BRANCH }}" >> $GITHUB_OUTPUT
echo "PR_NUMBER=${{ inputs.COMMIT_ID }}" >> $GITHUB_OUTPUT
+<<<<<<< HEAD
echo "TAR_PATH=${{ inputs.TAR_PATH }}" >> $GITHUB_OUTPUT
echo "ASAN_TAR_PATH=${{ inputs.ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
echo "UBUNTU_TAR_PATH=${{ inputs.UBUNTU_TAR_PATH }}" >> $GITHUB_OUTPUT
@@ -112,6 +165,18 @@ jobs:
echo "ALL_LINUX=true" >> $GITHUB_OUTPUT
echo "INCLUDE_ADMIT=false" >> $GITHUB_OUTPUT
fi
+=======
+ echo "CENTOS_TAR_PATH=${{ inputs.CENTOS_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "CENTOS_ASAN_TAR_PATH=${{ inputs.CENTOS_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "UBUNTU_TAR_PATH=${{ inputs.UBUNTU_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "UBUNTU_ASAN_TAR_PATH=${{ inputs.UBUNTU_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "RETAIN_ENV=${{ inputs.RETAIN_ENV }}" >> $GITHUB_OUTPUT
+ echo "ALL_LINUX=${{ inputs.ALL_LINUX }}" >> $GITHUB_OUTPUT
+ echo "INCLUDE_ADMIT=false" >> $GITHUB_OUTPUT
+ fi
+
+ echo "BE_UT_LINUX=${BE_UT_LINUX}" >> $GITHUB_OUTPUT
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
be-ut:
runs-on: [self-hosted, normal]
@@ -123,6 +188,10 @@ jobs:
env:
BRANCH: ${{ needs.info.outputs.BRANCH }}
PR_NUMBER: ${{ needs.info.outputs.PR_NUMBER }}
+<<<<<<< HEAD
+=======
+ LINUX: ${{ needs.info.outputs.BE_UT_LINUX }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
strategy:
fail-fast: false
matrix:
@@ -136,7 +205,11 @@ jobs:
build_type: ${{ matrix.build_type }}
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+<<<<<<< HEAD
./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module be --build ${build_type}
+=======
+ ./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module be --build ${build_type} --linuxdistro ${LINUX}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: clean ECI
if: always()
@@ -200,7 +273,11 @@ jobs:
timeout-minutes: 60
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+<<<<<<< HEAD
./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module fe --build Release
+=======
+ ./bin/elastic-ut.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --module fe --build Release --linuxdistro ubuntu
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: Clean ECI
if: always()
@@ -276,10 +353,18 @@ jobs:
id: run_build
shell: bash
timeout-minutes: 90
+<<<<<<< HEAD
if: (matrix.build_type == 'Release' && matrix.linux == 'centos7') || env.ALL_LINUX == 'true'
run: |
rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
./bin/elastic-build.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} --build ${{ matrix.build_type }} --linuxdistro ${{ matrix.linux }}
+=======
+ if: (matrix.build_type == 'Release' && matrix.linux == 'ubuntu') || env.ALL_LINUX == 'true'
+ run: |
+ rm -rf ./ci-tool && cp -rf /var/lib/ci-tool ./ci-tool && cd ci-tool && git pull && source lib/init.sh
+ ./bin/elastic-build.sh --repository ${{ github.repository }} --branch ${BRANCH} --pr ${PR_NUMBER} \
+ --build ${{ matrix.build_type }} --linuxdistro ${{ matrix.linux }} --with-trivy
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: BUILD RESULT
run: |
@@ -317,8 +402,13 @@ jobs:
env:
ALL_LINUX: needs.info.outputs.ALL_LINUX
outputs:
+<<<<<<< HEAD
RELEASE_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_RELEASE_TAR_PATH }}
ASAN_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_ASAN_TAR_PATH }}
+=======
+ CENTOS_RELEASE_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_RELEASE_TAR_PATH }}
+ CENTOS_ASAN_TAR_PATH: ${{ steps.set_output.outputs.CENTOS_ASAN_TAR_PATH }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
UBUNTU_RELEASE_TAR_PATH: ${{ steps.set_output.outputs.UBUNTU_RELEASE_TAR_PATH }}
UBUNTU_ASAN_TAR_PATH: ${{ steps.set_output.outputs.UBUNTU_ASAN_TAR_PATH }}
IS_SELF_BUILD: ${{ steps.set_output.outputs.IS_SELF_BUILD }}
@@ -374,8 +464,15 @@ jobs:
if: always()
run: |
if [[ "${{steps.analyse_artifact.outcome}}" == "skipped" ]]; then
+<<<<<<< HEAD
echo "CENTOS_RELEASE_TAR_PATH=${{ needs.info.outputs.TAR_PATH }}" >> $GITHUB_OUTPUT
echo "CENTOS_ASAN_TAR_PATH=${{ needs.info.outputs.ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
+=======
+ echo "CENTOS_RELEASE_TAR_PATH=${{ needs.info.outputs.CENTOS_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "CENTOS_ASAN_TAR_PATH=${{ needs.info.outputs.CENTOS_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "UBUNTU_RELEASE_TAR_PATH=${{ needs.info.outputs.UBUNTU_TAR_PATH }}" >> $GITHUB_OUTPUT
+ echo "UBUNTU_ASAN_TAR_PATH=${{ needs.info.outputs.UBUNTU_ASAN_TAR_PATH }}" >> $GITHUB_OUTPUT
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
echo "IS_SELF_BUILD=false" >> $GITHUB_OUTPUT
else
echo "CENTOS_RELEASE_TAR_PATH=${{ steps.analyse_artifact.outputs.CENTOS_RELEASE_TAR_PATH }}" >> $GITHUB_OUTPUT
@@ -392,11 +489,19 @@ jobs:
- info
- test_filter
secrets: inherit
+<<<<<<< HEAD
if: always() && needs.test_filter.outputs.RELEASE_TAR_PATH != ''
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.RELEASE_TAR_PATH }}
+=======
+ if: always() && needs.test_filter.outputs.CENTOS_RELEASE_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
+ with:
+ BRANCH: ${{ needs.info.outputs.BRANCH }}
+ COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
+ TAR_PATH: ${{ needs.test_filter.outputs.CENTOS_RELEASE_TAR_PATH }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
BUILD_TYPE: Release
LINUX_DISTRO: centos7
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
@@ -409,11 +514,19 @@ jobs:
- info
- test_filter
secrets: inherit
+<<<<<<< HEAD
if: always() && needs.test_filter.outputs.ASAN_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
TAR_PATH: ${{ needs.test_filter.outputs.ASAN_TAR_PATH }}
+=======
+ if: always() && needs.test_filter.outputs.CENTOS_ASAN_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
+ with:
+ BRANCH: ${{ needs.info.outputs.BRANCH }}
+ COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
+ TAR_PATH: ${{ needs.test_filter.outputs.CENTOS_ASAN_TAR_PATH }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
BUILD_TYPE: ASAN
LINUX_DISTRO: centos7
IS_SELF_BUILD: ${{ needs.test_filter.outputs.IS_SELF_BUILD }}
@@ -426,7 +539,11 @@ jobs:
- info
- test_filter
secrets: inherit
+<<<<<<< HEAD
if: always() && needs.test_filter.outputs.UBUNTU_RELEASE_TAR_PATH != '' && needs.info.outputs.ALL_LINUX == 'true'
+=======
+ if: always() && needs.test_filter.outputs.UBUNTU_RELEASE_TAR_PATH != ''
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
with:
BRANCH: ${{ needs.info.outputs.BRANCH }}
COMMIT_ID: ${{ needs.info.outputs.PR_NUMBER }}
@@ -473,10 +590,21 @@ jobs:
ASAN_CONF_FILE: ${{ needs.system-test-asan.outputs.CONF_FILE }}
RELEASE_MYSQL_ECI_ID: ${{ needs.system-test-release.outputs.MYSQL_ECI_ID }}
ASAN_MYSQL_ECI_ID: ${{ needs.system-test-asan.outputs.MYSQL_ECI_ID }}
+<<<<<<< HEAD
+=======
+ RELEASE_RESULT: ${{ needs.system-test-release.result }}
+ ASAN_RESULT: ${{ needs.system-test-asan.result }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
UBUNTU_RELEASE_CONF_FILE: ${{ needs.system-test-release-ubuntu.outputs.CONF_FILE }}
UBUNTU_ASAN_CONF_FILE: ${{ needs.system-test-asan-ubuntu.outputs.CONF_FILE }}
UBUNTU_RELEASE_MYSQL_ECI_ID: ${{ needs.system-test-release-ubuntu.outputs.MYSQL_ECI_ID }}
UBUNTU_ASAN_MYSQL_ECI_ID: ${{ needs.system-test-asan-ubuntu.outputs.MYSQL_ECI_ID }}
+<<<<<<< HEAD
+=======
+ UBUNTU_RELEASE_RESULT: ${{ needs.system-test-release-ubuntu.result }}
+ UBUNTU_ASAN_RESULT: ${{ needs.system-test-asan-ubuntu.result }}
+ BE_UT_LINUX: ${{ needs.info.outputs.BE_UT_LINUX }}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
RETAIN_ENV: ${{ needs.info.outputs.RETAIN_ENV }}
steps:
- name: init
diff --git a/.github/workflows/pr-checker.yml b/.github/workflows/pr-checker.yml
index 87da3bb692a07..3d4548a279aa1 100644
--- a/.github/workflows/pr-checker.yml
+++ b/.github/workflows/pr-checker.yml
@@ -128,6 +128,15 @@ jobs:
!contains(github.event.pull_request.title, 'cherry-pick') &&
!contains(github.event.pull_request.title, 'backport')
steps:
+<<<<<<< HEAD
+=======
+ - name: add branch-3.4 label
+ if: contains(toJson(github.event.pull_request.body), '[x] 3.4')
+ uses: actions-ecosystem/action-add-labels@v1
+ with:
+ labels: '3.4'
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: add branch-3.3 label
if: contains(toJson(github.event.pull_request.body), '[x] 3.3')
uses: actions-ecosystem/action-add-labels@v1
@@ -152,11 +161,19 @@ jobs:
with:
labels: '3.0'
+<<<<<<< HEAD
- name: add branch-2.5 label
if: contains(toJson(github.event.pull_request.body), '[x] 2.5')
uses: actions-ecosystem/action-add-labels@v1
with:
labels: '2.5'
+=======
+ - name: remove branch-3.4 label
+ if: contains(toJson(github.event.pull_request.body), '[ ] 3.4') && contains(github.event.pull_request.labels.*.name, '3.4')
+ uses: actions-ecosystem/action-remove-labels@v1
+ with:
+ labels: '3.4'
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: remove branch-3.3 label
if: contains(toJson(github.event.pull_request.body), '[ ] 3.3') && contains(github.event.pull_request.labels.*.name, '3.3')
@@ -182,12 +199,15 @@ jobs:
with:
labels: '3.0'
+<<<<<<< HEAD
- name: remove branch-2.5 label
if: contains(toJson(github.event.pull_request.body), '[ ] 2.5') && contains(github.event.pull_request.labels.*.name, '2.5')
uses: actions-ecosystem/action-remove-labels@v1
with:
labels: '2.5'
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- name: check-done
if: >
(startsWith(github.event.pull_request.title, '[BugFix]') ||
diff --git a/.github/workflows/releasenotes404.yaml b/.github/workflows/releasenotes404.yaml
new file mode 100644
index 0000000000000..ffa32d3f9ba0a
--- /dev/null
+++ b/.github/workflows/releasenotes404.yaml
@@ -0,0 +1,32 @@
+name: Check releasenote links
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: "00 42 * * SUN"
+
+jobs:
+ linkChecker:
+ runs-on: ubuntu-latest
+ permissions:
+ issues: write # required for peter-evans/create-issue-from-file
+ steps:
+ # Get this repo
+ - uses: actions/checkout@v4
+
+ - name: Link Checker
+ id: lychee
+ uses: lycheeverse/lychee-action@v2
+ with:
+ args: >
+ --config lychee.toml
+ --exclude https://github.com/StarRocks/starrocks/.*
+ "docs/en/release_notes/*.md" "docs/zh/release_notes/*.md"
+
+ - name: Create Issue From File
+ if: steps.lychee.outputs.exit_code != 0
+ uses: peter-evans/create-issue-from-file@v5
+ with:
+ title: Link Checker Report
+ content-filepath: ./lychee/out.md
+ labels: doc-feedback
diff --git a/.gitignore b/.gitignore
index 749a2ce168fa4..0a3a13f1f4ea1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,6 +24,10 @@ extension/spark-doris-connector/target
contrib/trino-connector/target/
fe/log
**/ut_ports
+<<<<<<< HEAD
+=======
+venv/
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
custom_env.sh
ut_dir
log/
diff --git a/.trivyignore b/.trivyignore
index 99b0370e53833..4c3f34da14d7d 100644
--- a/.trivyignore
+++ b/.trivyignore
@@ -6,3 +6,8 @@ CVE-2024-47554
CVE-2024-47561
# ingore nimbus-jose-jwt-9.31.jar
CVE-2023-52428
+<<<<<<< HEAD
+=======
+# ingore io.netty:netty-common (netty-common-4.1.100.Final.jar)
+CVE-2024-47535
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/README.md b/README.md
index acc43b4ce2827..4bf49ddbbaf3b 100644
--- a/README.md
+++ b/README.md
@@ -29,15 +29,28 @@
+<<<<<<< HEAD
+=======
+
+
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
+<<<<<<< HEAD
StarRocks, a Linux Foundation project, is the next-generation data platform designed to make data-intensive real-time analytics fast and easy.
It delivers query speeds 5 to 10 times faster than other popular solutions. StarRocks can perform real-time analytics well while updating historical records. It can also enhance real-time analytics with historical data from data lakes easily. With StarRocks, you can get rid of the de-normalized tables and get the best performance and flexibility.
Learn more 👉🏻 [Introduction to StarRocks](https://www.starrocks.io/blog/introduction_to_starrocks )
+=======
+
+StarRocks is the world's fastest open query engine for sub-second, ad-hoc analytics both on and off the data lakehouse. With average query performance 3x faster than other popular alternatives, StarRocks is a query engine that eliminates the need for denormalization and adapts to your use cases, without having to move your data or rewrite SQL. A Linux Foundation project.
+
+Learn more 👉🏻 [What Is StarRocks: Features and Use Cases](https://www.youtube.com/watch?v=RfXO5GOnbW4&ab_channel=CelerData)
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
@@ -53,7 +66,11 @@ Learn more 👉🏻 [Introduction to StarRocks](https://www.starrocks.io/blog/in
* **💡 Smart query optimization:** StarRocks can optimize complex queries through CBO (Cost Based Optimizer). With a better execution plan, the data analysis efficiency will be greatly improved.
* **⚡ Real-time update:** The updated model of StarRocks can perform upsert/delete operations according to the primary key, and achieve efficient query while concurrent updates.
* **🪟 Intelligent materialized view:** The materialized view of StarRocks can be automatically updated during the data import and automatically selected when the query is executed.
+<<<<<<< HEAD
* **✨ Querying data in data lakes directly**: StarRocks allows direct access to data from Apache Hive™, Apache Iceberg™, and Apache Hudi™ without importing.
+=======
+* **✨ Querying data in data lakes directly**: StarRocks allows direct access to data from Apache Hive™, Apache Iceberg™, Delta Lake™ and Apache Hudi™ without importing.
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
* **🎛️ Resource management**: This feature allows StarRocks to limit resource consumption for queries and implement isolation and efficient use of resources among tenants in the same cluster.
* **💠 Easy to maintain**: Simple architecture makes StarRocks easy to deploy, maintain and scale out. StarRocks tunes its query plan agilely, balances the resources when the cluster is scaled in or out, and recovers the data replica under node failure automatically.
@@ -74,7 +91,11 @@ StarRocks’s streamlined architecture is mainly composed of two modules: Fronte
Starting from version 3.0, StarRocks supports a new shared-data architecture, which can provide better scalability and lower costs.
+<<<<<<< HEAD
+=======
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
@@ -87,10 +108,17 @@ Starting from version 3.0, StarRocks supports a new shared-data architecture, wh
| Section | Description |
|-|-|
+<<<<<<< HEAD
| [Deploy](https://docs.starrocks.io/docs/deployment/deployment_overview/) | Learn how to run and configure StarRocks.|
| [Articles](https://github.com/StarRocks/starrocks/discussions/categories/how-tos-tutorials-best-practices-and-architecture-articles)| How-tos, Tutorials, Best Practices and Architecture Articles. |
| [Docs](https://docs.starrocks.io/en-us/latest/introduction/StarRocks_intro)| Full documentation. |
| [Blogs](https://starrocks.io/blog) | StarRocks deep dive and user stories. |
+=======
+| [Quick Starts](https://docs.starrocks.io/docs/quick_start/)| How-tos and Tutorials. |
+| [Deploy](https://docs.starrocks.io/docs/deployment/deployment_overview/) | Learn how to run and configure StarRocks.|
+| [Docs](https://docs.starrocks.io/)| Full documentation. |
+| [Blogs](https://www.starrocks.io/blog) | StarRocks deep dive and user stories. |
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
### ❓ Get support
[](https://try.starrocks.com/join-starrocks-on-slack)
@@ -116,6 +144,11 @@ We welcome all kinds of contributions from the community, individuals and partne
**📝 License:** StarRocks is licensed under [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0).
**👥 Community Membership:** Learn more about different [contributor roles](community/membership.md) in StarRocks community.
+<<<<<<< HEAD
+=======
+
+**💬 Developer Group:** Please join our [Google Groups](https://groups.google.com/g/starrocks-dev) to discuss StarRocks features, project directions, issues, pull requests, or share suggestions.
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
@@ -124,7 +157,16 @@ We welcome all kinds of contributions from the community, individuals and partne
This project is used by the following companies. Learn more about their use cases:
- [Airbnb](https://www.youtube.com/watch?v=AzDxEZuMBwM&ab_channel=StarRocks_labs)
+<<<<<<< HEAD
- [Tencent](https://www.starrocks.io/blog/tencent-unifies-their-gaming-analytics-with-starrocks)
- [Shopee](https://www.youtube.com/watch?v=FJf6tVFr-20)
+=======
+- [Pinterest](https://medium.com/pinterest-engineering/delivering-faster-analytics-at-pinterest-a639cdfad374)
+- [Coinbase](https://www.youtube.com/watch?v=3Z9jSCaHnYg&list=PL0eWwaesODdhBhKSnvpfIEAB9sgk8rKmy)
+- [Tencent(Games)](https://www.starrocks.io/blog/tencent-unifies-their-gaming-analytics-with-starrocks)
+- [Tencent(LLM)](https://www.youtube.com/watch?v=WVHXFks9EQk)
+- [Demandbase](https://starrocks.medium.com/demandbase-ditches-denormalization-by-switching-off-clickhouse-44195d795a83)
+- [Shopee](https://celerdata.com/blog/how-shopee-3xed-their-query-performance-with-starrocks)
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
- [Trip.com](https://starrocks.medium.com/trip-com-starrocks-efficiently-supports-high-concurrent-queries-dramatically-reduces-labor-and-1e1921dd6bf8)
- [Didi](https://www.starrocks.io/blog/reduced-80-cost-didis-journey-from-multiple-olap-engines-to-starrocks)
diff --git a/be/.gitignore b/be/.gitignore
index 7debfaf7a2101..96f4061bb6edf 100644
--- a/be/.gitignore
+++ b/be/.gitignore
@@ -5,3 +5,7 @@
!src/
!test/
!CMakeLists.txt
+<<<<<<< HEAD
+=======
+!extension/
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt
index 5427269a119c6..e43cca057b483 100644
--- a/be/CMakeLists.txt
+++ b/be/CMakeLists.txt
@@ -82,8 +82,11 @@ option(WITH_GCOV "Build binary with gcov to get code coverage" OFF)
option(WITH_COMPRESS "Build binary with compresss debug section" ON)
+<<<<<<< HEAD
option(WITH_CACHELIB "Build binary with cachelib library" OFF)
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
option(WITH_STARCACHE "Build binary with starcache library" ON)
option(WITH_BRCP_KEEPALIVE "Build binary with brpc_socket_keepalive (requires brpc 1.8)" OFF)
@@ -93,17 +96,39 @@ option(USE_STAROS "Use StarOS to manager tablet info" OFF)
option(USE_SSE4_2 "Build with SSE4.2 instruction" ON)
+<<<<<<< HEAD
+=======
+option(USE_BMI_2 "Build with BMI2 instruction" ON)
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
option(USE_AVX2 "Build with AVX2 instruction" ON)
option(USE_AVX512 "Build with AVX512f/AVX512BW instruction" OFF)
+<<<<<<< HEAD
option(WITH_RELATIVE_SRC_PATH "Build source file with relative path" ON)
+=======
+option(WITH_TENANN "Build with TENANN" OFF)
+
+option(WITH_RELATIVE_SRC_PATH "Build source file with relative path" ON)
+
+# Only support tenann on x86
+if (${WITH_TENANN} STREQUAL "ON" AND NOT "${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "aarch64")
+ add_definitions(-DWITH_TENANN)
+else()
+ set(WITH_TENANN "OFF")
+endif()
+
+message(STATUS "WITH TENANN is: ${WITH_TENANN}")
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Check gcc
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS "4.8.2")
message(FATAL_ERROR "Need GCC version at least 4.8.2")
endif()
+<<<<<<< HEAD
if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "10.3.0")
message(STATUS "GCC version ${CMAKE_CXX_COMPILER_VERSION} is greater than 10.3.0, disable -Werror. Be careful with compile warnings.")
@@ -111,11 +136,14 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
# -Werror: compile warnings should be errors when using the toolchain compiler.
set(CXX_GCC_FLAGS "${CXX_GCC_FLAGS} -Werror")
endif()
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
elseif (NOT APPLE)
message(FATAL_ERROR "Compiler should be GNU")
endif()
+<<<<<<< HEAD
set(PIC_LIB_PATH "${THIRDPARTY_DIR}")
if(PIC_LIB_PATH)
message(STATUS "defined PIC_LIB_PATH")
@@ -134,6 +162,11 @@ else()
set(LIBEVENT event)
endif()
+=======
+set(CMAKE_SKIP_RPATH TRUE)
+set(Boost_USE_STATIC_LIBS ON)
+set(Boost_USE_STATIC_RUNTIME ON)
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Compile generated source if necessary
message(STATUS "build gensrc if necessary")
@@ -260,6 +293,13 @@ endforeach()
find_package(AWSSDK REQUIRED COMPONENTS core s3 s3-crt transfer identity-management sts)
include_directories(${AWSSDK_INCLUDE_DIRS})
+<<<<<<< HEAD
+=======
+set(Poco_ROOT_DIR ${THIRDPARTY_DIR})
+find_package(Poco REQUIRED COMPONENTS Net NetSSL)
+include_directories(${Poco_INCLUDE_DIRS})
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
add_library(libevent STATIC IMPORTED)
set_target_properties(libevent PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libevent.a)
@@ -350,6 +390,15 @@ set_target_properties(fmt PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/l
add_library(ryu STATIC IMPORTED)
set_target_properties(ryu PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libryu.a)
+<<<<<<< HEAD
+=======
+add_library(libz STATIC IMPORTED GLOBAL)
+set_target_properties(libz PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libz.a)
+
+add_library(libbz2 STATIC IMPORTED)
+set_target_properties(libbz2 PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libbz2.a)
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Disable minidump on aarch64, hence breakpad is not needed.
if ("${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86" OR "${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86_64")
add_library(breakpad STATIC IMPORTED)
@@ -394,12 +443,26 @@ set_target_properties(serdes PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/
add_library(opentelemetry_exporter_jaeger_trace STATIC IMPORTED GLOBAL)
set_target_properties(opentelemetry_exporter_jaeger_trace PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libopentelemetry_exporter_jaeger_trace.a)
+<<<<<<< HEAD
+=======
+set(absl_DIR "${THIRDPARTY_DIR}/lib/cmake/absl" CACHE PATH "absl search path" FORCE)
+find_package(absl CONFIG REQUIRED)
+set(gRPC_DIR "${THIRDPARTY_DIR}/lib/cmake/grpc" CACHE PATH "grpc search path")
+find_package(gRPC CONFIG REQUIRED)
+message(STATUS "Using gRPC ${gRPC_VERSION}")
+get_target_property(gRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES)
+include_directories(SYSTEM ${gRPC_INCLUDE_DIR})
+add_library(protobuf::libprotobuf ALIAS protobuf)
+add_library(ZLIB::ZLIB ALIAS libz)
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Disable libdefalte on aarch64
if ("${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86" OR "${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86_64")
add_library(libdeflate STATIC IMPORTED GLOBAL)
set_target_properties(libdeflate PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib64/libdeflate.a)
endif()
+<<<<<<< HEAD
# cachelib
set(CACHELIB_DEPENDENCIES
cachelib_common
@@ -437,6 +500,15 @@ if (${WITH_CACHELIB} STREQUAL "ON")
set_target_properties(${dep} PROPERTIES IMPORTED_LOCATION "${location}")
message(STATUS "add cachelib dependency: ${location}")
endforeach()
+=======
+if (${WITH_TENANN} STREQUAL "ON")
+ add_library(tenann STATIC IMPORTED GLOBAL)
+ if(${USE_AVX2})
+ set_target_properties(tenann PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libtenann-bundle-avx2.a)
+ else()
+ set_target_properties(tenann PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/lib/libtenann-bundle.a)
+ endif()
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
endif()
if (${WITH_STARCACHE} STREQUAL "ON")
@@ -462,15 +534,21 @@ if ("${USE_STAROS}" STREQUAL "ON")
message(STATUS "Searching starlet related libraries from ${STARLET_INSTALL_DIR} ...")
endif()
+<<<<<<< HEAD
# explicitly import ZLIB::ZLIB which is required by starlet thirdparty
add_library(ZLIB::ZLIB STATIC IMPORTED)
set_target_properties(ZLIB::ZLIB PROPERTIES IMPORTED_LOCATION ${LIBZ})
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Tell cmake that PROTOBUF library is already found
set(PROTOBUF_FOUND TRUE)
# starrocks project has its imported libprotobuf.a and libre2.a
# add following ALIAS so grpc can find the correct dependent libraries
+<<<<<<< HEAD
add_library(protobuf::libprotobuf ALIAS protobuf)
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
add_library(re2::re2 ALIAS re2)
add_library(glog::glog ALIAS glog)
add_library(gflags::gflags_static ALIAS gflags)
@@ -482,21 +560,27 @@ if ("${USE_STAROS}" STREQUAL "ON")
add_library(starcache::starcache ALIAS starcache)
add_library(Snappy::snappy ALIAS snappy)
+<<<<<<< HEAD
set(absl_DIR "${STARLET_INSTALL_DIR}/third_party/lib/cmake/absl" CACHE PATH "absl search path" FORCE)
find_package(absl CONFIG REQUIRED)
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# required by azure-*
set(LIBXML2_INCLUDE_DIR "${STARLET_INSTALL_DIR}/third_party/include/libxml2" CACHE PATH "libxml2 include path")
set(LIBXML2_LIBRARY "${STARLET_INSTALL_DIR}/third_party/lib/libxml2.a" CACHE FILEPATH "libxml2 static library")
add_library(libxml2 STATIC IMPORTED GLOBAL)
set_target_properties(libxml2 PROPERTIES IMPORTED_LOCATION ${LIBXML2_LIBRARY})
+<<<<<<< HEAD
set(gRPC_DIR "${STARLET_INSTALL_DIR}/third_party/lib/cmake/grpc" CACHE PATH "grpc search path")
find_package(gRPC CONFIG REQUIRED)
message(STATUS "Using gRPC ${gRPC_VERSION}")
get_target_property(gRPC_INCLUDE_DIR gRPC::grpc INTERFACE_INCLUDE_DIRECTORIES)
include_directories(SYSTEM ${gRPC_INCLUDE_DIR})
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
set(prometheus-cpp_DIR "${STARLET_INSTALL_DIR}/third_party/lib/cmake/prometheus-cpp" CACHE PATH "prometheus cpp client search path")
find_package (prometheus-cpp CONFIG REQUIRED)
get_target_property(prometheus-cpp_INCLUDE_DIR prometheus-cpp::core INTERFACE_INCLUDE_DIRECTORIES)
@@ -536,7 +620,10 @@ if ("${USE_STAROS}" STREQUAL "ON")
endif()
# LLVM
+<<<<<<< HEAD
# TODO(yueyang): Adjust libraries during the implementation of JIT.
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
set (LLVM_LIBRARIES
LLVMRuntimeDyld
LLVMBitstreamReader
@@ -597,6 +684,10 @@ foreach(lib IN ITEMS ${LLVM_LIBRARIES})
set_target_properties(${lib} PROPERTIES IMPORTED_LOCATION ${THIRDPARTY_DIR}/llvm/lib/lib${lib}.a)
endforeach()
+<<<<<<< HEAD
+=======
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# Check Clang-Tidy
include(cmake_modules/FindClangTidy.cmake)
@@ -665,7 +756,19 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
# ignore warning from apache-orc
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-unsafe-buffer-usage")
endif ()
+<<<<<<< HEAD
+else ()
+=======
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "18.0.0")
+ # ignore warning from apache-orc
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-switch-default")
+ endif ()
else ()
+ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "14.0.0")
+ # ignore error from apache-orc
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Wno-error=dangling-reference")
+ endif ()
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
set(CXX_GCC_FLAGS "${CXX_GCC_FLAGS} -fcoroutines")
endif()
@@ -675,9 +778,12 @@ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -Werror=return-type -Werror=switch")
if (${USE_STAROS} STREQUAL "ON")
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DUSE_STAROS")
endif()
+<<<<<<< HEAD
if (${WITH_CACHELIB} STREQUAL "ON")
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DWITH_CACHELIB")
endif()
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (${WITH_STARCACHE} STREQUAL "ON")
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DWITH_STARCACHE")
endif()
@@ -700,6 +806,12 @@ if ("${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86" OR "${CMAKE_BUILD_TARGET_ARCH}"
# the compiler will define __AVX2__
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -mavx2")
endif()
+<<<<<<< HEAD
+=======
+ if (${USE_BMI_2})
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -mbmi2")
+ endif()
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (${USE_AVX512})
# the compiler will define __AVX512F__ __AVX512BW__
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -mavx512f -mavx512bw")
@@ -713,6 +825,14 @@ if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0)
set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -faligned-new")
endif()
+<<<<<<< HEAD
+=======
+if (STARROCKS_JIT_ENABLE)
+ message(STATUS "Enable JIT")
+ set(CXX_GCC_FLAGS "${CXX_GCC_FLAGS} -DSTARROCKS_JIT_ENABLE")
+endif()
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# For any gcc builds:
# -g: Enable symbols for profiler tools
# -Wno-unused-local-typedefs: Do not warn for local typedefs that are unused.
@@ -738,6 +858,19 @@ if (ENABLE_FAULT_INJECTION)
message(STATUS "enable fault injection")
endif()
+<<<<<<< HEAD
+=======
+option(ASSERT_STATUS_CHECKED "build with assert status checked" OFF)
+if (ASSERT_STATUS_CHECKED)
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -DSTARROCKS_ASSERT_STATUS_CHECKED")
+endif()
+
+if (BUILD_FORMAT_LIB)
+ set(CXX_COMMON_FLAGS "${CXX_COMMON_FLAGS} -fPIC -DBUILD_FORMAT_LIB")
+ message(STATUS "enable build format library")
+endif()
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# For CMAKE_BUILD_TYPE=Debug
# -ggdb: Enable gdb debugging
# Debug information is stored as dwarf2 to be as compatible as possible
@@ -858,11 +991,14 @@ set(STARROCKS_DEPENDENCIES ${STARROCKS_DEPENDENCIES}
mysql
)
+<<<<<<< HEAD
set(STARROCKS_DEPENDENCIES ${STARROCKS_DEPENDENCIES}
hdfs
jvm
)
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
set(JAVA_HOME ${THIRDPARTY_DIR}/open_jdk/)
add_library(jvm SHARED IMPORTED)
FILE(GLOB_RECURSE LIB_JVM ${JAVA_HOME}/jre/lib/*/libjvm.so)
@@ -875,14 +1011,33 @@ set(STARROCKS_DEPENDENCIES ${STARROCKS_DEPENDENCIES}
)
set_target_properties(aws-cpp-sdk-core PROPERTIES INTERFACE_LINK_LIBRARIES AWS::aws-crt-cpp)
+<<<<<<< HEAD
# Set thirdparty libraries
set(STARROCKS_DEPENDENCIES
${STARROCKS_DEPENDENCIES}
+=======
+if (STARROCKS_JIT_ENABLE)
+ set(STARROCKS_DEPENDENCIES
+ ${STARROCKS_DEPENDENCIES}
+ ${WL_START_GROUP}
+ ${LLVM_LIBRARIES}
+ ${WL_END_GROUP}
+ )
+endif()
+
+# Set thirdparty libraries
+set(STARROCKS_DEPENDENCIES
+ ${STARROCKS_DEPENDENCIES}
+ build_version
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
${WL_START_GROUP}
clucene-core
clucene-shared
clucene-contribs-lib
+<<<<<<< HEAD
build_version
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
rocksdb
libs2
snappy
@@ -897,8 +1052,14 @@ set(STARROCKS_DEPENDENCIES
lz4
libevent
curl
+<<<<<<< HEAD
${LIBZ}
${LIBBZ2}
+=======
+ ${Poco_LIBRARIES}
+ libz
+ libbz2
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
gflags
brpc
protobuf
@@ -913,6 +1074,13 @@ set(STARROCKS_DEPENDENCIES
zstd
streamvbyte
arrow
+<<<<<<< HEAD
+=======
+ arrow_flight
+ arrow_flight_sql
+ gRPC::grpc
+ gRPC::grpc++
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
jemalloc # required by arrow
parquet
orc
@@ -941,6 +1109,7 @@ set(STARROCKS_DEPENDENCIES
avro
serdes
fiu
+<<<<<<< HEAD
${LLVM_LIBRARIES}
${WL_END_GROUP}
)
@@ -955,6 +1124,11 @@ if (${WITH_CACHELIB} STREQUAL "ON")
)
endif()
+=======
+ ${WL_END_GROUP}
+)
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (${WITH_STARCACHE} STREQUAL "ON")
set(STARROCKS_DEPENDENCIES
${STARROCKS_DEPENDENCIES}
@@ -973,6 +1147,7 @@ if ("${CMAKE_BUILD_TARGET_ARCH}" STREQUAL "x86" OR "${CMAKE_BUILD_TARGET_ARCH}"
)
endif()
+<<<<<<< HEAD
# Add all external dependencies. They should come after the starrocks libs.
set(STARROCKS_LINK_LIBS ${STARROCKS_LINK_LIBS} ${STARROCKS_DEPENDENCIES})
@@ -997,11 +1172,58 @@ elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "UBSAN")
set(BUILD_FOR_SANITIZE "ON")
elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "TSAN")
set(STARROCKS_LINK_LIBS ${STARROCKS_LINK_LIBS} -static-libtsan)
+=======
+if (${WITH_TENANN} STREQUAL "ON")
+ set(STARROCKS_DEPENDENCIES
+ ${STARROCKS_DEPENDENCIES}
+ tenann
+ )
+endif()
+
+# Add all external dependencies. They should come after the starrocks libs.
+
+set(STARROCKS_LINK_LIBS ${STARROCKS_LINK_LIBS}
+ ${STARROCKS_LINK_LIBS}
+ ${STARROCKS_DEPENDENCIES}
+ hdfs
+ jvm
+)
+set(BUILD_FOR_SANITIZE "OFF")
+
+# Add sanitize static link flags or jemalloc
+if ("${CMAKE_BUILD_TYPE}" STREQUAL "DEBUG" OR "${CMAKE_BUILD_TYPE}" STREQUAL "RELEASE")
+ message("use jemalloc")
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS jemalloc)
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "ASAN")
+ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS -static-libsan)
+ else()
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS -static-libasan)
+ endif()
+ set(BUILD_FOR_SANITIZE "ON")
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "LSAN")
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS -static-liblsan)
+ set(BUILD_FOR_SANITIZE "ON")
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "UBSAN")
+ message("use jemalloc")
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS -static-libubsan jemalloc)
+ set(BUILD_FOR_SANITIZE "ON")
+elseif ("${CMAKE_BUILD_TYPE}" STREQUAL "TSAN")
+ set(STARROCKS_MEMORY_DEPENDENCIES_LIBS -static-libtsan)
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
set(BUILD_FOR_SANITIZE "ON")
else()
message(FATAL_ERROR "Unknown build type: ${CMAKE_BUILD_TYPE}")
endif()
+<<<<<<< HEAD
+=======
+if (NOT BUILD_FORMAT_LIB)
+ # skip the STARROCKS_MEMORY_DEPENDENCIES_LIBS only when BUILD_FORMAT_LIB=ON
+ set(STARROCKS_LINK_LIBS ${STARROCKS_LINK_LIBS} ${STARROCKS_MEMORY_DEPENDENCIES_LIBS})
+endif()
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (NOT ("${MAKE_TEST}" STREQUAL "ON" AND "${BUILD_FOR_SANITIZE}" STREQUAL "ON"))
# In other words, turn to dynamic link when MAKE_TEST and BUILD_TYPE == *SAN
# otherwise do static link gcc's lib
@@ -1029,8 +1251,23 @@ set (TEST_LINK_LIBS ${STARROCKS_LINK_LIBS}
# Only build static libs
set(BUILD_SHARED_LIBS OFF)
+<<<<<<< HEAD
if (NOT $ENV{STARROCKS_LINKER} STREQUAL "")
add_link_options("-fuse-ld=$ENV{STARROCKS_LINKER}")
+=======
+set (STARROCKS_LINKER "$ENV{STARROCKS_LINKER}")
+include(cmake_modules/FindGlibcVersion.cmake)
+
+if (GLIBC_VERSION VERSION_LESS "2.29" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 14.0.0)
+ if (NOT DEFINED ${STARROCKS_LINKER} OR ${STARROCKS_LINKER} STREQUAL "")
+ set(STARROCKS_LINKER "gold")
+ endif()
+endif()
+message("using linker: ${STARROCKS_LINKER}")
+
+if (NOT STARROCKS_LINKER STREQUAL "")
+ add_link_options("-fuse-ld=${STARROCKS_LINKER}")
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
endif ()
if (${MAKE_TEST} STREQUAL "ON")
@@ -1038,9 +1275,21 @@ if (${MAKE_TEST} STREQUAL "ON")
add_definitions(-DBE_TEST)
add_definitions(-DFIU_ENABLE)
else()
+<<<<<<< HEAD
# output *.a, *.so, *.dylib to output/tmp
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}/tmp/${CMAKE_BUILD_TYPE})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}/tmp/${CMAKE_BUILD_TYPE})
+=======
+ if (BUILD_FORMAT_LIB)
+ # output *.a, *.so, *.dylib to output/format-lib-tmp
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}/format-lib-tmp/${CMAKE_BUILD_TYPE})
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}/format-lib-tmp/${CMAKE_BUILD_TYPE})
+ else()
+ # output *.a, *.so, *.dylib to output/tmp
+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_DIR}/tmp/${CMAKE_BUILD_TYPE})
+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_DIR}/tmp/${CMAKE_BUILD_TYPE})
+ endif ()
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
# output *.exe to output/lib
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_DIR}/lib)
endif ()
@@ -1074,7 +1323,11 @@ FUNCTION(ADD_BE_BENCH BENCH_NAME)
find_package(benchmark REQUIRED)
ADD_EXECUTABLE(${BENCH_FILE_NAME} ${BENCH_NAME}.cpp)
+<<<<<<< HEAD
TARGET_LINK_LIBRARIES(${BENCH_FILE_NAME} ${TEST_LINK_LIBS} benchmark benchmark_main)
+=======
+ TARGET_LINK_LIBRARIES(${BENCH_FILE_NAME} benchmark benchmark_main ${TEST_LINK_LIBS})
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
SET_TARGET_PROPERTIES(${BENCH_FILE_NAME} PROPERTIES COMPILE_FLAGS "-fno-access-control")
SET_TARGET_PROPERTIES(${BENCH_FILE_NAME} PROPERTIES COMPILE_FLAGS ${CXX_FLAGS_RELEASE})
@@ -1110,8 +1363,18 @@ add_subdirectory(${SRC_DIR}/tools)
add_subdirectory(${SRC_DIR}/util)
add_subdirectory(${SRC_DIR}/script)
+<<<<<<< HEAD
if (WITH_BENCH STREQUAL "ON")
message(STATUS "Build binary with bench")
+=======
+if (BUILD_FORMAT_LIB)
+ message(STATUS "Build starrocks format lib")
+ add_subdirectory(${SRC_DIR}/starrocks_format)
+endif()
+
+if (WITH_BENCH STREQUAL "ON")
+ message(STATUS "Build binary with bench")
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
add_subdirectory(${SRC_DIR}/bench)
endif()
diff --git a/be/cmake_modules/FindClangTidy.cmake b/be/cmake_modules/FindClangTidy.cmake
index 0189e46ee4d6b..dea3c7e7ea505 100644
--- a/be/cmake_modules/FindClangTidy.cmake
+++ b/be/cmake_modules/FindClangTidy.cmake
@@ -1,5 +1,6 @@
option(WITH_CLANG_TIDY "Use clang-tidy static analyzer" OFF)
+<<<<<<< HEAD
if (${WITH_CLANG_TIDY})
find_program (CLANG_TIDY_CACHE_BIN NAMES "clang-tidy-cache")
find_program (CLANG_TIDY_BIN NAMES "clang-tidy-17" "clang-tidy-16" "clang-tidy-15" "clang-tidy-14" "clang-tidy-13" "clang-tidy")
@@ -15,4 +16,25 @@ if (${WITH_CLANG_TIDY})
else ()
message (FATAL_ERROR "clang-tidy is not found")
endif ()
+=======
+if(${WITH_CLANG_TIDY})
+ find_program(CLANG_TIDY_CACHE_BIN NAMES "clang-tidy-cache")
+ find_program(
+ CLANG_TIDY_BIN NAMES "clang-tidy-17" "clang-tidy-16" "clang-tidy-15"
+ "clang-tidy-14" "clang-tidy-13" "clang-tidy")
+
+ if(CLANG_TIDY_CACHE_BIN)
+ set(CLANG_TIDY_PATH
+ "${CLANG_TIDY_CACHE_BIN};${CLANG_TIDY_BIN}"
+ CACHE STRING "Cache for clang-tidy")
+ else()
+ set(CLANG_TIDY_PATH "${CLANG_TIDY_BIN}")
+ endif()
+
+ if(CLANG_TIDY_PATH)
+ message(STATUS "Find clang-tidy: ${CLANG_TIDY_PATH}.")
+ else()
+ message(FATAL_ERROR "clang-tidy is not found")
+ endif()
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
endif()
diff --git a/be/cmake_modules/FindGlibcVersion.cmake b/be/cmake_modules/FindGlibcVersion.cmake
new file mode 100644
index 0000000000000..82f3fc5ad3165
--- /dev/null
+++ b/be/cmake_modules/FindGlibcVersion.cmake
@@ -0,0 +1,25 @@
+# check glibc version, assign to GLIBC_VERSION
+
+set(CHECK_C_SOURCE_CODE
+ "
+#include
+#include
+int main() {
+ const char* version = gnu_get_libc_version();
+ printf(\"%s\\n\", version);
+ return 0;
+}
+")
+file(WRITE ${CMAKE_BINARY_DIR}/check_c_source.c "${CHECK_C_SOURCE_CODE}")
+execute_process(
+ COMMAND ${CMAKE_C_COMPILER} ${CMAKE_BINARY_DIR}/check_c_source.c -o
+ ${CMAKE_BINARY_DIR}/check_c_source RESULT_VARIABLE compile_result)
+if(compile_result EQUAL 0)
+ execute_process(
+ COMMAND ${CMAKE_BINARY_DIR}/check_c_source
+ OUTPUT_VARIABLE GLIBC_VERSION
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+ message("GLIBC version: ${GLIBC_VERSION}")
+else()
+ message(FATAL_ERROR "Failed to get the glibc version")
+endif()
diff --git a/be/extension/python-udf/src/flight_server.py b/be/extension/python-udf/src/flight_server.py
new file mode 100644
index 0000000000000..9cc297090d3cd
--- /dev/null
+++ b/be/extension/python-udf/src/flight_server.py
@@ -0,0 +1,155 @@
+# encoding: utf-8
+
+# Copyright 2021-present StarRocks, Inc. All rights reserved.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# https://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+import argparse
+import pyarrow as pa
+import pyarrow.flight as flight
+import pyarrow
+import sys
+import time
+import json
+import base64
+import zipimport
+import ast
+
+class CallStub(object):
+ def __init__(self, symbol, output_type, location, content):
+ self.symbol = symbol
+ self.output_type = output_type
+ self.location = location
+ self.content = content
+ self.exec_env = {}
+ self.eval_func = None
+ # extract function object
+ if location == "inline":
+ try:
+ exec(content, self.exec_env)
+ except Exception as e:
+ raise ValueError(f"Failed to evaluate UDF: {content} with error: {e}")
+ if self.symbol not in self.exec_env:
+ raise ValueError(f"Function {self.symbol} not found in UDF: {content}")
+ self.eval_func = self.exec_env[self.symbol]
+ else:
+ try:
+ module_with_symbol = self.symbol.split(".")
+ module = self.load_module(location, module_with_symbol[0])
+ self.eval_func = getattr(module, module_with_symbol[1])
+ except Exception as e:
+ raise ValueError(f"Failed to load UDF module: {location} symbol {symbol} with error: {e}")
+
+ def cvt(self, py_list):
+ return pa.array(py_list, self.output_type)
+
+ def get_imported_packages_ast(self, importer, module_name):
+ # acquire source
+ source = importer.get_source(module_name)
+ imported_packages = []
+ if source is None:
+ return imported_packages
+ # parse source
+ tree = ast.parse(source)
+ for node in ast.walk(tree):
+ if isinstance(node, ast.Import):
+ for alias in node.names:
+ imported_packages.append(alias.name.split('.')[0])
+ elif isinstance(node, ast.ImportFrom):
+ imported_packages.append(node.module.split('.')[0])
+ return imported_packages
+
+ def load_module(self, location, module_name):
+ importer = zipimport.zipimporter(location)
+ dependencies = self.get_imported_packages_ast(importer, module_name)
+ for dep in dependencies:
+ if importer.find_module(dep):
+ importer.load_module(dep)
+ module = importer.load_module(module_name)
+ return module
+
+class ScalarCallStub(CallStub):
+ """
+ Python Scalar Call stub
+ """
+ def __init__(self, symbol, output_type, location, content):
+ CallStub.__init__(self, symbol, output_type, location, content)
+
+ def evaluate(self, batch: pa.RecordBatch) -> pa.Array:
+ num_rows = batch.num_rows
+ num_cols = len(batch.columns)
+ result_list = []
+ for i in range(num_rows):
+ params = [batch.columns[j][i].as_py() for j in range(num_cols)]
+ res = self.eval_func(*params)
+ result_list.append(res)
+ # set result to output column
+ return self.cvt(result_list)
+
+class VectorizeArrowCallStub(CallStub):
+ """
+ Python Vectorized Call stub
+ """
+ def __init__(self, symbol, output_type, location, content):
+ CallStub.__init__(self, symbol, output_type, location, content)
+
+ def evaluate(self, batch: pa.RecordBatch) -> pa.Array:
+ num_rows = batch.num_rows
+ num_cols = len(batch.columns)
+ result_list = []
+ params = [batch.columns[j] for j in range(num_cols)]
+ res = self.eval_func(*params)
+ return res
+
+def get_call_stub(desc):
+ """
+ Get call stub
+ """
+ symbol = desc["symbol"]
+ location = desc["location"]
+ content = desc["content"]
+ input_type = desc["input_type"]
+ return_type_base64 = desc["return_type"]
+ binary_data = base64.b64decode(return_type_base64)
+ return_type = pa.ipc.read_schema(pa.BufferReader(binary_data)).field(0).type
+ if input_type == "scalar":
+ return ScalarCallStub(symbol, return_type, location, content)
+ elif input_type == "arrow":
+ return VectorizeArrowCallStub(symbol, return_type, location, content)
+
+class UDFFlightServer(flight.FlightServerBase):
+ def do_exchange(self, context, descriptor, reader, writer):
+ func_desc = json.loads(descriptor.command)
+ stub = get_call_stub(func_desc)
+ started = False
+ for chunk in reader:
+ if chunk.data:
+ result_column = stub.evaluate(chunk.data)
+ result_batch = pa.RecordBatch.from_arrays([result_column], ["result"])
+ if not started:
+ writer.begin(result_batch.schema)
+ started = True
+ writer.write_batch(result_batch)
+
+def main(unix_socket_path):
+ location = unix_socket_path
+ server = UDFFlightServer(location)
+ print("Pywork start success")
+ sys.stdout.flush()
+ server.wait()
+
+if __name__ == "__main__":
+ parser = argparse.ArgumentParser(description="Run an Arrow Flight echo server over Unix socket.")
+ parser.add_argument("unix_socket_path", type=str, help="The path to the Unix socket.")
+ args = parser.parse_args()
+ main(args.unix_socket_path)
diff --git a/be/src/agent/agent_task.cpp b/be/src/agent/agent_task.cpp
index 7b1d76730d310..2c1d178d3c860 100644
--- a/be/src/agent/agent_task.cpp
+++ b/be/src/agent/agent_task.cpp
@@ -41,6 +41,10 @@
#include "storage/task/engine_storage_migration_task.h"
#include "storage/txn_manager.h"
#include "storage/update_manager.h"
+<<<<<<< HEAD
+=======
+#include "testutil/sync_point.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
namespace starrocks {
@@ -226,10 +230,33 @@ void run_create_tablet_task(const std::shared_ptr&
auto tablet_type = create_tablet_req.tablet_type;
Status create_status;
+<<<<<<< HEAD
if (tablet_type == TTabletType::TABLET_TYPE_LAKE) {
create_status = exec_env->lake_tablet_manager()->create_tablet(create_tablet_req);
} else {
create_status = StorageEngine::instance()->create_tablet(create_tablet_req);
+=======
+
+ if (create_tablet_req.__isset.timeout_ms && create_tablet_req.timeout_ms > 0) {
+ if (agent_task_req->isset.recv_time) {
+ int64_t current_time = time(nullptr);
+ TEST_SYNC_POINT_CALLBACK("AgentTask::run_create_tablet_task::time", ¤t_time);
+ int64_t elapsed_seconds = std::difftime(current_time, agent_task_req->recv_time);
+ if (elapsed_seconds * 1000 > create_tablet_req.timeout_ms) {
+ create_status =
+ Status::TimedOut(fmt::format("the task waits too long in the queue. "
+ "timeout: {} ms, elapsed: {} ms",
+ create_tablet_req.timeout_ms, elapsed_seconds * 1000));
+ }
+ }
+ }
+ if (create_status.ok()) {
+ if (tablet_type == TTabletType::TABLET_TYPE_LAKE) {
+ create_status = exec_env->lake_tablet_manager()->create_tablet(create_tablet_req);
+ } else {
+ create_status = StorageEngine::instance()->create_tablet(create_tablet_req);
+ }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
if (!create_status.ok()) {
LOG(WARNING) << "create table failed. status: " << create_status.to_string()
@@ -238,7 +265,11 @@ void run_create_tablet_task(const std::shared_ptr&
if (tablet_type == TTabletType::TABLET_TYPE_LAKE) {
error_msgs.emplace_back(create_status.to_string(false));
} else {
+<<<<<<< HEAD
error_msgs.emplace_back(fmt::format("create tablet {}", create_status.message()));
+=======
+ error_msgs.emplace_back(fmt::format("create tablet failed. {}", create_status.message()));
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
} else if (create_tablet_req.tablet_type != TTabletType::TABLET_TYPE_LAKE) {
g_report_version.fetch_add(1, std::memory_order_relaxed);
diff --git a/be/src/agent/finish_task.cpp b/be/src/agent/finish_task.cpp
index 848300a01cdda..63c6dcd3923e3 100644
--- a/be/src/agent/finish_task.cpp
+++ b/be/src/agent/finish_task.cpp
@@ -18,6 +18,10 @@
#include "agent/utils.h"
#include "common/logging.h"
#include "runtime/exec_env.h"
+<<<<<<< HEAD
+=======
+#include "testutil/sync_point.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "util/starrocks_metrics.h"
namespace starrocks {
@@ -26,13 +30,22 @@ const uint32_t TASK_FINISH_MAX_RETRY = 3;
const uint32_t ALTER_FINISH_TASK_MAX_RETRY = 10;
void finish_task(const TFinishTaskRequest& finish_task_request) {
+<<<<<<< HEAD
+=======
+ TEST_SYNC_POINT_CALLBACK("FinishAgentTask::input",
+ const_cast(static_cast(&finish_task_request)));
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
// Return result to FE
TMasterResult result;
uint32_t try_time = 0;
int32_t sleep_seconds = 1;
int32_t max_retry_times = TASK_FINISH_MAX_RETRY;
+<<<<<<< HEAD
MasterServerClient client(ExecEnv::GetInstance()->frontend_client_cache());
+=======
+ MasterServerClient client;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
while (try_time < max_retry_times) {
StarRocksMetrics::instance()->finish_task_requests_total.increment(1);
diff --git a/be/src/agent/heartbeat_server.cpp b/be/src/agent/heartbeat_server.cpp
index 8f1a602d09544..f88ffdf19b581 100644
--- a/be/src/agent/heartbeat_server.cpp
+++ b/be/src/agent/heartbeat_server.cpp
@@ -83,8 +83,18 @@ void HeartbeatServer::heartbeat(THeartbeatResult& heartbeat_result, const TMaste
<< " BE/CN:" << config::enable_transparent_data_encryption;
}
+<<<<<<< HEAD
// do heartbeat
StatusOr res = compare_master_info(master_info);
+=======
+ StatusOr res;
+ // reject master's heartbeat when exit
+ if (process_exit_in_progress()) {
+ res = Status::Shutdown("BE is shutting down");
+ } else {
+ res = compare_master_info(master_info);
+ }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
res.status().to_thrift(&heartbeat_result.status);
if (!res.ok()) {
MasterInfoPtr ptr;
@@ -128,6 +138,10 @@ void HeartbeatServer::heartbeat(THeartbeatResult& heartbeat_result, const TMaste
heartbeat_result.backend_info.__set_http_port(config::be_http_port);
heartbeat_result.backend_info.__set_be_rpc_port(-1);
heartbeat_result.backend_info.__set_brpc_port(config::brpc_port);
+<<<<<<< HEAD
+=======
+ heartbeat_result.backend_info.__set_arrow_flight_port(config::arrow_flight_port);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#ifdef USE_STAROS
heartbeat_result.backend_info.__set_starlet_port(config::starlet_port);
if (StorageEngine::instance()->get_store_num() != 0) {
@@ -163,11 +177,14 @@ StatusOr HeartbeatServer::compare_master_info(const
static const char* LOCALHOST = "127.0.0.1";
static const char* LOCALHOST_IPV6 = "::1";
+<<<<<<< HEAD
// reject master's heartbeat when exit
if (process_exit_in_progress()) {
return Status::InternalError("BE is shutting down");
}
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
MasterInfoPtr curr_master_info;
if (!get_master_info(&curr_master_info)) {
return Status::InternalError("Fail to get local master info");
diff --git a/be/src/agent/publish_version.cpp b/be/src/agent/publish_version.cpp
index 797317f33e64e..7804480e1dd16 100644
--- a/be/src/agent/publish_version.cpp
+++ b/be/src/agent/publish_version.cpp
@@ -109,6 +109,10 @@ void run_publish_version_task(ThreadPoolToken* token, const TPublishVersionReque
task.tablet_id = itr.first.tablet_id;
task.version = publish_version_req.partition_version_infos[i].version;
task.rowset = std::move(itr.second);
+<<<<<<< HEAD
+=======
+ task.rowset->rowset_meta()->set_gtid(publish_version_req.gtid);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
task.is_double_write = publish_version_req.partition_version_infos[i].__isset.is_double_write &&
publish_version_req.partition_version_infos[i].is_double_write;
}
@@ -276,6 +280,7 @@ void run_publish_version_task(ThreadPoolToken* token, const TPublishVersionReque
StorageEngine::instance()->replication_txn_manager()->clear_txn(transaction_id);
});
}
+<<<<<<< HEAD
LOG(INFO) << "publish_version success. txn_id: " << transaction_id << " #partition:" << num_partition
<< " #tablet:" << tablet_tasks.size() << " time:" << publish_latency << "ms"
<< " #already_finished:" << total_tablet_cnt - num_active_tablet;
@@ -284,6 +289,18 @@ void run_publish_version_task(ThreadPoolToken* token, const TPublishVersionReque
LOG(WARNING) << "publish_version has error. txn_id: " << transaction_id << " #partition:" << num_partition
<< " #tablet:" << tablet_tasks.size() << " error_tablets(" << error_tablet_ids.size()
<< "):" << JoinInts(error_tablet_ids, ",") << " time:" << publish_latency << "ms"
+=======
+ LOG(INFO) << "publish_version success. txn_id: " << transaction_id << " gtid: " << publish_version_req.gtid
+ << " #partition:" << num_partition << " #tablet:" << tablet_tasks.size()
+ << " time:" << publish_latency << "ms"
+ << " #already_finished:" << total_tablet_cnt - num_active_tablet;
+ } else {
+ StarRocksMetrics::instance()->publish_task_failed_total.increment(1);
+ LOG(WARNING) << "publish_version has error. txn_id: " << transaction_id << " gtid: " << publish_version_req.gtid
+ << " #partition:" << num_partition << " #tablet:" << tablet_tasks.size() << " error_tablets("
+ << error_tablet_ids.size() << "):" << JoinInts(error_tablet_ids, ",")
+ << " time:" << publish_latency << "ms"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
<< " #already_finished:" << total_tablet_cnt - num_active_tablet;
}
}
diff --git a/be/src/agent/report_task.cpp b/be/src/agent/report_task.cpp
index b608c193b1707..6925b87241b94 100644
--- a/be/src/agent/report_task.cpp
+++ b/be/src/agent/report_task.cpp
@@ -20,7 +20,11 @@
namespace starrocks {
AgentStatus report_task(const TReportRequest& request, TMasterResult* result) {
+<<<<<<< HEAD
MasterServerClient client(ExecEnv::GetInstance()->frontend_client_cache());
+=======
+ MasterServerClient client;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return client.report(request, result);
}
diff --git a/be/src/agent/task_worker_pool.cpp b/be/src/agent/task_worker_pool.cpp
index b8c4c2f7228d9..517daff6ea78f 100644
--- a/be/src/agent/task_worker_pool.cpp
+++ b/be/src/agent/task_worker_pool.cpp
@@ -846,7 +846,12 @@ void* ReportDataCacheMetricsTaskWorkerPool::_worker_thread_callback(void* arg_th
LOG(WARNING) << "Fail to report resource_usage to " << master_address.hostname << ":" << master_address.port
<< ", err=" << status;
}
+<<<<<<< HEAD
std::this_thread::sleep_for(std::chrono::milliseconds(config::report_datacache_metrics_interval_ms));
+=======
+ size_t sleep_secs = config::report_datacache_metrics_interval_ms / 1000;
+ nap_sleep(sleep_secs, [&]() { return worker_pool_this->_stopped.load(); });
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
return nullptr;
diff --git a/be/src/agent/utils.cpp b/be/src/agent/utils.cpp
index 34471b605423e..4f2d46e1ca98a 100644
--- a/be/src/agent/utils.cpp
+++ b/be/src/agent/utils.cpp
@@ -38,11 +38,16 @@
#include "agent/master_info.h"
#include "common/status.h"
+<<<<<<< HEAD
+=======
+#include "util/thrift_rpc_helper.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
using std::map;
using std::string;
using std::stringstream;
using std::vector;
+<<<<<<< HEAD
using apache::thrift::TException;
using apache::thrift::transport::TTransportException;
@@ -80,6 +85,23 @@ AgentStatus MasterServerClient::finish_task(const TFinishTaskRequest& request, T
LOG(WARNING) << "Fail to finish_task. "
<< "host=" << network_address.hostname << ", port=" << network_address.port
<< ", error=" << e.what();
+=======
+
+namespace starrocks {
+
+AgentStatus MasterServerClient::finish_task(const TFinishTaskRequest& request, TMasterResult* result) {
+ Status client_status;
+ TNetworkAddress network_address = get_master_address();
+
+ client_status = ThriftRpcHelper::rpc(
+ network_address.hostname, network_address.port,
+ [&result, &request](FrontendServiceConnection& client) { client->finishTask(*result, request); });
+
+ if (!client_status.ok()) {
+ LOG(WARNING) << "Fail to finish_task. "
+ << "host=" << network_address.hostname << ", port=" << network_address.port
+ << ", error=" << client_status;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return STARROCKS_ERROR;
}
@@ -89,6 +111,7 @@ AgentStatus MasterServerClient::finish_task(const TFinishTaskRequest& request, T
AgentStatus MasterServerClient::report(const TReportRequest& request, TMasterResult* result) {
Status client_status;
TNetworkAddress network_address = get_master_address();
+<<<<<<< HEAD
FrontendServiceConnection client(_client_cache, network_address, config::thrift_rpc_timeout_ms, &client_status);
if (!client_status.ok()) {
@@ -126,6 +149,17 @@ AgentStatus MasterServerClient::report(const TReportRequest& request, TMasterRes
LOG(WARNING) << "Fail to report to master. "
<< "host=" << network_address.hostname << ", port=" << network_address.port
<< ", code=" << client_status.code();
+=======
+
+ client_status = ThriftRpcHelper::rpc(
+ network_address.hostname, network_address.port,
+ [&result, &request](FrontendServiceConnection& client) { client->report(*result, request); });
+
+ if (!client_status.ok()) {
+ LOG(WARNING) << "Fail to report to master. "
+ << "host=" << network_address.hostname << ", port=" << network_address.port
+ << ", error=" << client_status;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return STARROCKS_ERROR;
}
diff --git a/be/src/agent/utils.h b/be/src/agent/utils.h
index 14340124b2511..51c12301412af 100644
--- a/be/src/agent/utils.h
+++ b/be/src/agent/utils.h
@@ -44,7 +44,11 @@ namespace starrocks {
class MasterServerClient {
public:
+<<<<<<< HEAD
explicit MasterServerClient(FrontendServiceClientCache* client_cache);
+=======
+ explicit MasterServerClient() = default;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
virtual ~MasterServerClient() = default;
// Reprot finished task to the master server
@@ -67,9 +71,12 @@ class MasterServerClient {
MasterServerClient(const MasterServerClient&) = delete;
const MasterServerClient& operator=(const MasterServerClient&) = delete;
+<<<<<<< HEAD
private:
FrontendServiceClientCache* _client_cache;
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
};
} // namespace starrocks
diff --git a/be/src/bench/CMakeLists.txt b/be/src/bench/CMakeLists.txt
index ea461d683a44d..3e000eae165f5 100644
--- a/be/src/bench/CMakeLists.txt
+++ b/be/src/bench/CMakeLists.txt
@@ -25,3 +25,8 @@ ADD_BE_BENCH(${SRC_DIR}/bench/orc_column_reader_bench)
ADD_BE_BENCH(${SRC_DIR}/bench/hash_functions_bench)
ADD_BE_BENCH(${SRC_DIR}/bench/binary_column_copy_bench)
ADD_BE_BENCH(${SRC_DIR}/bench/hyperscan_vec_bench)
+<<<<<<< HEAD
+=======
+ADD_BE_BENCH(${SRC_DIR}/bench/mem_equal_bench)
+ADD_BE_BENCH(${SRC_DIR}/bench/bit_unpack_bench)
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/src/bench/bit_copy.h b/be/src/bench/bit_copy.h
new file mode 100644
index 0000000000000..f8d81a37d6f13
--- /dev/null
+++ b/be/src/bench/bit_copy.h
@@ -0,0 +1,86 @@
+// Copyright 2021-present StarRocks, Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include
+
+//// TODO, up to now, Bit Copy is only used in test and bench for preparing the
+//// raw data, so we don't check the performance.
+struct BitCopy {
+ // Returns at least 'numBits' bits of data starting at bit 'bitOffset'
+ // from 'source'. T must be at least 'numBits' wide. If 'numBits' bits
+ // from 'bitIffset' do not in T, loads the next byte to get the extra
+ // bits.
+ template
+ static inline T loadBits(const uint64_t* source, uint64_t bitOffset, uint8_t numBits) {
+ constexpr int32_t kBitSize = 8 * sizeof(T);
+ auto address = reinterpret_cast(source) + bitOffset / 8;
+ T word = *reinterpret_cast(address);
+ auto bit = bitOffset & 7;
+ if (!bit) {
+ return word;
+ }
+ if (numBits + bit <= kBitSize) {
+ return word >> bit;
+ }
+ uint8_t lastByte = reinterpret_cast(address)[sizeof(T)];
+ uint64_t lastBits = static_cast(lastByte) << (kBitSize - bit);
+ return (word >> bit) | lastBits;
+ }
+
+ // Stores the 'numBits' low bits of 'word' into bits starting at the
+ // 'bitOffset'th bit from target. T must be at least 'numBits'
+ // wide. If the bit field that is stored overflows a word of T, writes
+ // the trailing bits in the low bits of the next byte. Preserves all
+ // bits below and above the written bits.
+ template
+ static inline void storeBits(uint64_t* target, uint64_t offset, uint64_t word, uint8_t numBits) {
+ constexpr int32_t kBitSize = 8 * sizeof(T);
+ T* address = reinterpret_cast(reinterpret_cast(target) + (offset / 8));
+ auto bitOffset = offset & 7;
+ uint64_t mask = (numBits == 64 ? ~0UL : ((1UL << numBits) - 1)) << bitOffset;
+ *address = (*address & ~mask) | (mask & (word << bitOffset));
+ if (numBits + bitOffset > kBitSize) {
+ uint8_t* lastByteAddress = reinterpret_cast(address) + sizeof(T);
+ uint8_t lastByteBits = bitOffset + numBits - kBitSize;
+ uint8_t lastByteMask = (1 << lastByteBits) - 1;
+ *lastByteAddress = (*lastByteAddress & ~lastByteMask) | (lastByteMask & (word >> (kBitSize - bitOffset)));
+ }
+ }
+
+ // Copies a string of bits between locations in memory given by an
+ // address and a bit offset for source and destination.
+ static inline void copyBits(const uint64_t* source, uint64_t sourceOffset, uint64_t* target, uint64_t targetOffset,
+ uint64_t numBits) {
+ uint64_t i = 0;
+ for (; i + 64 <= numBits; i += 64) {
+ uint64_t word = loadBits(source, i + sourceOffset, 64);
+ storeBits(target, targetOffset + i, word, 64);
+ }
+ if (i + 32 <= numBits) {
+ auto lastWord = loadBits(source, sourceOffset + i, 32);
+ storeBits(target, targetOffset + i, lastWord, 32);
+ i += 32;
+ }
+ if (i + 16 <= numBits) {
+ auto lastWord = loadBits(source, sourceOffset + i, 16);
+ storeBits(target, targetOffset + i, lastWord, 16);
+ i += 16;
+ }
+ for (; i < numBits; i += 8) {
+ auto copyBits = std::min(numBits - i, 8);
+ auto lastWord = loadBits(source, sourceOffset + i, copyBits);
+ storeBits(target, targetOffset + i, lastWord, copyBits);
+ }
+ }
+};
diff --git a/be/src/bench/bit_unpack_bench.cpp b/be/src/bench/bit_unpack_bench.cpp
new file mode 100644
index 0000000000000..1bd62951c4cce
--- /dev/null
+++ b/be/src/bench/bit_unpack_bench.cpp
@@ -0,0 +1,350 @@
+// Copyright 2021-present StarRocks, Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include "gutil/integral_types.h"
+#include "util/bit_stream_utils.inline.h"
+#ifdef __AVX2__
+#include
+#endif
+
+#include
+#include
+#include
+#include
+
+#include
+#include
+#include
+
+#include "bench.h"
+#include "bench/bit_copy.h"
+#include "util/bit_packing.h"
+#include "util/bit_packing_adapter.h"
+#include "util/bit_packing_simd.h"
+
+namespace starrocks {
+
+class BitUnpackBench {
+public:
+ BitUnpackBench() { SetUp(); }
+ ~BitUnpackBench() = default;
+
+ static BitUnpackBench* get_instance() {
+ static BitUnpackBench bench;
+ return &bench;
+ }
+
+#define DO_BENCH_DECLARE(WIDTH) \
+ void do_bench_##WIDTH##_default(int bit_width); \
+ void do_bench_##WIDTH##_avx2(int bit_width); \
+ void do_bench_##WIDTH##_bmi(int bit_width);
+
+ DO_BENCH_DECLARE(32);
+ DO_BENCH_DECLARE(16);
+ DO_BENCH_DECLARE(8);
+
+private:
+ void SetUp();
+ void populateBitPacked();
+
+ std::vector randomInts_u32;
+ // Array of bit packed representations of randomInts_u32. The array at index i
+ // is packed i bits wide and the values come from the low bits of
+ std::vector> bitPackedData;
+
+ std::vector result32_;
+ std::vector result16_;
+ std::vector result8_;
+
+ static const uint64_t kNumValues = 1024 * 1024 * 4;
+};
+
+void BitUnpackBench::populateBitPacked() {
+ bitPackedData.resize(33);
+ for (auto bitWidth = 1; bitWidth <= 32; ++bitWidth) {
+ auto numWords = (randomInts_u32.size() * bitWidth + 64 - 1) / 64;
+ bitPackedData[bitWidth].resize(numWords);
+ auto source = reinterpret_cast(randomInts_u32.data());
+ auto destination = reinterpret_cast(bitPackedData[bitWidth].data());
+ for (auto i = 0; i < randomInts_u32.size(); ++i) {
+ BitCopy::copyBits(source, i * 32, destination, i * bitWidth, bitWidth);
+ }
+ }
+}
+
+void BitUnpackBench::SetUp() {
+ std::random_device rd;
+ std::mt19937 gen(rd());
+
+ std::uniform_int_distribution distr(0, std::numeric_limits::max());
+ for (int32_t i = 0; i < kNumValues; i++) {
+ auto randomInt = distr(gen);
+ randomInts_u32.push_back(randomInt);
+ }
+ populateBitPacked();
+ result32_.resize(kNumValues);
+ result16_.resize(kNumValues);
+ result8_.resize(kNumValues);
+}
+
+#define DO_BENCH_DEFINE(WIDTH) \
+ void BitUnpackBench::do_bench_##WIDTH##_default(int bit_width) { \
+ auto source = bitPackedData[bit_width]; \
+ starrocks::BitPacking::UnpackValues(bit_width, reinterpret_cast(source.data()), \
+ source.size() * sizeof(uint64_t), kNumValues, result##WIDTH##_.data()); \
+ } \
+ \
+ void BitUnpackBench::do_bench_##WIDTH##_avx2(int bit_width) { \
+ auto source = bitPackedData[bit_width]; \
+ starrocks::BitPackingAdapter::UnpackValues_ARROW(bit_width, reinterpret_cast(source.data()), \
+ source.size() * sizeof(uint64_t), kNumValues, \
+ result##WIDTH##_.data()); \
+ } \
+ \
+ void BitUnpackBench::do_bench_##WIDTH##_bmi(int bit_width) { \
+ auto source = bitPackedData[bit_width]; \
+ starrocks::util::unpack(bit_width, reinterpret_cast(source.data()), \
+ source.size() * sizeof(uint64_t), kNumValues, result##WIDTH##_.data()); \
+ }
+
+DO_BENCH_DEFINE(32);
+DO_BENCH_DEFINE(16);
+DO_BENCH_DEFINE(8);
+
+#define BM_BENCH_DEFINE(WIDTH) \
+ static void BM_##WIDTH##_DEFAULT(benchmark::State& state) { \
+ int bit_width = state.range(0); \
+ auto* instance = BitUnpackBench::get_instance(); \
+ \
+ for (auto _ : state) { \
+ state.ResumeTiming(); \
+ instance->do_bench_##WIDTH##_default(bit_width); \
+ state.PauseTiming(); \
+ } \
+ } \
+ \
+ static void BM_##WIDTH##_AVX2(benchmark::State& state) { \
+ int bit_width = state.range(0); \
+ auto* instance = BitUnpackBench::get_instance(); \
+ \
+ for (auto _ : state) { \
+ state.ResumeTiming(); \
+ instance->do_bench_##WIDTH##_avx2(bit_width); \
+ state.PauseTiming(); \
+ } \
+ } \
+ \
+ static void BM_##WIDTH##_BMI(benchmark::State& state) { \
+ int bit_width = state.range(0); \
+ auto* instance = BitUnpackBench::get_instance(); \
+ \
+ for (auto _ : state) { \
+ state.ResumeTiming(); \
+ instance->do_bench_##WIDTH##_bmi(bit_width); \
+ state.PauseTiming(); \
+ } \
+ }
+
+BM_BENCH_DEFINE(32);
+BM_BENCH_DEFINE(16);
+BM_BENCH_DEFINE(8);
+
+BENCHMARK(BM_32_DEFAULT)->DenseRange(1, 32, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_32_AVX2)->DenseRange(1, 32, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_32_BMI)->DenseRange(1, 32, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_16_DEFAULT)->DenseRange(1, 16, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_16_AVX2)->DenseRange(1, 16, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_16_BMI)->DenseRange(1, 16, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_8_DEFAULT)->DenseRange(1, 8, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_8_AVX2)->DenseRange(1, 8, 1)->Unit(benchmark::kMillisecond);
+BENCHMARK(BM_8_BMI)->DenseRange(1, 8, 1)->Unit(benchmark::kMillisecond);
+
+} // namespace starrocks
+
+BENCHMARK_MAIN();
+
+/*
+ * final conclusion:
+ * BMI is faster.
+ *
+BM_32_DEFAULT/1 2.08 ms 2.08 ms 334
+BM_32_DEFAULT/2 2.13 ms 2.13 ms 327
+BM_32_DEFAULT/3 1.65 ms 1.65 ms 420
+BM_32_DEFAULT/4 2.24 ms 2.24 ms 305
+BM_32_DEFAULT/5 2.32 ms 2.32 ms 300
+BM_32_DEFAULT/6 2.89 ms 2.89 ms 241
+BM_32_DEFAULT/7 2.61 ms 2.61 ms 266
+BM_32_DEFAULT/8 2.68 ms 2.68 ms 258
+BM_32_DEFAULT/9 2.47 ms 2.47 ms 282
+BM_32_DEFAULT/10 2.55 ms 2.55 ms 274
+BM_32_DEFAULT/11 2.76 ms 2.76 ms 254
+BM_32_DEFAULT/12 3.17 ms 3.17 ms 225
+BM_32_DEFAULT/13 2.94 ms 2.94 ms 237
+BM_32_DEFAULT/14 3.02 ms 3.02 ms 229
+BM_32_DEFAULT/15 6.38 ms 6.38 ms 97
+BM_32_DEFAULT/16 7.58 ms 7.58 ms 84
+BM_32_DEFAULT/17 6.99 ms 6.99 ms 89
+BM_32_DEFAULT/18 7.38 ms 7.37 ms 86
+BM_32_DEFAULT/19 7.99 ms 7.99 ms 77
+BM_32_DEFAULT/20 8.38 ms 8.38 ms 76
+BM_32_DEFAULT/21 8.39 ms 8.39 ms 75
+BM_32_DEFAULT/22 8.87 ms 8.87 ms 72
+BM_32_DEFAULT/23 9.24 ms 9.23 ms 69
+BM_32_DEFAULT/24 9.94 ms 9.94 ms 64
+BM_32_DEFAULT/25 10.00 ms 10.00 ms 63
+BM_32_DEFAULT/26 10.4 ms 10.4 ms 62
+BM_32_DEFAULT/27 10.8 ms 10.8 ms 59
+BM_32_DEFAULT/28 11.3 ms 11.3 ms 57
+BM_32_DEFAULT/29 11.4 ms 11.4 ms 56
+BM_32_DEFAULT/30 11.9 ms 11.9 ms 54
+BM_32_DEFAULT/31 12.2 ms 12.2 ms 53
+BM_32_DEFAULT/32 12.2 ms 12.2 ms 53
+BM_32_AVX2/1 0.796 ms 0.796 ms 866
+BM_32_AVX2/2 0.900 ms 0.900 ms 767
+BM_32_AVX2/3 0.995 ms 0.995 ms 680
+BM_32_AVX2/4 1.05 ms 1.05 ms 658
+BM_32_AVX2/5 1.64 ms 1.64 ms 423
+BM_32_AVX2/6 1.63 ms 1.63 ms 423
+BM_32_AVX2/7 2.25 ms 2.25 ms 307
+BM_32_AVX2/8 1.47 ms 1.47 ms 467
+BM_32_AVX2/9 2.92 ms 2.92 ms 237
+BM_32_AVX2/10 3.03 ms 3.03 ms 228
+BM_32_AVX2/11 3.14 ms 3.14 ms 220
+BM_32_AVX2/12 3.28 ms 3.28 ms 211
+BM_32_AVX2/13 3.30 ms 3.30 ms 210
+BM_32_AVX2/14 3.38 ms 3.38 ms 206
+BM_32_AVX2/15 6.71 ms 6.70 ms 92
+BM_32_AVX2/16 5.95 ms 5.95 ms 106
+BM_32_AVX2/17 7.34 ms 7.34 ms 86
+BM_32_AVX2/18 7.71 ms 7.71 ms 82
+BM_32_AVX2/19 8.08 ms 8.08 ms 78
+BM_32_AVX2/20 8.34 ms 8.34 ms 76
+BM_32_AVX2/21 8.76 ms 8.76 ms 71
+BM_32_AVX2/22 9.16 ms 9.16 ms 69
+BM_32_AVX2/23 9.54 ms 9.54 ms 67
+BM_32_AVX2/24 9.67 ms 9.66 ms 66
+BM_32_AVX2/25 10.3 ms 10.3 ms 62
+BM_32_AVX2/26 10.7 ms 10.7 ms 60
+BM_32_AVX2/27 11.0 ms 11.0 ms 58
+BM_32_AVX2/28 11.3 ms 11.3 ms 57
+BM_32_AVX2/29 11.6 ms 11.6 ms 55
+BM_32_AVX2/30 12.2 ms 12.2 ms 54
+BM_32_AVX2/31 11.8 ms 11.8 ms 54
+BM_32_AVX2/32 12.1 ms 12.1 ms 52
+BM_32_BMI/1 0.761 ms 0.761 ms 900
+BM_32_BMI/2 0.864 ms 0.864 ms 799
+BM_32_BMI/3 0.960 ms 0.960 ms 719
+BM_32_BMI/4 1.05 ms 1.05 ms 652
+BM_32_BMI/5 1.14 ms 1.14 ms 600
+BM_32_BMI/6 1.25 ms 1.25 ms 544
+BM_32_BMI/7 1.34 ms 1.34 ms 503
+BM_32_BMI/8 1.46 ms 1.46 ms 477
+BM_32_BMI/9 1.64 ms 1.64 ms 427
+BM_32_BMI/10 1.76 ms 1.76 ms 397
+BM_32_BMI/11 1.86 ms 1.86 ms 372
+BM_32_BMI/12 2.00 ms 2.00 ms 343
+BM_32_BMI/13 2.11 ms 2.12 ms 328
+BM_32_BMI/14 2.23 ms 2.23 ms 310
+BM_32_BMI/15 5.62 ms 5.62 ms 109
+BM_32_BMI/16 5.95 ms 5.95 ms 106
+BM_32_BMI/17 6.53 ms 6.52 ms 97
+BM_32_BMI/18 6.88 ms 6.88 ms 92
+BM_32_BMI/19 7.24 ms 7.24 ms 87
+BM_32_BMI/20 7.61 ms 7.61 ms 84
+BM_32_BMI/21 8.01 ms 8.01 ms 79
+BM_32_BMI/22 8.41 ms 8.41 ms 75
+BM_32_BMI/23 8.81 ms 8.80 ms 72
+BM_32_BMI/24 9.19 ms 9.19 ms 69
+BM_32_BMI/25 9.62 ms 9.62 ms 67
+BM_32_BMI/26 9.98 ms 9.98 ms 63
+BM_32_BMI/27 10.5 ms 10.5 ms 61
+BM_32_BMI/28 10.9 ms 10.8 ms 59
+BM_32_BMI/29 11.1 ms 11.1 ms 58
+BM_32_BMI/30 11.5 ms 11.5 ms 55
+BM_32_BMI/31 12.0 ms 12.0 ms 54
+BM_32_BMI/32 12.7 ms 12.6 ms 50
+BM_16_DEFAULT/1 1.70 ms 1.70 ms 409
+BM_16_DEFAULT/2 1.82 ms 1.82 ms 382
+BM_16_DEFAULT/3 1.83 ms 1.83 ms 379
+BM_16_DEFAULT/4 2.05 ms 2.05 ms 336
+BM_16_DEFAULT/5 1.99 ms 1.99 ms 349
+BM_16_DEFAULT/6 2.80 ms 2.80 ms 248
+BM_16_DEFAULT/7 2.14 ms 2.14 ms 321
+BM_16_DEFAULT/8 2.54 ms 2.54 ms 275
+BM_16_DEFAULT/9 2.29 ms 2.29 ms 305
+BM_16_DEFAULT/10 2.36 ms 2.36 ms 296
+BM_16_DEFAULT/11 2.44 ms 2.44 ms 278
+BM_16_DEFAULT/12 2.53 ms 2.53 ms 275
+BM_16_DEFAULT/13 2.62 ms 2.62 ms 264
+BM_16_DEFAULT/14 2.72 ms 2.72 ms 255
+BM_16_DEFAULT/15 5.86 ms 5.85 ms 104
+BM_16_DEFAULT/16 6.68 ms 6.68 ms 94
+BM_16_AVX2/1 0.519 ms 0.519 ms 1333
+BM_16_AVX2/2 0.631 ms 0.631 ms 1087
+BM_16_AVX2/3 1.13 ms 1.13 ms 611
+BM_16_AVX2/4 0.813 ms 0.813 ms 831
+BM_16_AVX2/5 1.82 ms 1.82 ms 379
+BM_16_AVX2/6 1.80 ms 1.80 ms 382
+BM_16_AVX2/7 2.46 ms 2.46 ms 282
+BM_16_AVX2/8 1.24 ms 1.24 ms 554
+BM_16_AVX2/9 3.10 ms 3.10 ms 225
+BM_16_AVX2/10 3.22 ms 3.22 ms 216
+BM_16_AVX2/11 3.33 ms 3.33 ms 209
+BM_16_AVX2/12 3.46 ms 3.46 ms 202
+BM_16_AVX2/13 3.47 ms 3.47 ms 200
+BM_16_AVX2/14 3.56 ms 3.56 ms 194
+BM_16_AVX2/15 6.69 ms 6.69 ms 91
+BM_16_AVX2/16 5.55 ms 5.55 ms 113
+BM_16_BMI/1 0.424 ms 0.424 ms 1652
+BM_16_BMI/2 0.542 ms 0.542 ms 1268
+BM_16_BMI/3 0.630 ms 0.630 ms 1097
+BM_16_BMI/4 0.745 ms 0.745 ms 924
+BM_16_BMI/5 0.844 ms 0.844 ms 815
+BM_16_BMI/6 0.944 ms 0.944 ms 729
+BM_16_BMI/7 1.05 ms 1.05 ms 657
+BM_16_BMI/8 1.13 ms 1.14 ms 602
+BM_16_BMI/9 1.32 ms 1.32 ms 526
+BM_16_BMI/10 1.43 ms 1.43 ms 480
+BM_16_BMI/11 1.54 ms 1.54 ms 448
+BM_16_BMI/12 1.65 ms 1.65 ms 419
+BM_16_BMI/13 1.77 ms 1.77 ms 392
+BM_16_BMI/14 1.88 ms 1.88 ms 369
+BM_16_BMI/15 5.03 ms 5.03 ms 119
+BM_16_BMI/16 6.04 ms 6.04 ms 108
+BM_8_DEFAULT/1 1.66 ms 1.66 ms 421
+BM_8_DEFAULT/2 1.77 ms 1.77 ms 392
+BM_8_DEFAULT/3 2.07 ms 2.07 ms 335
+BM_8_DEFAULT/4 2.00 ms 2.00 ms 346
+BM_8_DEFAULT/5 2.23 ms 2.23 ms 314
+BM_8_DEFAULT/6 2.25 ms 2.25 ms 307
+BM_8_DEFAULT/7 2.35 ms 2.35 ms 295
+BM_8_DEFAULT/8 1.70 ms 1.70 ms 403
+BM_8_AVX2/1 0.526 ms 0.526 ms 1318
+BM_8_AVX2/2 0.614 ms 0.614 ms 1143
+BM_8_AVX2/3 1.18 ms 1.18 ms 594
+BM_8_AVX2/4 0.765 ms 0.765 ms 900
+BM_8_AVX2/5 1.90 ms 1.90 ms 368
+BM_8_AVX2/6 1.87 ms 1.87 ms 369
+BM_8_AVX2/7 2.50 ms 2.50 ms 276
+BM_8_AVX2/8 1.19 ms 1.19 ms 584
+BM_8_BMI/1 0.369 ms 0.369 ms 1891
+BM_8_BMI/2 0.453 ms 0.453 ms 1508
+BM_8_BMI/3 0.540 ms 0.540 ms 1278
+BM_8_BMI/4 0.642 ms 0.642 ms 1078
+BM_8_BMI/5 0.728 ms 0.728 ms 940
+BM_8_BMI/6 0.839 ms 0.840 ms 817
+BM_8_BMI/7 0.943 ms 0.943 ms 726
+BM_8_BMI/8 1.05 ms 1.05 ms 661
+ *
+ */
diff --git a/be/src/bench/block_cache_bench.cpp b/be/src/bench/block_cache_bench.cpp
index b69cbe269681d..0021a38b3ac20 100644
--- a/be/src/bench/block_cache_bench.cpp
+++ b/be/src/bench/block_cache_bench.cpp
@@ -32,9 +32,12 @@
#include "util/logging.h"
#include "util/random.h"
#include "util/time.h"
+<<<<<<< HEAD
#ifdef WITH_CACHELIB
#include "block_cache/cachelib_wrapper.h"
#endif
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
namespace starrocks {
@@ -50,12 +53,18 @@ void delete_dir_content(const std::string& dir_path) {
}
}
+<<<<<<< HEAD
enum class CacheEngine { CACHELIB, STARCACHE };
class BlockCacheBenchSuite {
public:
struct BenchParams {
CacheEngine cache_engine;
+=======
+class BlockCacheBenchSuite {
+public:
+ struct BenchParams {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
size_t obj_count = 0;
size_t obj_key_size = 0;
size_t obj_value_size = 0;
@@ -115,6 +124,7 @@ class BlockCacheBenchSuite {
BlockCacheBenchSuite(const CacheOptions& options, const BenchParams& params) {
_params = new BlockCacheBenchSuite::BenchParams(params);
+<<<<<<< HEAD
if (params.cache_engine == CacheEngine::STARCACHE) {
_cache = new StarCacheWrapper;
#ifdef WITH_CACHELIB
@@ -125,6 +135,9 @@ class BlockCacheBenchSuite {
else {
DCHECK(false) << "Unsupported cache engine: " << params.cache_engine;
}
+=======
+ _cache = new StarCacheWrapper;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
Status st = _cache->init(options);
DCHECK(st.ok()) << st.message();
_ctx = new BenchContext();
@@ -284,6 +297,7 @@ static void do_bench_cache(benchmark::State& state, const CacheOptions& options,
}
template
+<<<<<<< HEAD
static void BM_bench_cachelib(benchmark::State& state, Args&&... args) {
auto args_tuple = std::make_tuple(std::move(args)...);
std::get<0>(args_tuple).second.cache_engine = CacheEngine::CACHELIB;
@@ -294,6 +308,10 @@ template
static void BM_bench_starcache(benchmark::State& state, Args&&... args) {
auto args_tuple = std::make_tuple(std::move(args)...);
std::get<0>(args_tuple).second.cache_engine = CacheEngine::STARCACHE;
+=======
+static void BM_bench_starcache(benchmark::State& state, Args&&... args) {
+ auto args_tuple = std::make_tuple(std::move(args)...);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
do_bench_cache(state, std::get<0>(args_tuple).first, std::get<0>(args_tuple).second);
}
@@ -391,6 +409,7 @@ BENCHMARK_CAPTURE(BM_bench_starcache, bench_read_write_remove_disk, read_write_r
// Random offset for Read+Write+Remove Disk
BENCHMARK_CAPTURE(BM_bench_starcache, bench_random_offset_read, random_offset_read_suite())->Threads(16);
+<<<<<<< HEAD
#ifdef WITH_CACHELIB
BENCHMARK_CAPTURE(BM_bench_cachelib, bench_read_mem, read_mem_suite())->Threads(16);
BENCHMARK_CAPTURE(BM_bench_cachelib, bench_read_disk, read_disk_suite())->Threads(16);
@@ -398,6 +417,8 @@ BENCHMARK_CAPTURE(BM_bench_cachelib, bench_read_write_remove_disk, read_write_re
BENCHMARK_CAPTURE(BM_bench_cachelib, bench_random_offset_read, random_offset_read_suite())->Threads(16);
#endif
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
} // namespace starrocks
//BENCHMARK_MAIN();
diff --git a/be/src/bench/chunks_sorter_bench.cpp b/be/src/bench/chunks_sorter_bench.cpp
index 1819e3540199e..f3a233399c48d 100644
--- a/be/src/bench/chunks_sorter_bench.cpp
+++ b/be/src/bench/chunks_sorter_bench.cpp
@@ -277,14 +277,22 @@ static void do_bench(benchmark::State& state, SortAlgorithm sorter_algo, Logical
// TopN Sorter needs timing when updating
iteration_data_size += ck->bytes_usage();
state.ResumeTiming();
+<<<<<<< HEAD
sorter->update(runtime_state, ck);
+=======
+ ASSERT_TRUE(sorter->update(runtime_state, ck).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
state.PauseTiming();
mem_usage = std::max(mem_usage, sorter->mem_usage());
}
data_size = std::max(data_size, iteration_data_size);
state.ResumeTiming();
+<<<<<<< HEAD
sorter->done(suite._runtime_state.get());
+=======
+ ASSERT_TRUE(sorter->done(suite._runtime_state.get()).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
item_processed += total_rows;
state.PauseTiming();
mem_usage = std::max(mem_usage, sorter->mem_usage());
@@ -293,13 +301,21 @@ static void do_bench(benchmark::State& state, SortAlgorithm sorter_algo, Logical
size_t actual_rows = 0;
while (!eos) {
ChunkPtr page;
+<<<<<<< HEAD
sorter->get_next(&page, &eos);
+=======
+ ASSERT_TRUE(sorter->get_next(&page, &eos).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (eos) break;
actual_rows += page->num_rows();
}
ASSERT_TRUE(eos);
ASSERT_EQ(expected_rows, actual_rows);
+<<<<<<< HEAD
sorter->done(suite._runtime_state.get());
+=======
+ ASSERT_TRUE(sorter->done(suite._runtime_state.get()).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
state.counters["rows_sorted"] += item_processed;
state.counters["data_size"] += data_size;
@@ -438,7 +454,11 @@ static void do_merge_columnwise(benchmark::State& state, int num_runs, bool null
}
}
SortedRuns merged;
+<<<<<<< HEAD
merge_sorted_chunks(sort_desc, &sort_exprs, inputs, &merged);
+=======
+ ASSERT_TRUE(merge_sorted_chunks(sort_desc, &sort_exprs, inputs, &merged).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
ASSERT_EQ(input_rows, merged.num_rows());
num_rows += merged.num_rows();
diff --git a/be/src/bench/csv_reader_bench.cpp b/be/src/bench/csv_reader_bench.cpp
index 0ca208b3e759c..8019fcdbd8856 100644
--- a/be/src/bench/csv_reader_bench.cpp
+++ b/be/src/bench/csv_reader_bench.cpp
@@ -25,6 +25,14 @@ class BenchCSVReader : public CSVReader {
Status _fill_buffer() override;
+<<<<<<< HEAD
+=======
+ char* _find_line_delimiter(CSVBuffer& buffer, size_t pos) override {
+ // Intend no implementation just for compiling
+ return nullptr;
+ }
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
private:
std::shared_ptr _file;
};
diff --git a/be/src/bench/get_dict_codes_bench.cpp b/be/src/bench/get_dict_codes_bench.cpp
index 7e175000d035b..676d5793c2676 100644
--- a/be/src/bench/get_dict_codes_bench.cpp
+++ b/be/src/bench/get_dict_codes_bench.cpp
@@ -58,7 +58,11 @@ static void BM_GetDictCodesWithMap(benchmark::State& state) {
std::uniform_int_distribution dist(0, 999);
ColumnPtr column = ColumnHelper::create_column(TypeDescriptor{TYPE_VARCHAR}, true);
+<<<<<<< HEAD
column->append_strings_overflow(dict_values, kDictLength);
+=======
+ (void)column->append_strings_overflow(dict_values, kDictLength);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
column->append_default();
for (int i = 0; i < kDictSize + 1; i++) {
int random_number = dist(rng);
diff --git a/be/src/bench/mem_equal_bench.cpp b/be/src/bench/mem_equal_bench.cpp
new file mode 100644
index 0000000000000..956a0253a2ef4
--- /dev/null
+++ b/be/src/bench/mem_equal_bench.cpp
@@ -0,0 +1,145 @@
+// Copyright 2021-present StarRocks, Inc. All rights reserved.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// https://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+#include
+#include
+#include
+
+#include
+#include
+#include
+#include
+
+#include "column/column_hash.h"
+#include "exprs/string_functions.h"
+#include "util/memcmp.h"
+
+namespace starrocks {
+
+static std::string kAlphaNumber =
+ "0123456789"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
+ "abcdefghijklmnopqrstuvwxyz";
+
+static size_t ROUND_NUM = 1000;
+
+static size_t PADDED_BYTES = 15;
+
+template
+static void do_MemEqual(benchmark::State& state) {
+ std::random_device rd;
+ std::mt19937 rng(rd());
+ std::uniform_int_distribution beginning_gen(0, 40);
+ std::uniform_int_distribution length_gen(1, 16);
+
+ std::vector beginnings;
+ std::vector lengths;
+
+ for (size_t i = 0; i < ROUND_NUM; i++) {
+ beginnings.emplace_back(beginning_gen(rng));
+ lengths.emplace_back(length_gen(rng));
+ }
+
+ auto sum = std::accumulate(lengths.begin(), lengths.end(), 0);
+ std::vector buffer_0(sum + PADDED_BYTES);
+ std::vector buffer_1(sum + PADDED_BYTES);
+
+ auto acc_begin = 0;
+ for (size_t i = 0; i < ROUND_NUM; i++) {
+ memcpy(buffer_0.data() + acc_begin, kAlphaNumber.data() + beginnings[i], lengths[i]);
+ memcpy(buffer_1.data() + acc_begin, kAlphaNumber.data() + beginnings[i], lengths[i]);
+ if constexpr (!equal) {
+ std::uniform_int_distribution index_gen(0, lengths[i] - 1);
+ auto index = index_gen(rng);
+ buffer_1[acc_begin + index] = 'z';
+ }
+ beginnings[i] = acc_begin;
+ acc_begin += lengths[i];
+ }
+
+ for (auto _ : state) {
+ state.ResumeTiming();
+ bool and_res = true;
+ bool or_res = false;
+ bool res = false;
+ for (size_t i = 0; i < ROUND_NUM; i++) {
+ if constexpr (padded) {
+ res = memequal_padded(buffer_0.data() + beginnings[i], lengths[i], buffer_1.data() + beginnings[i],
+ lengths[i]);
+ } else {
+ res = memequal(buffer_0.data() + beginnings[i], lengths[i], buffer_1.data() + beginnings[i],
+ lengths[i]);
+ }
+ and_res &= res;
+ or_res |= res;
+ }
+ state.PauseTiming();
+ if constexpr (equal) {
+ ASSERT_TRUE(and_res);
+ } else {
+ ASSERT_FALSE(or_res);
+ }
+ }
+}
+
+static void process_args(benchmark::internal::Benchmark* b) {
+ b->Iterations(100000);
+}
+
+static void BM_memequal_padded_equal(benchmark::State& state) {
+ do_MemEqual(state);
+}
+
+static void BM_memequal_padded_notequal(benchmark::State& state) {
+ do_MemEqual(state);
+}
+
+static void BM_memequal_no_padded_equal(benchmark::State& state) {
+ do_MemEqual(state);
+}
+
+static void BM_memequal_no_padded_notequal(benchmark::State& state) {
+ do_MemEqual(state);
+}
+
+BENCHMARK(BM_memequal_padded_equal)->Apply(process_args);
+BENCHMARK(BM_memequal_padded_notequal)->Apply(process_args);
+BENCHMARK(BM_memequal_no_padded_equal)->Apply(process_args);
+BENCHMARK(BM_memequal_no_padded_notequal)->Apply(process_args);
+
+/*
+-------------------------------------------------------------------------------------------
+Benchmark Time CPU Iterations
+-------------------------------------------------------------------------------------------
+BM_memequal_padded_equal/iterations:100000 1807 ns 1813 ns 100000
+BM_memequal_padded_notequal/iterations:100000 2547 ns 2552 ns 100000
+BM_memequal_no_padded_equal/iterations:100000 8560 ns 8575 ns 100000
+BM_memequal_no_padded_notequal/iterations:100000 8272 ns 8286 ns 100000
+*/
+
+/* if we fix the string's length as 8, the result is as below,
+ * it makes sense that memequal_no_padded compare uint64 and
+ * memequal compare __m128i
+-------------------------------------------------------------------------------------------
+Benchmark Time CPU Iterations
+-------------------------------------------------------------------------------------------
+BM_memequal_padded_equal/iterations:100000 2456 ns 2463 ns 100000
+BM_memequal_padded_notequal/iterations:100000 2495 ns 2502 ns 100000
+BM_memequal_no_padded_equal/iterations:100000 2107 ns 2114 ns 100000
+BM_memequal_no_padded_notequal/iterations:100000 2110 ns 2117 ns 100000
+ */
+
+} // namespace starrocks
+
+BENCHMARK_MAIN();
\ No newline at end of file
diff --git a/be/src/bench/orc_column_reader_bench.cpp b/be/src/bench/orc_column_reader_bench.cpp
index ae51870d0732d..0e20a9fb50262 100644
--- a/be/src/bench/orc_column_reader_bench.cpp
+++ b/be/src/bench/orc_column_reader_bench.cpp
@@ -261,7 +261,11 @@ static void BM_primitive(benchmark::State& state) {
size_t totalNumRows = 0;
while (rr->next(*batch, &pos)) {
ColumnPtr column = ColumnHelper::create_column(c0Type, isNullable);
+<<<<<<< HEAD
orcColumnReader->get_next(c0, column, 0, columnSize);
+=======
+ CHECK(orcColumnReader->get_next(c0, column, 0, columnSize).ok());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DCHECK_EQ(columnSize, column->size());
totalNumRows += columnSize;
}
@@ -354,4 +358,8 @@ BENCHMARK_TEMPLATE(BM_primitive, NON_NULLABLE, LogicalType::TYPE_DATETIME)
} // namespace starrocks
-BENCHMARK_MAIN();
\ No newline at end of file
+<<<<<<< HEAD
+BENCHMARK_MAIN();
+=======
+BENCHMARK_MAIN();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/src/bench/parquet_dict_decode_bench.cpp b/be/src/bench/parquet_dict_decode_bench.cpp
index e7aca5ad5063d..8f9a763651ad3 100644
--- a/be/src/bench/parquet_dict_decode_bench.cpp
+++ b/be/src/bench/parquet_dict_decode_bench.cpp
@@ -41,17 +41,30 @@ static void BM_DictDecoder(benchmark::State& state) {
for (int i = 0; i < kDictSize; i++) {
dict_values.emplace_back(Slice(kAlphaNumber.data() + i, kDictLength));
}
+<<<<<<< HEAD
encoder.append((const uint8_t*)dict_values.data(), kDictSize);
+=======
+ (void)encoder.append((const uint8_t*)dict_values.data(), kDictSize);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
Slice data = encoder.build();
// create decoder
PlainDecoder decoder;
+<<<<<<< HEAD
decoder.set_data(data);
dict_decoder.set_dict(kTestChunkSize, kDictSize, &decoder);
if (debug) {
ColumnPtr column = ColumnHelper::create_column(TypeDescriptor{TYPE_VARCHAR}, true);
dict_decoder.get_dict_values(column.get());
+=======
+ (void)decoder.set_data(data);
+ (void)dict_decoder.set_dict(kTestChunkSize, kDictSize, &decoder);
+
+ if (debug) {
+ ColumnPtr column = ColumnHelper::create_column(TypeDescriptor{TYPE_VARCHAR}, true);
+ (void)dict_decoder.get_dict_values(column.get());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
std::cout << column->debug_string() << "\n";
}
}
diff --git a/be/src/bench/persistent_index_bench.cpp b/be/src/bench/persistent_index_bench.cpp
index 538b4fbb5bfd4..4938171f8d188 100644
--- a/be/src/bench/persistent_index_bench.cpp
+++ b/be/src/bench/persistent_index_bench.cpp
@@ -81,7 +81,11 @@ class PersistentIndexBenchTest {
_index = std::make_unique(_index_dir);
}
+<<<<<<< HEAD
~PersistentIndexBenchTest() { fs::remove_all(_index_dir); }
+=======
+ ~PersistentIndexBenchTest() { (void)fs::remove_all(_index_dir); }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
void do_bench(benchmark::State& state);
void do_verify();
@@ -144,11 +148,19 @@ void PersistentIndexBenchTest::do_bench(benchmark::State& state) {
ASSERT_CHECK(_index->commit(&_index_meta, &stat));
uint64_t tail = watch.elapsed_time();
ASSERT_CHECK(_index->on_commited());
+<<<<<<< HEAD
+=======
+ /* `_index->get_write_amp_score` interface is removed
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (config::enable_pindex_minor_compaction) {
if (_index->get_write_amp_score() > 0.0) {
ASSERT_CHECK(_index->TEST_major_compaction(_index_meta));
}
}
+<<<<<<< HEAD
+=======
+ */
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (stat.compaction_cost > 0) {
LOG(INFO) << stat.print_str();
}
@@ -193,4 +205,8 @@ BENCHMARK(bench_func)->Apply(process_args);
} // namespace starrocks
-BENCHMARK_MAIN();
\ No newline at end of file
+<<<<<<< HEAD
+BENCHMARK_MAIN();
+=======
+BENCHMARK_MAIN();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/src/bench/runtime_filter_bench.cpp b/be/src/bench/runtime_filter_bench.cpp
index 2f3e950eed754..825b4b4758dcf 100644
--- a/be/src/bench/runtime_filter_bench.cpp
+++ b/be/src/bench/runtime_filter_bench.cpp
@@ -77,7 +77,11 @@ static void do_benchmark_hash_partitioned(benchmark::State& state, TRuntimeFilte
for (auto j = 0; j < num_rows; ++j) {
auto ele = column->get(j).get_int32();
auto pp = hash_values[j] + (i * num_partitions);
+<<<<<<< HEAD
bfs[pp].insert(&ele);
+=======
+ bfs[pp].insert(ele);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
for (auto p = 0; p < num_partitions; ++p) {
@@ -89,10 +93,20 @@ static void do_benchmark_hash_partitioned(benchmark::State& state, TRuntimeFilte
}
// compute hash
{
+<<<<<<< HEAD
int64_t t0 = MonotonicMillis();
auto& grf = gfs[0];
grf.set_join_mode(join_mode);
grf.compute_hash(column_ptrs, &running_ctx);
+=======
+ RuntimeFilterLayout layout;
+ layout.init(1, {});
+
+ int64_t t0 = MonotonicMillis();
+ auto& grf = gfs[0];
+ grf.set_join_mode(join_mode);
+ grf.compute_partition_index(layout, column_ptrs, &running_ctx);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
int64_t t1 = MonotonicMillis();
state.counters["compute_hash_time(ms)"] = t1 - t0;
// auto& ctx_hash_values = running_ctx.hash_values;
diff --git a/be/src/bench/shuffle_chunk_bench.cpp b/be/src/bench/shuffle_chunk_bench.cpp
index d27019b979cf1..5db06defdf039 100644
--- a/be/src/bench/shuffle_chunk_bench.cpp
+++ b/be/src/bench/shuffle_chunk_bench.cpp
@@ -16,6 +16,7 @@
#include
#include
+<<<<<<< HEAD
#include "column/chunk.h"
#include "column/column_helper.h"
@@ -24,6 +25,16 @@
#include "runtime/chunk_cursor.h"
#include "runtime/runtime_state.h"
#include "runtime/types.h"
+=======
+#include
+
+#include "column/chunk.h"
+#include "column/column_helper.h"
+#include "column/vectorized_fwd.h"
+#include "runtime/types.h"
+#include "storage/chunk_helper.h"
+#include "types/logical_type.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
namespace starrocks {
@@ -196,6 +207,184 @@ static void bench_func(benchmark::State& state) {
perf.do_bench(state);
}
+<<<<<<< HEAD
+=======
+// Benchmark SegmentedColumn::clone_selective && Chunk::append_selective function
+class SegmentedChunkPerf {
+public:
+ SegmentedChunkPerf() = default;
+
+ void prepare_bench_segmented_chunk_clone(benchmark::State& state) {
+ // std::cerr << "chunk_size: " << _dest_chunk_size << std::endl;
+ // std::cerr << "segment_size: " << _segment_size << std::endl;
+ // std::cerr << "segmented_chunk_size: " << _segment_chunk_size << std::endl;
+ SegmentedChunkPtr seg_chunk = prepare_chunk();
+ CHECK_EQ(seg_chunk->num_rows(), _segment_chunk_size);
+
+ // random select
+ random_select(select, _dest_chunk_size, seg_chunk->num_rows());
+ }
+
+ void prepare_bench_chunk_clone(benchmark::State& state) {
+ ChunkPtr chunk = build_chunk(_segment_size);
+ CHECK_EQ(chunk->num_rows(), _segment_size);
+ random_select(select, _dest_chunk_size, chunk->num_rows());
+ }
+
+ void prepare(benchmark::State& state) {
+ state.PauseTiming();
+
+ _column_count = state.range(0);
+ _data_type = state.range(1);
+ _num_segments = state.range(2);
+ _types.clear();
+
+ prepare_bench_chunk_clone(state);
+ prepare_bench_segmented_chunk_clone(state);
+
+ state.ResumeTiming();
+ }
+
+ void do_bench_segmented_chunk_clone(benchmark::State& state) {
+ SegmentedChunkPtr seg_chunk = prepare_chunk();
+ // clone_selective
+ size_t items = 0;
+ for (auto _ : state) {
+ for (auto& column : seg_chunk->columns()) {
+ auto cloned = column->clone_selective(select.data(), 0, select.size());
+ }
+ items += select.size();
+ }
+ state.SetItemsProcessed(items);
+ }
+
+ void do_bench_chunk_clone(benchmark::State& state) {
+ ChunkPtr chunk = prepare_big_chunk();
+ size_t items = 0;
+ for (auto _ : state) {
+ ChunkPtr empty = chunk->clone_empty();
+ empty->append_selective(*chunk, select.data(), 0, select.size());
+ items += select.size();
+ }
+ state.SetItemsProcessed(items);
+ }
+
+ ChunkPtr prepare_big_chunk() {
+ if (_big_chunk) {
+ return _big_chunk;
+ }
+ _big_chunk = build_chunk(_segment_chunk_size);
+ return _big_chunk;
+ }
+
+ SegmentedChunkPtr prepare_chunk() {
+ if (_seg_chunk) {
+ return _seg_chunk;
+ }
+ ChunkPtr chunk = build_chunk(_dest_chunk_size);
+
+ for (int i = 0; i < (_segment_chunk_size / _dest_chunk_size); i++) {
+ if (!_seg_chunk) {
+ _seg_chunk = SegmentedChunk::create(_segment_size);
+ ChunkPtr chunk = build_chunk(_dest_chunk_size);
+ auto map = chunk->get_slot_id_to_index_map();
+ for (auto entry : map) {
+ _seg_chunk->append_column(chunk->get_column_by_slot_id(entry.first), entry.first);
+ }
+ _seg_chunk->build_columns();
+ } else {
+ // std::cerr << " append " << chunk->num_rows() << "rows, become " << _seg_chunk->num_rows() << std::endl;
+ _seg_chunk->append_chunk(chunk);
+ }
+ }
+ return _seg_chunk;
+ }
+
+ void random_select(std::vector& select, size_t count, size_t range) {
+ select.resize(count);
+ std::random_device rd;
+ std::mt19937 gen(rd());
+ std::uniform_int_distribution<> dis(0, range - 1);
+ std::generate(select.begin(), select.end(), [&]() { return dis(gen); });
+ }
+
+ ChunkPtr build_chunk(size_t chunk_size) {
+ if (_types.empty()) {
+ for (int i = 0; i < _column_count; i++) {
+ if (_data_type == 0) {
+ _types.emplace_back(TypeDescriptor::create_varchar_type(128));
+ } else if (_data_type == 1) {
+ _types.emplace_back(LogicalType::TYPE_INT);
+ } else {
+ CHECK(false) << "data type not supported: " << _data_type;
+ }
+ }
+ }
+
+ auto chunk = std::make_unique();
+ for (int i = 0; i < _column_count; i++) {
+ auto col = init_dest_column(_types[i], chunk_size);
+ chunk->append_column(col, i);
+ }
+ return chunk;
+ }
+
+ ColumnPtr init_dest_column(const TypeDescriptor& type, size_t chunk_size) {
+ auto c1 = ColumnHelper::create_column(type, true);
+ c1->reserve(chunk_size);
+ for (int i = 0; i < chunk_size; i++) {
+ if (type.is_string_type()) {
+ std::string str = fmt::format("str{}", i);
+ c1->append_datum(Slice(str));
+ } else if (type.is_integer_type()) {
+ c1->append_datum(i);
+ } else {
+ CHECK(false) << "data type not supported";
+ }
+ }
+ return c1;
+ }
+
+private:
+ int _column_count = 4;
+ int _data_type = 0;
+ size_t _dest_chunk_size = 4096;
+ size_t _segment_size = 65536;
+ size_t _num_segments = 10;
+ size_t _segment_chunk_size = _segment_size * _num_segments;
+
+ SegmentedChunkPtr _seg_chunk;
+ ChunkPtr _big_chunk;
+ std::vector select;
+ std::vector _types;
+};
+
+static void BenchSegmentedChunkClone(benchmark::State& state) {
+ google::InstallFailureSignalHandler();
+ auto perf = std::make_unique();
+ perf->prepare(state);
+ perf->do_bench_segmented_chunk_clone(state);
+}
+
+static void BenchChunkClone(benchmark::State& state) {
+ google::InstallFailureSignalHandler();
+ auto perf = std::make_unique();
+ perf->prepare(state);
+ perf->do_bench_chunk_clone(state);
+}
+
+static std::vector> chunk_clone_args() {
+ return {
+ {1, 2, 3, 4}, // num columns
+ {0, 1}, // data type
+ {1, 4, 16, 64} // num_segments
+ };
+}
+
+BENCHMARK(BenchSegmentedChunkClone)->ArgsProduct(chunk_clone_args());
+BENCHMARK(BenchChunkClone)->ArgsProduct(chunk_clone_args());
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
static void process_args(benchmark::internal::Benchmark* b) {
// chunk_count, column_count, node_count, src_chunk_size, null percent
b->Args({400, 400, 140, 4096, 80});
diff --git a/be/src/block_cache/CMakeLists.txt b/be/src/block_cache/CMakeLists.txt
index 4590f13b1f342..7ee22916a9752 100644
--- a/be/src/block_cache/CMakeLists.txt
+++ b/be/src/block_cache/CMakeLists.txt
@@ -27,10 +27,13 @@ set(CACHE_FILES
block_cache_hit_rate_counter.hpp
)
+<<<<<<< HEAD
if (${WITH_CACHELIB} STREQUAL "ON")
list(APPEND CACHE_FILES cachelib_wrapper.cpp)
endif()
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (${WITH_STARCACHE} STREQUAL "ON")
list(APPEND CACHE_FILES starcache_wrapper.cpp)
endif()
@@ -38,6 +41,7 @@ endif()
add_library(BlockCache STATIC
${CACHE_FILES}
)
+<<<<<<< HEAD
if (${WITH_CACHELIB} STREQUAL "ON")
set(CACHELIB_DIR ${THIRDPARTY_DIR}/cachelib)
@@ -47,3 +51,5 @@ if (${WITH_CACHELIB} STREQUAL "ON")
include_directories(AFTER ${CACHELIB_DIR}/deps/include)
endif()
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/src/block_cache/block_cache.cpp b/be/src/block_cache/block_cache.cpp
index 03aa089b72bb4..b09220a110f37 100644
--- a/be/src/block_cache/block_cache.cpp
+++ b/be/src/block_cache/block_cache.cpp
@@ -16,6 +16,7 @@
#include
+<<<<<<< HEAD
#include
#ifdef WITH_CACHELIB
@@ -26,6 +27,11 @@
#endif
#include "common/config.h"
#include "common/logging.h"
+=======
+#ifdef WITH_STARCACHE
+#include "block_cache/starcache_wrapper.h"
+#endif
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "common/statusor.h"
#include "gutil/strings/substitute.h"
@@ -33,8 +39,11 @@ namespace starrocks {
namespace fs = std::filesystem;
+<<<<<<< HEAD
// The cachelib doesn't support a item (key+valueu+attribute) larger than 4 MB without chain.
// So, we check and limit the block_size configured by users to avoid unexpected errors.
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
// For starcache, in theory we doesn't have a hard limitation for block size, but a very large
// block_size may cause heavy read amplification. So, we also limit it to 2 MB as an empirical value.
const size_t BlockCache::MAX_BLOCK_SIZE = 2 * 1024 * 1024;
@@ -51,12 +60,15 @@ BlockCache::~BlockCache() {
Status BlockCache::init(const CacheOptions& options) {
_block_size = std::min(options.block_size, MAX_BLOCK_SIZE);
auto cache_options = options;
+<<<<<<< HEAD
#ifdef WITH_CACHELIB
if (cache_options.engine == "cachelib") {
_kv_cache = std::make_unique();
LOG(INFO) << "init cachelib engine, block_size: " << _block_size;
}
#endif
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#ifdef WITH_STARCACHE
if (cache_options.engine == "starcache") {
_kv_cache = std::make_unique();
@@ -208,6 +220,17 @@ Status BlockCache::shutdown() {
return st;
}
+<<<<<<< HEAD
+=======
+void BlockCache::disk_spaces(std::vector* spaces) {
+ spaces->clear();
+ auto metrics = _kv_cache->cache_metrics(0);
+ for (auto& dir : metrics.disk_dir_spaces) {
+ spaces->push_back({.path = dir.path, .size = dir.quota_bytes});
+ }
+}
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DataCacheEngineType BlockCache::engine_type() {
return _kv_cache->engine_type();
}
diff --git a/be/src/block_cache/block_cache.h b/be/src/block_cache/block_cache.h
index 6c715263a6f2c..0f490f23e94fd 100644
--- a/be/src/block_cache/block_cache.h
+++ b/be/src/block_cache/block_cache.h
@@ -92,8 +92,17 @@ class BlockCache {
bool available() const { return is_initialized() && (has_mem_cache() || has_disk_cache()); }
+<<<<<<< HEAD
DataCacheEngineType engine_type();
+=======
+ void disk_spaces(std::vector* spaces);
+
+ DataCacheEngineType engine_type();
+
+ std::shared_ptr starcache_instance() { return _kv_cache->starcache_instance(); }
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
static const size_t MAX_BLOCK_SIZE;
private:
@@ -103,8 +112,14 @@ class BlockCache {
void _refresh_quota();
size_t _block_size = 0;
+<<<<<<< HEAD
std::unique_ptr _kv_cache;
std::unique_ptr _disk_space_monitor;
+=======
+ std::shared_ptr _kv_cache;
+ std::unique_ptr _disk_space_monitor;
+ std::vector _disk_paths;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
std::atomic _initialized = false;
std::atomic _mem_quota = 0;
std::atomic _disk_quota = 0;
diff --git a/be/src/block_cache/cache_options.h b/be/src/block_cache/cache_options.h
index 873b5dc1c1c1a..493eec94bf87c 100644
--- a/be/src/block_cache/cache_options.h
+++ b/be/src/block_cache/cache_options.h
@@ -52,11 +52,20 @@ struct CacheOptions {
bool enable_checksum = false;
bool enable_direct_io = false;
bool enable_tiered_cache = true;
+<<<<<<< HEAD
+=======
+ bool enable_datacache_persistence = false;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
std::string engine;
size_t max_concurrent_inserts = 0;
size_t max_flying_memory_mb = 0;
double scheduler_threads_per_cpu = 0;
double skip_read_factor = 0;
+<<<<<<< HEAD
+=======
+ uint32_t inline_item_count_limit = 0;
+ std::string eviction_policy;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
};
struct WriteCacheOptions {
@@ -76,6 +85,16 @@ struct WriteCacheOptions {
// It is expressed as a percentage. If evict_probability is 10, it means the probability to evict other data is 10%.
int32_t evict_probability = 100;
+<<<<<<< HEAD
+=======
+ // The base frequency for target cache.
+ // When using multiple segment lru, a higher frequency may cause the cache is written to warm segment directly.
+ // For the default cache options, that `lru_segment_freq_bits` is 0:
+ // * The default `frequency=0` indicates the cache will be written to cold segment.
+ // * A frequency value greater than 0 indicates writing this cache directly to the warm segment.
+ int8_t frequency = 0;
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
struct Stats {
int64_t write_mem_bytes = 0;
int64_t write_disk_bytes = 0;
diff --git a/be/src/block_cache/datacache_utils.cpp b/be/src/block_cache/datacache_utils.cpp
index 8a5c29688b32c..7af3c01c8df7c 100644
--- a/be/src/block_cache/datacache_utils.cpp
+++ b/be/src/block_cache/datacache_utils.cpp
@@ -20,6 +20,10 @@
#include "fs/fs.h"
#include "gutil/strings/split.h"
+<<<<<<< HEAD
+=======
+#include "util/disk_info.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "util/parse_util.h"
namespace starrocks {
@@ -156,4 +160,30 @@ void DataCacheUtils::clean_residual_datacache(const std::string& disk_path) {
LOG_IF(WARNING, !st.ok()) << "fail to clean residual datacache data, reason: " << st.message();
}
+<<<<<<< HEAD
+=======
+Status DataCacheUtils::change_disk_path(const std::string& old_disk_path, const std::string& new_disk_path) {
+ std::filesystem::path old_path(old_disk_path);
+ std::filesystem::path new_path(new_disk_path);
+ if (std::filesystem::exists(old_path)) {
+ if (DiskInfo::disk_id(old_path.c_str()) != DiskInfo::disk_id(new_path.c_str())) {
+ LOG(ERROR) << "fail to rename the old dataache directory [" << old_path.string() << "] to the new one ["
+ << new_path.string() << "] because they are located on different disks.";
+ return Status::InternalError("The old datacache directory is different from the new one");
+ }
+ std::error_code ec;
+ std::filesystem::remove_all(new_path, ec);
+ if (!ec) {
+ std::filesystem::rename(old_path, new_path, ec);
+ }
+ if (ec) {
+ LOG(ERROR) << "fail to rename the old dataache directory [" << old_path.string() << "] to the new one ["
+ << new_path.string() << "], reason: " << ec.message();
+ return Status::InternalError("fail to handle the old starlet_cache data");
+ }
+ }
+ return Status::OK();
+}
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
} // namespace starrocks
diff --git a/be/src/block_cache/datacache_utils.h b/be/src/block_cache/datacache_utils.h
index 37ff3cadb4ce3..68a5b8759b04a 100644
--- a/be/src/block_cache/datacache_utils.h
+++ b/be/src/block_cache/datacache_utils.h
@@ -37,6 +37,14 @@ class DataCacheUtils {
std::vector* disk_spaces);
static void clean_residual_datacache(const std::string& disk_path);
+<<<<<<< HEAD
};
-} // namespace starrocks
\ No newline at end of file
+} // namespace starrocks
+=======
+
+ static Status change_disk_path(const std::string& old_disk_path, const std::string& new_disk_path);
+};
+
+} // namespace starrocks
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
diff --git a/be/src/block_cache/disk_space_monitor.cpp b/be/src/block_cache/disk_space_monitor.cpp
index 3a6c647f8373e..c25615daa1b83 100644
--- a/be/src/block_cache/disk_space_monitor.cpp
+++ b/be/src/block_cache/disk_space_monitor.cpp
@@ -253,14 +253,26 @@ bool DiskSpaceMonitor::_adjust_spaces_by_disk_usage(bool immediate) {
// If the current available disk space is too small, cache quota will be reset to zero to avoid overly frequent
// population and eviction.
_reset_spaces();
+<<<<<<< HEAD
total_cache_quota = 0;
if (_total_cache_quota == 0) {
// If the cache quata is already zero, skip adjusting it repeatedly.
+=======
+ if (_total_cache_quota == 0) {
+ // If the cache quata is already zero, skip adjusting it repeatedly.
+ VLOG(1) << "Skip updating the cache quota because the target quota is less than "
+ << "`datacache_min_disk_quota_for_adjustment`, target cache quota: " << total_cache_quota;
+ total_cache_quota = 0;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return false;
} else {
// This warning log only be printed when the cache disk quota is adjust from a non-zero integer to zero.
LOG(WARNING) << "The current available disk space is too small, so disable the disk cache directly. If you "
<< "still need it, you could reduce the value of `datacache_min_disk_quota_for_adjustment`";
+<<<<<<< HEAD
+=======
+ total_cache_quota = 0;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
}
LOG(INFO) << "Adjusting datacache disk quota from " << _total_cache_quota << " to " << total_cache_quota;
diff --git a/be/src/block_cache/kv_cache.h b/be/src/block_cache/kv_cache.h
index 4bfa306c24953..0a494f8189fc5 100644
--- a/be/src/block_cache/kv_cache.h
+++ b/be/src/block_cache/kv_cache.h
@@ -39,9 +39,13 @@ using DataCacheMetrics = DummyCacheMetrics;
using DataCacheStatus = DummyCacheStatus;
#endif
+<<<<<<< HEAD
enum class DataCacheEngine { STARCACHE, CACHELIB };
enum class DataCacheEngineType { STARCACHE, CACHELIB };
+=======
+enum class DataCacheEngineType { STARCACHE };
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
class KvCache {
public:
@@ -83,6 +87,11 @@ class KvCache {
virtual Status shutdown() = 0;
virtual DataCacheEngineType engine_type() = 0;
+<<<<<<< HEAD
+=======
+
+ virtual std::shared_ptr starcache_instance() = 0;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
};
} // namespace starrocks
diff --git a/be/src/block_cache/starcache_wrapper.cpp b/be/src/block_cache/starcache_wrapper.cpp
index 2826c2f962838..2d887bd6db948 100644
--- a/be/src/block_cache/starcache_wrapper.cpp
+++ b/be/src/block_cache/starcache_wrapper.cpp
@@ -36,10 +36,31 @@ Status StarCacheWrapper::init(const CacheOptions& options) {
opt.enable_os_page_cache = !options.enable_direct_io;
opt.scheduler_thread_ratio_per_cpu = options.scheduler_threads_per_cpu;
opt.max_flying_memory_mb = options.max_flying_memory_mb;
+<<<<<<< HEAD
_cache_adaptor.reset(starcache::create_default_adaptor(options.skip_read_factor));
opt.cache_adaptor = _cache_adaptor.get();
opt.instance_name = "dla_cache";
_enable_tiered_cache = options.enable_tiered_cache;
+=======
+ opt.inline_cache_count_limit = options.inline_item_count_limit;
+ opt.alloc_mem_threshold = 100;
+ opt.evict_touch_mem_probalility = 10;
+ opt.evict_touch_disk_probalility = 10;
+ _cache_adaptor.reset(starcache::create_default_adaptor(options.skip_read_factor));
+ opt.cache_adaptor = _cache_adaptor.get();
+ if (options.enable_datacache_persistence) {
+ opt.durability_type = starcache::DurabilityType::ROCKSDB;
+ }
+ opt.instance_name = "default_cache";
+
+ if (options.eviction_policy == "slru") {
+ opt.lru_segment_ratios = {35, 65};
+ }
+ opt.lru_segment_freq_bits = 0;
+
+ _enable_tiered_cache = options.enable_tiered_cache;
+ _enable_datacache_persistence = options.enable_datacache_persistence;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
_cache = std::make_unique();
return to_status(_cache->init(opt));
}
@@ -56,8 +77,16 @@ Status StarCacheWrapper::write_buffer(const std::string& key, const IOBuffer& bu
opts.async = options->async;
opts.keep_alive = options->allow_zero_copy;
opts.callback = options->callback;
+<<<<<<< HEAD
opts.mode = _enable_tiered_cache ? starcache::WriteOptions::WriteMode::WRITE_BACK
: starcache::WriteOptions::WriteMode::WRITE_THROUGH;
+=======
+ if (!_enable_datacache_persistence && _enable_tiered_cache) {
+ opts.mode = starcache::WriteOptions::WriteMode::WRITE_BACK;
+ } else {
+ opts.mode = starcache::WriteOptions::WriteMode::WRITE_THROUGH;
+ }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
opts.evict_probability = options->evict_probability;
Status st;
{
diff --git a/be/src/block_cache/starcache_wrapper.h b/be/src/block_cache/starcache_wrapper.h
index f9714a103970b..db29d4dd276af 100644
--- a/be/src/block_cache/starcache_wrapper.h
+++ b/be/src/block_cache/starcache_wrapper.h
@@ -56,10 +56,20 @@ class StarCacheWrapper : public KvCache {
DataCacheEngineType engine_type() override { return DataCacheEngineType::STARCACHE; }
+<<<<<<< HEAD
private:
std::unique_ptr _cache;
std::unique_ptr _cache_adaptor;
bool _enable_tiered_cache = false;
+=======
+ std::shared_ptr starcache_instance() override { return _cache; }
+
+private:
+ std::shared_ptr _cache;
+ std::unique_ptr _cache_adaptor;
+ bool _enable_tiered_cache = false;
+ bool _enable_datacache_persistence = false;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
};
// In order to split the starcache library to a separate registry for other users such as the cloud team,
diff --git a/be/src/column/adaptive_nullable_column.cpp b/be/src/column/adaptive_nullable_column.cpp
index 37e229c145d28..38c81a1f6709c 100644
--- a/be/src/column/adaptive_nullable_column.cpp
+++ b/be/src/column/adaptive_nullable_column.cpp
@@ -140,11 +140,16 @@ bool AdaptiveNullableColumn::append_nulls(size_t count) {
return true;
}
+<<<<<<< HEAD
bool AdaptiveNullableColumn::append_strings(const Buffer& strs) {
+=======
+bool AdaptiveNullableColumn::append_strings(const Slice* data, size_t size) {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
if (_data_column->is_binary()) {
switch (_state) {
case State::kUninitialized: {
_state = State::kNotConstant;
+<<<<<<< HEAD
std::ignore = _data_column->append_strings(strs);
_size = strs.size();
break;
@@ -157,21 +162,45 @@ bool AdaptiveNullableColumn::append_strings(const Buffer& strs) {
case State::kMaterialized: {
std::ignore = _data_column->append_strings(strs);
null_column_data().resize(_null_column->size() + strs.size(), 0);
+=======
+ std::ignore = _data_column->append_strings(data, size);
+ _size = size;
+ break;
+ }
+ case State::kNotConstant: {
+ std::ignore = _data_column->append_strings(data, size);
+ _size += size;
+ break;
+ }
+ case State::kMaterialized: {
+ std::ignore = _data_column->append_strings(data, size);
+ null_column_data().resize(_null_column->size() + size, 0);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DCHECK_EQ(_null_column->size(), _data_column->size());
break;
}
default: {
materialized_nullable();
+<<<<<<< HEAD
std::ignore = _data_column->append_strings(strs);
null_column_data().resize(_null_column->size() + strs.size(), 0);
+=======
+ std::ignore = _data_column->append_strings(data, size);
+ null_column_data().resize(_null_column->size() + size, 0);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DCHECK_EQ(_null_column->size(), _data_column->size());
break;
}
}
} else {
materialized_nullable();
+<<<<<<< HEAD
if (_data_column->append_strings(strs)) {
null_column_data().resize(_null_column->size() + strs.size(), 0);
+=======
+ if (_data_column->append_strings(data, size)) {
+ null_column_data().resize(_null_column->size() + size, 0);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return true;
}
DCHECK_EQ(_null_column->size(), _data_column->size());
@@ -180,20 +209,34 @@ bool AdaptiveNullableColumn::append_strings(const Buffer& strs) {
return true;
}
+<<<<<<< HEAD
bool AdaptiveNullableColumn::append_strings_overflow(const Buffer& strs, size_t max_length) {
materialized_nullable();
if (_data_column->append_strings_overflow(strs, max_length)) {
null_column_data().resize(_null_column->size() + strs.size(), 0);
+=======
+bool AdaptiveNullableColumn::append_strings_overflow(const Slice* data, size_t size, size_t max_length) {
+ materialized_nullable();
+ if (_data_column->append_strings_overflow(data, size, max_length)) {
+ null_column_data().resize(_null_column->size() + size, 0);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return true;
}
DCHECK_EQ(_null_column->size(), _data_column->size());
return false;
}
+<<<<<<< HEAD
bool AdaptiveNullableColumn::append_continuous_strings(const Buffer& strs) {
materialized_nullable();
if (_data_column->append_continuous_strings(strs)) {
null_column_data().resize(_null_column->size() + strs.size(), 0);
+=======
+bool AdaptiveNullableColumn::append_continuous_strings(const Slice* data, size_t size) {
+ materialized_nullable();
+ if (_data_column->append_continuous_strings(data, size)) {
+ null_column_data().resize(_null_column->size() + size, 0);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return true;
}
DCHECK_EQ(_null_column->size(), _data_column->size());
diff --git a/be/src/column/adaptive_nullable_column.h b/be/src/column/adaptive_nullable_column.h
index b247bdce6e18f..ca66489c3ad89 100644
--- a/be/src/column/adaptive_nullable_column.h
+++ b/be/src/column/adaptive_nullable_column.h
@@ -276,9 +276,13 @@ class AdaptiveNullableColumn final : public ColumnFactory upgrade_if_overflow() override {
materialized_nullable();
+<<<<<<< HEAD
if (_null_column->capacity_limit_reached()) {
return Status::InternalError("Size of NullableColumn exceed the limit");
}
+=======
+ RETURN_IF_ERROR(_null_column->capacity_limit_reached());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return upgrade_helper_func(&_data_column);
}
@@ -293,11 +297,19 @@ class AdaptiveNullableColumn final : public ColumnFactoryhas_large_column();
}
+<<<<<<< HEAD
bool append_strings(const Buffer& strs) override;
bool append_strings_overflow(const Buffer& strs, size_t max_length) override;
bool append_continuous_strings(const Buffer& strs) override;
+=======
+ bool append_strings(const Slice* data, size_t size) override;
+
+ bool append_strings_overflow(const Slice* data, size_t size, size_t max_length) override;
+
+ bool append_continuous_strings(const Slice* data, size_t size) override;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
bool append_continuous_fixed_length_strings(const char* data, size_t size, int fixed_length) override;
@@ -525,7 +537,11 @@ class AdaptiveNullableColumn final : public ColumnFactory& offsets) override {
+=======
+ ColumnPtr replicate(const Buffer& offsets) override {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
materialized_nullable();
return NullableColumn::replicate(offsets);
}
@@ -556,9 +572,15 @@ class AdaptiveNullableColumn final : public ColumnFactory>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
void check_or_die() const override {
diff --git a/be/src/column/array_column.h b/be/src/column/array_column.h
index 6ac43ec9a34ef..06d53c9feb1e2 100644
--- a/be/src/column/array_column.h
+++ b/be/src/column/array_column.h
@@ -97,8 +97,11 @@ class ArrayColumn final : public ColumnFactory {
bool append_nulls(size_t count) override;
+<<<<<<< HEAD
bool append_strings(const Buffer& strs) override { return false; }
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
size_t append_numbers(const void* buff, size_t length) override { return -1; }
void append_value_multiple_times(const void* value, size_t count) override;
@@ -183,8 +186,14 @@ class ArrayColumn final : public ColumnFactory {
std::string debug_string() const override;
+<<<<<<< HEAD
bool capacity_limit_reached(std::string* msg = nullptr) const override {
return _elements->capacity_limit_reached(msg) || _offsets->capacity_limit_reached(msg);
+=======
+ Status capacity_limit_reached() const override {
+ RETURN_IF_ERROR(_elements->capacity_limit_reached());
+ return _offsets->capacity_limit_reached();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
StatusOr upgrade_if_overflow() override;
diff --git a/be/src/column/array_view_column.h b/be/src/column/array_view_column.h
index c903e596750a5..333bc4193254e 100644
--- a/be/src/column/array_view_column.h
+++ b/be/src/column/array_view_column.h
@@ -104,7 +104,10 @@ class ArrayViewColumn final : public ColumnFactory {
void append_value_multiple_times(const Column& src, uint32_t idx, uint32_t count) override;
+<<<<<<< HEAD
bool append_strings(const Buffer& strs) override { return false; }
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
bool append_nulls(size_t count) override { return false; }
size_t append_numbers(const void* buff, size_t length) override { return -1; }
@@ -199,8 +202,14 @@ class ArrayViewColumn final : public ColumnFactory {
std::string debug_string() const override;
+<<<<<<< HEAD
bool capacity_limit_reached(std::string* msg = nullptr) const override {
return _elements->capacity_limit_reached(msg) || _offsets->capacity_limit_reached(msg);
+=======
+ Status capacity_limit_reached() const override {
+ RETURN_IF_ERROR(_elements->capacity_limit_reached());
+ return _offsets->capacity_limit_reached();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
StatusOr upgrade_if_overflow() override { return nullptr; }
diff --git a/be/src/column/binary_column.cpp b/be/src/column/binary_column.cpp
index e209e548defa0..9064a57119d4a 100644
--- a/be/src/column/binary_column.cpp
+++ b/be/src/column/binary_column.cpp
@@ -24,6 +24,10 @@
#include "gutil/bits.h"
#include "gutil/casts.h"
#include "gutil/strings/fastmem.h"
+<<<<<<< HEAD
+=======
+#include "gutil/strings/substitute.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "util/hash_util.hpp"
#include "util/mysql_row_buffer.h"
#include "util/raw_container.h"
@@ -46,7 +50,19 @@ void BinaryColumnBase::check_or_die() const {
}
template
+<<<<<<< HEAD
void BinaryColumnBase::append(const Column& src, size_t offset, size_t count) {
+=======
+void BinaryColumnBase::append(const Slice& str) {
+ _bytes.insert(_bytes.end(), str.data, str.data + str.size);
+ _offsets.emplace_back(_bytes.size());
+ _slices_cache = false;
+}
+
+template
+void BinaryColumnBase::append(const Column& src, size_t offset, size_t count) {
+ DCHECK(offset + count <= src.size());
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
const auto& b = down_cast&>(src);
const unsigned char* p = &b._bytes[b._offsets[offset]];
const unsigned char* e = &b._bytes[b._offsets[offset + count]];
@@ -120,7 +136,11 @@ void BinaryColumnBase::append_value_multiple_times(const Column& src, uint32_
//TODO(fzh): optimize copy using SIMD
template
+<<<<<<< HEAD
ColumnPtr BinaryColumnBase::replicate(const std::vector& offsets) {
+=======
+ColumnPtr BinaryColumnBase::replicate(const Buffer& offsets) {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
auto dest = std::dynamic_pointer_cast>(BinaryColumnBase::create());
auto& dest_offsets = dest->get_offset();
auto& dest_bytes = dest->get_bytes();
@@ -146,8 +166,14 @@ ColumnPtr BinaryColumnBase::replicate(const std::vector& offsets) {
}
template
+<<<<<<< HEAD
bool BinaryColumnBase::append_strings(const Buffer& strs) {
for (const auto& s : strs) {
+=======
+bool BinaryColumnBase::append_strings(const Slice* data, size_t size) {
+ for (size_t i = 0; i < size; i++) {
+ const auto& s = data[i];
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
const auto* const p = reinterpret_cast(s.data);
_bytes.insert(_bytes.end(), p, p + s.size);
_offsets.emplace_back(_bytes.size());
@@ -159,6 +185,7 @@ bool BinaryColumnBase::append_strings(const Buffer& strs) {
// NOTE: this function should not be inlined. If this function is inlined,
// the append_strings_overflow will be slower by 30%
template
+<<<<<<< HEAD
void append_fixed_length(const Buffer& strs, Bytes* bytes, typename BinaryColumnBase::Offsets* offsets)
__attribute__((noinline));
@@ -166,19 +193,39 @@ template
void append_fixed_length(const Buffer& strs, Bytes* bytes, typename BinaryColumnBase::Offsets* offsets) {
size_t size = bytes->size();
for (const auto& s : strs) {
+=======
+void append_fixed_length(const Slice* data, size_t data_size, Bytes* bytes,
+ typename BinaryColumnBase::Offsets* offsets) __attribute__((noinline));
+
+template
+void append_fixed_length(const Slice* data, size_t data_size, Bytes* bytes,
+ typename BinaryColumnBase::Offsets* offsets) {
+ size_t size = bytes->size();
+ for (size_t i = 0; i < data_size; i++) {
+ const auto& s = data[i];
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
size += s.size;
}
size_t offset = bytes->size();
bytes->resize(size + copy_length);
+<<<<<<< HEAD
size_t rows = strs.size();
+=======
+ size_t rows = data_size;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
size_t length = offsets->size();
raw::stl_vector_resize_uninitialized(offsets, offsets->size() + rows);
for (size_t i = 0; i < rows; ++i) {
+<<<<<<< HEAD
memcpy(&(*bytes)[offset], strs[i].get_data(), copy_length);
offset += strs[i].get_size();
+=======
+ memcpy(&(*bytes)[offset], data[i].get_data(), copy_length);
+ offset += data[i].get_size();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
(*offsets)[length++] = offset;
}
@@ -186,6 +233,7 @@ void append_fixed_length(const Buffer& strs, Bytes* bytes, typename Binar
}
template
+<<<<<<< HEAD
bool BinaryColumnBase::append_strings_overflow(const Buffer& strs, size_t max_length) {
if (max_length <= 8) {
append_fixed_length(strs, &_bytes, &_offsets);
@@ -199,6 +247,22 @@ bool BinaryColumnBase::append_strings_overflow(const Buffer& strs, siz
append_fixed_length(strs, &_bytes, &_offsets);
} else {
for (const auto& s : strs) {
+=======
+bool BinaryColumnBase::append_strings_overflow(const Slice* data, size_t size, size_t max_length) {
+ if (max_length <= 8) {
+ append_fixed_length(data, size, &_bytes, &_offsets);
+ } else if (max_length <= 16) {
+ append_fixed_length(data, size, &_bytes, &_offsets);
+ } else if (max_length <= 32) {
+ append_fixed_length(data, size, &_bytes, &_offsets);
+ } else if (max_length <= 64) {
+ append_fixed_length(data, size, &_bytes, &_offsets);
+ } else if (max_length <= 128) {
+ append_fixed_length(data, size, &_bytes, &_offsets);
+ } else {
+ for (size_t i = 0; i < size; i++) {
+ const auto& s = data[i];
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
const auto* const p = reinterpret_cast(s.data);
_bytes.insert(_bytes.end(), p, p + s.size);
_offsets.emplace_back(_bytes.size());
@@ -209,6 +273,7 @@ bool BinaryColumnBase::append_strings_overflow(const Buffer& strs, siz
}
template
+<<<<<<< HEAD
bool BinaryColumnBase::append_continuous_strings(const Buffer& strs) {
if (strs.empty()) {
return true;
@@ -220,6 +285,20 @@ bool BinaryColumnBase::append_continuous_strings(const Buffer& strs) {
_offsets.reserve(_offsets.size() + strs.size());
for (const Slice& s : strs) {
+=======
+bool BinaryColumnBase::append_continuous_strings(const Slice* data, size_t size) {
+ if (size == 0) {
+ return true;
+ }
+ size_t new_size = _bytes.size();
+ const auto* p = reinterpret_cast(data[0].data);
+ const auto* q = reinterpret_cast(data[size - 1].data + data[size - 1].size);
+ _bytes.insert(_bytes.end(), p, q);
+
+ _offsets.reserve(_offsets.size() + size);
+ for (size_t i = 0; i < size; i++) {
+ const auto& s = data[i];
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
new_size += s.size;
_offsets.emplace_back(new_size);
}
@@ -738,13 +817,18 @@ bool BinaryColumnBase::has_large_column() const {
}
template
+<<<<<<< HEAD
bool BinaryColumnBase::capacity_limit_reached(std::string* msg) const {
+=======
+Status BinaryColumnBase::capacity_limit_reached() const {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
static_assert(std::is_same_v || std::is_same_v);
if constexpr (std::is_same_v) {
// The size limit of a single element is 2^32 - 1.
// The size limit of all elements is 2^32 - 1.
// The number limit of elements is 2^32 - 1.
if (_bytes.size() >= Column::MAX_CAPACITY_LIMIT) {
+<<<<<<< HEAD
if (msg != nullptr) {
msg->append("Total byte size of binary column exceed the limit: " +
std::to_string(Column::MAX_CAPACITY_LIMIT));
@@ -758,12 +842,24 @@ bool BinaryColumnBase::capacity_limit_reached(std::string* msg) const {
return true;
} else {
return false;
+=======
+ return Status::CapacityLimitExceed(
+ strings::Substitute("Total byte size of binary column exceed the limit: $0",
+ std::to_string(Column::MAX_CAPACITY_LIMIT)));
+ } else if (_offsets.size() >= Column::MAX_CAPACITY_LIMIT) {
+ return Status::CapacityLimitExceed(
+ strings::Substitute("Total row count of binary column exceed the limit: $0",
+ std::to_string(Column::MAX_CAPACITY_LIMIT)));
+ } else {
+ return Status::OK();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
} else {
// The size limit of a single element is 2^32 - 1.
// The size limit of all elements is 2^64 - 1.
// The number limit of elements is 2^32 - 1.
if (_bytes.size() >= Column::MAX_LARGE_CAPACITY_LIMIT) {
+<<<<<<< HEAD
if (msg != nullptr) {
msg->append("Total byte size of large binary column exceed the limit: " +
std::to_string(Column::MAX_LARGE_CAPACITY_LIMIT));
@@ -777,6 +873,17 @@ bool BinaryColumnBase::capacity_limit_reached(std::string* msg) const {
return true;
} else {
return false;
+=======
+ return Status::CapacityLimitExceed(
+ strings::Substitute("Total byte size of large binary column exceed the limit: $0",
+ std::to_string(Column::MAX_LARGE_CAPACITY_LIMIT)));
+ } else if (_offsets.size() >= Column::MAX_CAPACITY_LIMIT) {
+ return Status::CapacityLimitExceed(
+ strings::Substitute("Total row count of large binary column exceed the limit: $0",
+ std::to_string(Column::MAX_CAPACITY_LIMIT)));
+ } else {
+ return Status::OK();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
}
}
diff --git a/be/src/column/binary_column.h b/be/src/column/binary_column.h
index 09bfac117a058..88b7881f39a23 100644
--- a/be/src/column/binary_column.h
+++ b/be/src/column/binary_column.h
@@ -32,8 +32,13 @@ class BinaryColumnBase final : public ColumnFactory>
using Offset = T;
using Offsets = Buffer;
+<<<<<<< HEAD
using Bytes = starrocks::raw::RawVectorPad16;
+=======
+ using Byte = uint8_t;
+ using Bytes = starrocks::raw::RawVectorPad16>;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
struct BinaryDataProxyContainer {
BinaryDataProxyContainer(const BinaryColumnBase& column) : _column(column) {}
@@ -172,11 +177,15 @@ class BinaryColumnBase final : public ColumnFactory>
// No complain about the overloaded-virtual for this function
DIAGNOSTIC_PUSH
DIAGNOSTIC_IGNORE("-Woverloaded-virtual")
+<<<<<<< HEAD
void append(const Slice& str) {
_bytes.insert(_bytes.end(), str.data, str.data + str.size);
_offsets.emplace_back(_bytes.size());
_slices_cache = false;
}
+=======
+ void append(const Slice& str);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DIAGNOSTIC_POP
void append_datum(const Datum& datum) override {
@@ -198,11 +207,19 @@ class BinaryColumnBase final : public ColumnFactory>
_slices_cache = false;
}
+<<<<<<< HEAD
bool append_strings(const Buffer& strs) override;
bool append_strings_overflow(const Buffer& strs, size_t max_length) override;
bool append_continuous_strings(const Buffer& strs) override;
+=======
+ bool append_strings(const Slice* data, size_t size) override;
+
+ bool append_strings_overflow(const Slice* data, size_t size, size_t max_length) override;
+
+ bool append_continuous_strings(const Slice* data, size_t size) override;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
bool append_continuous_fixed_length_strings(const char* data, size_t size, int fixed_length) override;
@@ -220,7 +237,11 @@ class BinaryColumnBase final : public ColumnFactory>
_slices_cache = false;
}
+<<<<<<< HEAD
ColumnPtr replicate(const std::vector& offsets) override;
+=======
+ ColumnPtr replicate(const Buffer& offsets) override;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
void fill_default(const Filter& filter) override;
@@ -339,7 +360,11 @@ class BinaryColumnBase final : public ColumnFactory>
return ss.str();
}
+<<<<<<< HEAD
bool capacity_limit_reached(std::string* msg = nullptr) const override;
+=======
+ Status capacity_limit_reached() const override;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
private:
void _build_slices() const;
diff --git a/be/src/column/bytes.h b/be/src/column/bytes.h
index cb588a3f22dee..7bc3747df56cc 100644
--- a/be/src/column/bytes.h
+++ b/be/src/column/bytes.h
@@ -17,12 +17,20 @@
#include
#include
+<<<<<<< HEAD
+=======
+#include "runtime/memory/column_allocator.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "util/raw_container.h"
namespace starrocks {
// Bytes is a special vector in which the internal memory is always allocated with an additional 16 bytes,
// to make life easier with 128 bit instructions.
+<<<<<<< HEAD
typedef starrocks::raw::RawVectorPad16 Bytes;
+=======
+typedef starrocks::raw::RawVectorPad16> Bytes;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
} // namespace starrocks
diff --git a/be/src/column/chunk.cpp b/be/src/column/chunk.cpp
index cfc362bb9713f..925d5cbac88c8 100644
--- a/be/src/column/chunk.cpp
+++ b/be/src/column/chunk.cpp
@@ -132,6 +132,18 @@ void Chunk::append_column(ColumnPtr column, const FieldPtr& field) {
check_or_die();
}
+<<<<<<< HEAD
+=======
+void Chunk::append_vector_column(ColumnPtr column, const FieldPtr& field, SlotId slot_id) {
+ DCHECK(!_cid_to_index.contains(field->id()));
+ _cid_to_index[field->id()] = _columns.size();
+ _slot_id_to_index[slot_id] = _columns.size();
+ _columns.emplace_back(std::move(column));
+ _schema->append(field);
+ check_or_die();
+}
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
void Chunk::append_column(ColumnPtr column, SlotId slot_id) {
DCHECK(!_slot_id_to_index.contains(slot_id)) << "slot_id:" + std::to_string(slot_id) << std::endl;
if (UNLIKELY(_slot_id_to_index.contains(slot_id))) {
diff --git a/be/src/column/chunk.h b/be/src/column/chunk.h
index 43ea4a759f0f6..9d73b9ae3a7d4 100644
--- a/be/src/column/chunk.h
+++ b/be/src/column/chunk.h
@@ -112,6 +112,11 @@ class Chunk {
// schema must exist and will be updated.
void append_column(ColumnPtr column, const FieldPtr& field);
+<<<<<<< HEAD
+=======
+ void append_vector_column(ColumnPtr column, const FieldPtr& field, SlotId slot_id);
+
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
void append_column(ColumnPtr column, SlotId slot_id);
void insert_column(size_t idx, ColumnPtr column, const FieldPtr& field);
@@ -277,6 +282,7 @@ class Chunk {
std::string rebuild_csv_row(size_t index, const std::string& delimiter) const;
+<<<<<<< HEAD
bool capacity_limit_reached(std::string* msg = nullptr) const {
for (const auto& column : _columns) {
if (column->capacity_limit_reached(msg)) {
@@ -284,6 +290,13 @@ class Chunk {
}
}
return false;
+=======
+ Status capacity_limit_reached() const {
+ for (const auto& column : _columns) {
+ RETURN_IF_ERROR(column->capacity_limit_reached());
+ }
+ return Status::OK();
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
}
query_cache::owner_info& owner_info() { return _owner_info; }
diff --git a/be/src/column/column.cpp b/be/src/column/column.cpp
index 36dbc9302feb4..089fc652736a0 100644
--- a/be/src/column/column.cpp
+++ b/be/src/column/column.cpp
@@ -66,7 +66,11 @@ StatusOr Column::upgrade_helper_func(ColumnPtr* col) {
}
}
+<<<<<<< HEAD
bool Column::empty_null_in_complex_column(const Filter& null_data, const std::vector& offsets) {
+=======
+bool Column::empty_null_in_complex_column(const Filter& null_data, const Buffer& offsets) {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DCHECK_EQ(null_data.size(), this->size());
if (!is_array() && !is_map()) {
throw std::runtime_error("empty_null_in_complex_column() only works for array and map column.");
diff --git a/be/src/column/column.h b/be/src/column/column.h
index 7099080be3b06..8c6f187c8ef64 100644
--- a/be/src/column/column.h
+++ b/be/src/column/column.h
@@ -169,7 +169,11 @@ class Column {
// for example: column(1,2)->replicate({0,2,5}) = column(1,1,2,2,2)
// FixedLengthColumn, BinaryColumn and ConstColumn override this function for better performance.
// TODO(fzh): optimize replicate() for ArrayColumn, ObjectColumn and others.
+<<<<<<< HEAD
virtual ColumnPtr replicate(const std::vector& offsets) {
+=======
+ virtual ColumnPtr replicate(const Buffer& offsets) {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
auto dest = this->clone_empty();
auto dest_size = offsets.size() - 1;
DCHECK(this->size() >= dest_size) << "The size of the source column is less when duplicating it.";
@@ -204,7 +208,13 @@ class Column {
// This function will copy the [3, 2] row of src to this column.
virtual void append_selective(const Column& src, const uint32_t* indexes, uint32_t from, uint32_t size) = 0;
+<<<<<<< HEAD
void append_selective(const Column& src, const Buffer& indexes) {
+=======
+ template
+ void append_selective(const Column& src, const Container& indexes) {
+ static_assert(std::is_same::value, "The type of indexes must be uint32_t");
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
return append_selective(src, indexes.data(), 0, static_cast(indexes.size()));
}
@@ -216,19 +226,54 @@ class Column {
// Return false if this is a non-nullable column, i.e, if `is_nullable` return false.
virtual bool append_nulls(size_t count) = 0;
+<<<<<<< HEAD
// Append multiple strings into this column.
// Return false if the column is not a binary column.
[[nodiscard]] virtual bool append_strings(const Buffer& strs) = 0;
+=======
+ template
+ bool append_strings(const Container& strs) {
+ static_assert(std::is_same::value, "Container::value_type must be Slice");
+ return append_strings(strs.data(), strs.size());
+ }
+ // Append multiple strings into this column.
+ // Return false if the column is not a binary column.
+ [[nodiscard]] virtual bool append_strings(const Slice* data, size_t size) { return false; }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
// Like append_strings. To achieve higher performance, this function will read 16 bytes out of
// bounds. So the caller must make sure that no invalid address access exception occurs for
// out-of-bounds reads
+<<<<<<< HEAD
[[nodiscard]] virtual bool append_strings_overflow(const Buffer& strs, size_t max_length) { return false; }
+=======
+ template
+ bool append_strings_overflow(const Container& strs, size_t max_length) {
+ static_assert(std::is_same::value, "Container::value_type must be Slice");
+ return append_strings_overflow(strs.data(), strs.size(), max_length);
+ }
+
+ [[nodiscard]] virtual bool append_strings_overflow(const Slice* data, size_t size, size_t max_length) {
+ return false;
+ }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
// Like `append_strings` but the corresponding storage of each slice is adjacent to the
// next one's, the implementation can take advantage of this feature, e.g, copy the whole
// memory at once.
+<<<<<<< HEAD
[[nodiscard]] virtual bool append_continuous_strings(const Buffer& strs) { return append_strings(strs); }
+=======
+ template
+ [[nodiscard]] bool append_continuous_strings(const Container& strs) {
+ static_assert(std::is_same::value, "Container::value_type must be Slice");
+ return append_continuous_strings(strs.data(), strs.size());
+ }
+
+ [[nodiscard]] virtual bool append_continuous_strings(const Slice* data, size_t size) {
+ return append_strings(data, size);
+ }
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
[[nodiscard]] virtual bool append_continuous_fixed_length_strings(const char* data, size_t size, int fixed_length) {
return false;
@@ -319,7 +364,11 @@ class Column {
inline size_t filter(const Filter& filter, size_t count) { return filter_range(filter, 0, count); }
// get rid of the case where the map/array is null but the map/array'elements are not empty.
+<<<<<<< HEAD
bool empty_null_in_complex_column(const Filter& null_data, const std::vector& offsets);
+=======
+ bool empty_null_in_complex_column(const Filter& null_data, const Buffer& offsets);
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
// FIXME: Many derived implementation assume |to| equals to size().
virtual size_t filter_range(const Filter& filter, size_t from, size_t to) = 0;
@@ -397,7 +446,11 @@ class Column {
// The interface will not free memory!!!
virtual void reset_column() { _delete_state = DEL_NOT_SATISFIED; }
+<<<<<<< HEAD
virtual bool capacity_limit_reached(std::string* msg = nullptr) const = 0;
+=======
+ virtual Status capacity_limit_reached() const = 0;
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
virtual Status accept(ColumnVisitor* visitor) const = 0;
diff --git a/be/src/column/column_builder.h b/be/src/column/column_builder.h
index 42534d9ab689b..4000367182be5 100644
--- a/be/src/column/column_builder.h
+++ b/be/src/column/column_builder.h
@@ -57,7 +57,11 @@ class ColumnBuilder {
ColumnBuilder(DataColumnPtr column, NullColumnPtr null_column, bool has_null)
: _column(std::move(column)), _null_column(std::move(null_column)), _has_null(has_null) {}
//do nothing ctor, members are initialized by its offsprings.
+<<<<<<< HEAD
explicit ColumnBuilder(void*) {}
+=======
+ explicit ColumnBuilder(void*) {}
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
void append(const DatumType& value) {
_null_column->append(DATUM_NOT_NULL);
diff --git a/be/src/column/column_hash.h b/be/src/column/column_hash.h
index cfe52de4bc2a2..06cb41a52052b 100644
--- a/be/src/column/column_hash.h
+++ b/be/src/column/column_hash.h
@@ -16,6 +16,13 @@
#include
#include
+<<<<<<< HEAD
+=======
+#include
+
+#include "column/vectorized_fwd.h"
+#include "storage/uint24.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#ifdef __SSE4_2__
#include
@@ -126,6 +133,17 @@ struct Hash128WithSeed {
return phmap_mix_with_seed()(hash_128(seed, value));
}
};
+<<<<<<< HEAD
+=======
+template
+struct HashTypeTraits {
+ using HashFunc = StdHashWithSeed;
+};
+template <>
+struct HashTypeTraits {
+ using HashFunc = Hash128WithSeed;
+};
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
template
struct PhmapDefaultHashFunc {
diff --git a/be/src/column/column_helper.cpp b/be/src/column/column_helper.cpp
index f02ef5ac50ed5..25ff4ab70877b 100644
--- a/be/src/column/column_helper.cpp
+++ b/be/src/column/column_helper.cpp
@@ -25,6 +25,10 @@
#include "column/vectorized_fwd.h"
#include "gutil/casts.h"
#include "simd/simd.h"
+<<<<<<< HEAD
+=======
+#include "storage/chunk_helper.h"
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
#include "types/logical_type_infra.h"
#include "util/date_func.h"
#include "util/percentile_value.h"
@@ -32,10 +36,13 @@
namespace starrocks {
+<<<<<<< HEAD
NullColumnPtr ColumnHelper::one_size_not_null_column = NullColumn::create(1, 0);
NullColumnPtr ColumnHelper::one_size_null_column = NullColumn::create(1, 1);
+=======
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
Filter& ColumnHelper::merge_nullable_filter(Column* column) {
if (column->is_nullable()) {
auto* nullable_column = down_cast(column);
@@ -487,7 +494,11 @@ size_t ChunkSliceTemplate::skip(size_t skip_rows) {
// Cutoff required rows from this chunk
template
+<<<<<<< HEAD
Ptr ChunkSliceTemplate::cutoff(size_t required_rows) {
+=======
+ChunkUniquePtr ChunkSliceTemplate::cutoff(size_t required_rows) {
+>>>>>>> b42eff7ae3 ([Doc] Add meaning of 0 for variables (#53714))
DCHECK(!empty());
size_t cut_rows = std::min(rows(), required_rows);
auto res = chunk->clone_empty(cut_rows);
@@ -500,7 +511,36 @@ Ptr ChunkSliceTemplate::cutoff(size_t required_rows) {
return res;
}
+<<<<<<< HEAD
template struct ChunkSliceTemplate;
template struct ChunkSliceTemplate;
+=======
+// Specialized for SegmentedChunkPtr
+template <>
+ChunkUniquePtr ChunkSliceTemplate