This is an automated email from the ASF dual-hosted git repository. morningman pushed a change to branch branch-1.2-lts in repository https://gitbox.apache.org/repos/asf/doris.git
from fb5a3e118a [feature-wip](dlf) prepare to support aliyun dlf (#13969) add 27549564a7 [feature](table-valued-function) Support S3 tvf (#13959) add c7b2b90504 [fix](memtracker) Fix DCHECK !std::count(_consumer_tracker_stack.begin(), _consumer_tracker_stack.end(), tracker) add 7ffe88b579 [feature-array](array-type) Add array function array_popback (#13641) add e8d2fb6778 [feature](function)add search functions: multi_search_all_positions & multi_match_any (#13763) add 32fea672b0 [chore](gutil) remove some gutil macros and solve some macro conflict with brpc (#13954) add 3c8524b9d8 [security](fe jar) upgrade commons-codec:commons-codec to 1.13 #13951 add 7254999f02 [typo](docs) fix docs,delete redundant words #13849 add bb9182d602 [fix](repeat)remove unmaterialized expr from repeat node (#13953) add 0031304015 [typo](docs)fix config doc #14010 add 22b4c6af20 [feature](Nereids) support statement having aggregate function in order by list (#13976) add f2978fb6ff [feat](Nereids) add graph simplifier (#14007) add 4ea1b39cb2 [enhancement](Nereids) remove unnecessary decimal cast (#13745) add 1c2532b9dc [Bug](udf) Make UDF's type always nullable (#14002) add 241801ca17 [typo](doc) fix get_start doc (#14001) add d1cbaa1de8 [fix](load) fix a bug that reduce memory work on hard limit might be triggered twice (#13967) add 17a4746a08 [enhancement](Nereids) support otherJoinConjuncts in cascades join reorder (#13681) add 95591ce49a [refactor](cv)wait on condition variable more gently (#12620) add 6ed443c7e8 [enhancement](profile) add instanceNum, tableIds to profile. (#13985) add 34f43ac781 [bug](like function)fix like '' (empty string) get wrong result with all rows #14035 add e1654bc6ef [Enhancement](function) add to_bitmap() function with int type (#13973) add 0b945fe361 [enhancement](memtracker) Refactor mem tracker hierarchy (#13585) add b09e5ced97 [fix](priv) fix meta replay bug when upgrading from 1.1.x to 1.2.x (#14046) add 9d8b4bc176 [Enhancement](Dictionary-codec) update dict once on same segment (#13936) add e6b12ce8e8 [feature](Nereids) support query that group by use alias generated in aggregate output (#14030) add 63ea233ae2 [thirdpart](lib) Add lock free queue of concurrentqueue (#14045) add c2a01e84b4 [feature-wip](multi-catalog) fix page index filter bug (#14015) add 61d4974ba1 [fix](Nereids) Use simple cost to calculate benefit and avoid unuseless calculation (#14056) add 1c07a01038 [feature](multi-catalog) Support data on s3-compatible oss and support aliyun DLF (#13994) add f7ecb6d79f [Bug](Bitmap) fix sub_bitmap calculate wrong result to return null (#13978) add df89e46761 [fix](build) fix compile fail on Segment::open (#14058) add 54c07f8782 [regression](Nereids) add back tpch regression test cases (#13826) add cdc635610b [enhancement](Nereids) tpch q21 anti and semi join reorder (#14037) add a58ac48a6e [chore](bin) do not set heap limit for tcmalloc until doris does not allocates large unused memory (#13761) add ecfdf0320d [fix](statistics) ColumnStatistics was changed unexpectedly when show stats (#14068) add b6f91b6eff [improvement](profile) support ordinary user to get query profile via http api (#14016) add 3f3f2eb098 [Nereids][Improve] infer predicate after push down predicate (#12996) add 115c6bd411 [fix](keyranges) fix the split error of keyranges (#14049) add ae3c513d74 use extern template to date_time_add (#13970) add 826cfdaf93 [feature](information_schema) add `backends` information_schema table (#13086) add 151842a1fe [feature](inverted index)WIP inverted index api: SQL syntax and metadata (#13430) add 75b6b267ea [opt](ssb) Add query hint for the SSB queries (#14089) add cd8f0713ea [refactor](new-scan) remove old vectorized scan node (#14029) add a0f136a0bc [docs](odbc) fix docs for sqlserver odbc table (#14017) add 6a1c7fac9d [enhancement](load) shrink reserved buffer for page builder (#14012) (#14014) add 287c3893b9 [typo](docs)update array type doc #14057 add 291fa499e9 [fix](JSON) Fail to parse JSONPath (libc++) (#13941) add 572f491756 [fix](ctas) text column type len = 1 when create table as select (#13906) add aec214b4b0 [bug](ColumnDecimal)call set_decimalv2_type when cloning ColumnDecimal (#14061) add 55ca810445 [fix](Vectorized)fix json_object and json_array function return wrong result on vectorized engine (#13775) add a3c5fa8c01 [Compile](join) Boost compiling and linking (#14081) add 7362460525 [docs](array-type) update the docs to specify how to use array function when import data (#13995) add aff62655c4 [feature](Nereids) binding slot in order by that not show in project (#14042) add b144d2b4f4 [improve](Nereids): remove redundant code, add annotation in Memo. (#14083) add 84bb82acc0 [fix](Nereids) aggregate disassemble generate error output list on GLOBAL phase aggregate (#14079) add e692636b4f [performance-wip] (vectorization) Opt HashJoin Performance (#12390) add f912d4e392 [fix](compile) fix compile error #14103 add b74d0a4747 [feature](table-valued-function) Support `desc from s3()` and modify the syntax of tvf (#14047) add 3117ac9289 [enhancement](Nereids) use post-order to generate runtime filter in RuntimeFilterGenerator (#13949) add 322ac5cf89 [refractor](array) refractor DataTypeArray from_string (#13905) add 794a551b0f [Enhancement][fix](profile)() modify some profiles (#14074) add 3690c4dbe7 [fix](load) fix that load channel failed to be released in time (#14119) add 55cae6202f [typo](docs)add udf doc and optimize udf regression test (#14000) add df622d8b7d [Bug](udf) fix java-udaf process string type error and add some tests (#14106) add 10df61b5bf [improvement](join) Share hash table in fragments for broadcast join (#13921) add 43eb946543 [feature](table-valued-function)S3 table valued function supports parquet/orc/json file format #14130 add 184cee2d2b [Bug](outfile) Fix wrong decimal format for ORC (#14124) add 994d563f52 [fix](nereids) cannot collect decimal column stats (#13961) add 84b969a25c [fix](grouping)the grouping expr should check col name from base table first, then alias (#14077) add 57225d69f3 [Fix] add hll param for if function (#12366) add 17867e446f [feature](nereids) let user define right deep tree penalty by session variable (#14040) add 8c5c6d9d7f [fix](ctas) fix wrong string column length after executing ctas from external table (#14090) add 0dfdbe4508 [feature](Nereids): InnerJoinLeftAssociate, InnerJoinRightAssociate and JoinExchange. (#14051) add 90bfd87660 [feature](function) add new function uuid() (#14092) add 4cde9c4765 [enhance](Nereids): add missing hypergraph rule. (#14087) add a73f4dfdc1 [fix](memtracker) Fix scanner thread ending after fragment thread causing mem tracker null pointer #14143 add 0e26f28bf2 [Enhancement](runtime-filter) enlarge runtime filter in predicate threshold (#13581) add 151a72d158 [feature](Nereids) support circle graph (#14082) add 9b5b411112 [fix](schemeChange) fe oom because replicas too many when schema change (#12850) add 724cf1cdb8 [chore][build] add instructions to build version string (#14067) add 6bd5378f66 [feature-wip](multi-catalog) lazy read for ParquetReader (#13917) add ae4f2aead7 [fix](nereids) column stats min/max missing (#14091) add 6c13126e5c [enhancement](Nereids) analyze check input slots must in child's output (#14107) add 1ef85ae1f2 [Improvement](join) Support nested loop outer join (#13965) add 45a3bb87c4 [docs](recover) modify recover doc (#13904) add e1e63f8354 [feature-wip](statistic) persistence table statistics into olap table (#13883) add b62e700f4e [fix](doc): remove incubator. (#14159) add 12652ebb0e [UDF](java udf) using config to enable java udf instead of macro at compile time (#14062) add 6297ef10e9 [enhancement](plugin) import audit logs for slow queries into a separate table (#14100) add 7782fb63ca [docs](outfile) Add ORC to outfile document (#14153) add 1f9fb4dc8b [Bugfix] Fix upgrade from 1.1 coredump (#14163) add d204c7dc1e [Improvement](profile) Improve readability for runtime filters in profile string (#14165) add 8812a680fc [fix](metric) fix the bug of not updating the query latency metric #14172 add de00ade6dd [Docs](README)Update the README.md (#14156) add 883dfa38ab [fix](decimal) change log fatal to log warning to avoid code dump on decimal type (#14150) add 8e17fcef3f [fix](cast)fix cast to char(N) error (#14168) add 118a7dff07 [chore](build) Optimize the compilation time (#14170) add 9b50888aaf [feature](Nereids) prune runtime filters which cannot reduce the tuple number of probe table (#13990) add 5fad4f4c7b [feature](Nereids) replace order by keys by child output if possible (#14108) add b6ba654f5b [Feature](Sequence) Support sequence_match and sequence_count functions (#13785) add 7c48168a53 [refactor](Nereids) remove DecimalType, use DecimalV2Type instead (#14166) add 02a86d2215 [Bug](runtimefilter) Fix concurrent bug in runtime filter #14177 add 015f8ab78d [enhancement](thirdparty) support create stripe reader by column names (#14184) add 74a1e28af3 [Opt](exec) prevent the scan key split whole range (#14088) add a162dab40a [feature](docs) add docs for SHOW-CATALOG-RECYCLE-BIN (#14185) add fe2944d56d [Bug](nljoin) Keep compatibility for nljoin (#14182) add d9913b1317 [Enhancement](Nerieds) Support numbers TableValuedFunction and some bitmap/hll aggregate function (#14169) add 2e29b15c6a [test](array function)add array_range function test (#14123) add 43f80e2633 [enhancement](load) Increase batch size of node channel to improve import performance (#13912) add 28ae281936 [chore](cmake) Fix wrong statements (#14187) add 0ba13af8ff [feature](running_difference) support running_difference function (#13737) add 43490a33a5 [feature-array](array-type) Add array function array_with_constant (#14115) add 44eb1cf1c3 [fix](chore) read max_map_count from proc and make notice much more understandable (#14137) add bf79805a66 [regression-test] sleep longer to void error (#14186) add 035657c5a1 [typo](comment) Fix a lot of spell errors in be comments (#14208) add 78fa167b0a [test](jdbc external table) add jdbc regression test case (#14086) add 082028b2a2 [test](jdbc postgresql case)add jdbc test case for postgresql (#14162) add 376b4fda9f [fix](scankey) fix extended scan key errors. (#14200) add beaf2fcaf6 [feature](partition) support new create partition syntax (#13772) add 7682c08af0 [improvement](load) reduce memory in batch for small load channels (#14214) add dd11d5c0a5 [enhancement](memory) Support try catch bad alloc (#14135) add 33b50860c7 [improvement](load) release load channel actively when error occurs (#14218) add 72748c229a update (#14215) add 3bc26f773d [hotfix](memtracker) Fix expired `DCHECK(_limit != -1);` and segment_meta_mem_tracker inelegant end (#14223) add a179b22937 [fix](schema) Release memory of TabletSchemaPB in RowsetMetaPB #13993 add 8263c34da6 [fix](ctas) use json_object in CTAS get wrong result (#14173) add 139c4a77f1 [enhancement](be)close ExecNode ASAP to release resource earlier (#14203) add 24b51b9035 [fix](compaction) segcompaction coredump if the rowset starts with a big segment (#14174) (#14176) add d55faa7f6a [feature](remote)Only query can use local cache when reading remote files. (#13865) add 7bb3792d51 [chore](build) Split the compliation units to build them in parallel (#14232) add 13b1f92c63 [enhancement](Nereids) add output set and output exprid set cache (#14151) add 15eb07b829 [BugFix](file cache) don't clean clone dir when doing _gc_unused_file_caches (#14194) add 49fecd2a6d [improvement](log) print info of error replicas (#14220) add 23a8c7eeb6 (fix)(multi-catalog)(es) Fix error result because not used fields_context (#14229) add 594e3b8224 [feature](Nereids) add circle detector and avoid overlap (#14164) add 30f36070b5 [test](multi-catalog)Regression test for external hive parquet table (#13611) add 7eed5a292c [feature-wip](multi-catalog) Support hive partition cache (#14134) add fc70179acb [multi-catalog](fix) the eof of lazy read columns may be not equal to the eof of predicate columns (#14212) add 9de1fec6cc [temp](statistics) disable statistic tables No new revisions were added by this update. Summary of changes: .asf.yaml | 1 + .github/ISSUE_TEMPLATE/bug_report.yml | 11 +- .github/ISSUE_TEMPLATE/config.yml | 3 +- .github/ISSUE_TEMPLATE/enhancement.yml | 8 +- .github/ISSUE_TEMPLATE/feature-request.yml | 6 +- README.md | 2 +- be/CMakeLists.txt | 14 +- be/src/agent/agent_server.cpp | 6 +- be/src/agent/agent_server.h | 2 - be/src/agent/task_worker_pool.cpp | 85 +- be/src/common/config.h | 13 +- be/src/common/logconfig.cpp | 2 +- be/src/common/signal_handler.h | 4 +- be/src/env/env_posix.cpp | 2 +- be/src/exec/CMakeLists.txt | 1 + be/src/exec/broker_scanner.cpp | 6 +- be/src/exec/data_sink.cpp | 12 +- be/src/exec/es_http_scan_node.cpp | 15 +- be/src/exec/es_http_scan_node.h | 6 - be/src/exec/exec_node.cpp | 64 +- be/src/exec/exec_node.h | 1 + be/src/exec/hash_table.cpp | 3 +- be/src/exec/olap_common.h | 93 +- be/src/exec/olap_scan_node.cpp | 14 +- be/src/exec/olap_scan_node.h | 1 - be/src/exec/orc_scanner.cpp | 2 +- be/src/exec/partitioned_aggregation_node.cc | 11 +- be/src/exec/partitioned_hash_table.cc | 3 +- be/src/exec/schema_scan_node.cpp | 5 + be/src/exec/schema_scanner.cpp | 47 +- be/src/exec/schema_scanner.h | 10 + .../schema_scanner/schema_backends_scanner.cpp | 165 + .../exec/schema_scanner/schema_backends_scanner.h | 44 + be/src/exec/table_connector.cpp | 4 +- be/src/exec/tablet_sink.cpp | 16 +- be/src/exec/tablet_sink.h | 8 +- be/src/exec/text_converter.hpp | 2 +- be/src/exprs/bitmap_function.cpp | 30 + be/src/exprs/bitmap_function.h | 2 + be/src/exprs/create_predicate_function.h | 13 +- be/src/exprs/expr_context.h | 5 - be/src/exprs/hybrid_set.h | 159 +- be/src/exprs/in_predicate.cpp | 15 +- be/src/exprs/in_predicate.h | 22 +- be/src/exprs/json_functions.cpp | 12 +- be/src/exprs/json_functions.h | 5 +- be/src/exprs/literal.h | 47 +- be/src/exprs/runtime_filter.cpp | 231 +- be/src/exprs/runtime_filter.h | 17 +- be/src/exprs/runtime_filter_slots.h | 18 + be/src/exprs/string_functions.cpp | 7 + be/src/exprs/string_functions.h | 3 + be/src/gutil/atomic_refcount.h | 4 +- be/src/gutil/atomicops.h | 2 +- be/src/gutil/casts.h | 4 +- be/src/gutil/endian.h | 2 +- be/src/gutil/integral_types.h | 19 - be/src/gutil/linux_syscall_support.h | 2 +- be/src/gutil/macros.h | 84 +- be/src/gutil/once.cc | 2 +- be/src/gutil/port.h | 62 +- be/src/gutil/ref_counted.h | 2 +- be/src/gutil/strings/numbers.cc | 4 +- be/src/gutil/strings/numbers.h | 2 +- be/src/gutil/strtoint.cc | 21 +- be/src/http/action/stream_load.cpp | 2 +- be/src/http/default_path_handlers.cpp | 67 +- be/src/http/ev_http_server.cpp | 1 - be/src/io/cache/dummy_file_cache.h | 3 +- be/src/io/cache/file_cache.cpp | 5 +- be/src/io/cache/file_cache_manager.cpp | 2 +- be/src/io/cache/sub_file_cache.cpp | 9 +- be/src/io/cache/sub_file_cache.h | 3 +- be/src/io/cache/whole_file_cache.cpp | 9 +- be/src/io/cache/whole_file_cache.h | 3 +- be/src/io/fs/file_reader.h | 6 +- be/src/io/fs/local_file_reader.cpp | 3 +- be/src/io/fs/local_file_reader.h | 3 +- be/src/io/fs/s3_file_reader.cpp | 3 +- be/src/io/fs/s3_file_reader.h | 3 +- be/src/olap/CMakeLists.txt | 2 +- be/src/olap/base_compaction.cpp | 2 +- be/src/olap/bloom_filter_predicate.cpp | 69 - be/src/olap/bloom_filter_predicate.h | 7 - be/src/olap/collect_iterator.h | 6 +- be/src/olap/compaction.cpp | 8 +- be/src/olap/cumulative_compaction.cpp | 2 +- be/src/olap/cumulative_compaction_policy.h | 6 +- be/src/olap/delta_writer.cpp | 31 +- be/src/olap/delta_writer.h | 2 + be/src/olap/in_list_predicate.h | 156 +- be/src/olap/inverted_index_parser.cpp | 65 + be/src/olap/inverted_index_parser.h | 46 + be/src/olap/iterators.h | 8 +- be/src/olap/lru_cache.cpp | 2 +- be/src/olap/memtable.cpp | 4 +- be/src/olap/olap_common.h | 2 +- be/src/olap/olap_server.cpp | 6 +- be/src/olap/predicate_creator.h | 68 + be/src/olap/reader.cpp | 23 +- be/src/olap/reader.h | 8 +- be/src/olap/rowset/beta_rowset.cpp | 9 +- be/src/olap/rowset/beta_rowset_reader.cpp | 1 + be/src/olap/rowset/beta_rowset_writer.cpp | 8 +- be/src/olap/rowset/rowset_meta.h | 13 +- be/src/olap/rowset/segment_v2/binary_dict_page.cpp | 8 +- be/src/olap/rowset/segment_v2/binary_plain_page.h | 14 +- be/src/olap/rowset/segment_v2/column_reader.cpp | 1 + be/src/olap/rowset/segment_v2/column_reader.h | 2 + be/src/olap/rowset/segment_v2/options.h | 2 + be/src/olap/rowset/segment_v2/page_io.cpp | 4 +- be/src/olap/rowset/segment_v2/page_io.h | 3 + be/src/olap/rowset/segment_v2/parsed_page.h | 2 +- be/src/olap/rowset/segment_v2/segment.cpp | 29 +- be/src/olap/rowset/segment_v2/segment.h | 8 +- be/src/olap/rowset/segment_v2/segment_iterator.cpp | 8 +- be/src/olap/schema_change.cpp | 4 +- be/src/olap/snapshot_manager.cpp | 6 +- be/src/olap/snapshot_manager.h | 4 +- be/src/olap/storage_engine.cpp | 36 +- be/src/olap/storage_engine.h | 34 +- be/src/olap/tablet.cpp | 15 +- be/src/olap/tablet_manager.cpp | 16 +- be/src/olap/tablet_manager.h | 2 +- be/src/olap/tablet_meta.cpp | 35 + be/src/olap/tablet_schema.cpp | 120 + be/src/olap/tablet_schema.h | 29 + be/src/olap/task/engine_alter_tablet_task.cpp | 6 +- be/src/olap/task/engine_batch_load_task.cpp | 7 +- be/src/olap/task/engine_checksum_task.cpp | 6 +- be/src/olap/task/engine_clone_task.cpp | 15 +- be/src/olap/tuple_reader.h | 2 +- be/src/runtime/CMakeLists.txt | 1 - be/src/runtime/buffer_control_block.cpp | 6 +- be/src/runtime/buffered_block_mgr2.cc | 21 +- be/src/runtime/buffered_tuple_stream3.h | 2 +- be/src/runtime/cache/result_node.cpp | 2 +- be/src/runtime/collection_value.cpp | 4 +- be/src/runtime/data_stream_recvr.cc | 19 +- be/src/runtime/data_stream_sender.cpp | 15 +- be/src/runtime/datetime_value.cpp | 2 +- be/src/runtime/disk_io_mgr.cc | 4 +- be/src/runtime/exec_env.h | 34 +- be/src/runtime/exec_env_init.cpp | 72 +- be/src/runtime/fragment_mgr.cpp | 80 +- be/src/runtime/fragment_mgr.h | 7 + be/src/runtime/load_channel.cpp | 21 +- be/src/runtime/load_channel.h | 24 +- be/src/runtime/load_channel_mgr.cpp | 151 +- be/src/runtime/load_channel_mgr.h | 113 +- be/src/runtime/mem_pool.cpp | 4 +- be/src/runtime/memory/chunk_allocator.cpp | 3 +- be/src/runtime/memory/jemalloc_hook.cpp | 48 +- be/src/runtime/memory/mem_tracker.cpp | 70 +- be/src/runtime/memory/mem_tracker.h | 59 +- be/src/runtime/memory/mem_tracker_limiter.cpp | 379 +- be/src/runtime/memory/mem_tracker_limiter.h | 289 +- be/src/runtime/memory/mem_tracker_task_pool.cpp | 162 - be/src/runtime/memory/mem_tracker_task_pool.h | 68 - be/src/runtime/memory/system_allocator.cpp | 3 +- be/src/runtime/memory/tcmalloc_hook.h | 4 +- be/src/runtime/memory/thread_mem_tracker_mgr.cpp | 32 +- be/src/runtime/memory/thread_mem_tracker_mgr.h | 154 +- be/src/runtime/plan_fragment_executor.cpp | 14 +- be/src/runtime/primitive_type.cpp | 61 - be/src/runtime/primitive_type.h | 64 +- be/src/runtime/query_fragments_ctx.h | 28 + be/src/runtime/runtime_filter_mgr.cpp | 2 +- be/src/runtime/runtime_filter_mgr.h | 2 +- be/src/runtime/runtime_state.cpp | 57 +- be/src/runtime/runtime_state.h | 32 +- be/src/runtime/sorted_run_merger.cc | 4 +- be/src/runtime/stream_load/stream_load_context.h | 4 +- be/src/runtime/stream_load/stream_load_pipe.h | 4 +- be/src/runtime/tablets_channel.cpp | 35 +- be/src/runtime/tablets_channel.h | 3 +- be/src/runtime/thread_context.cpp | 35 +- be/src/runtime/thread_context.h | 224 +- be/src/runtime/user_function_cache.cpp | 51 +- be/src/service/brpc.h | 4 - be/src/service/brpc_conflict.h | 48 - be/src/service/doris_main.cpp | 36 +- be/src/service/internal_service.cpp | 163 +- be/src/service/internal_service.h | 5 + be/src/util/CMakeLists.txt | 5 +- be/src/util/bitmap_value.h | 89 +- be/src/util/blocking_priority_queue.hpp | 135 +- be/src/util/blocking_queue.hpp | 58 +- be/src/util/debug_util.cpp | 9 + be/src/util/doris_metrics.h | 2 +- be/src/util/jni-util.cpp | 2 - be/src/util/jni-util.h | 3 - be/src/util/lru_cache.hpp | 2 +- be/src/util/mem_info.cpp | 14 +- be/src/util/ref_count_closure.h | 1 + be/src/util/runtime_profile.h | 2 +- be/src/util/string_util.h | 13 +- be/src/util/threadpool.cpp | 19 +- be/src/util/thrift_util.cpp | 2 +- be/src/util/time_lut.cpp | 2 +- be/src/vec/CMakeLists.txt | 34 +- .../aggregate_function_java_udaf.h | 23 +- .../aggregate_function_sequence_match.cpp | 66 + .../aggregate_function_sequence_match.h | 722 ++ .../aggregate_function_simple_factory.cpp | 2 + be/src/vec/columns/column.h | 6 + be/src/vec/columns/column_decimal.cpp | 3 + be/src/vec/columns/column_dictionary.h | 9 + be/src/vec/columns/predicate_column.h | 5 +- be/src/vec/common/allocator.h | 47 +- be/src/vec/common/field_visitors.h | 2 +- be/src/vec/common/hash_table/join_hash_map.h | 133 + be/src/vec/common/hash_table/join_hash_table.h | 733 ++ be/src/vec/common/sort/sorter.cpp | 8 +- be/src/vec/common/sort/topn_sorter.cpp | 2 +- be/src/vec/core/block.cpp | 46 +- be/src/vec/core/block.h | 6 + be/src/vec/data_types/data_type_array.cpp | 159 +- be/src/vec/data_types/data_type_decimal.h | 8 +- .../data_gen_functions/vdata_gen_function_inf.h | 55 + .../vec/exec/data_gen_functions/vnumbers_tvf.cpp | 84 + be/src/vec/exec/data_gen_functions/vnumbers_tvf.h | 54 + be/src/vec/exec/format/csv/csv_reader.cpp | 148 +- be/src/vec/exec/format/csv/csv_reader.h | 21 +- be/src/vec/exec/format/generic_reader.h | 5 + be/src/vec/exec/format/json/new_json_reader.cpp | 134 +- be/src/vec/exec/format/json/new_json_reader.h | 7 +- be/src/vec/exec/format/orc/vorc_reader.cpp | 45 +- be/src/vec/exec/format/orc/vorc_reader.h | 6 + be/src/vec/exec/format/parquet/parquet_common.cpp | 329 +- be/src/vec/exec/format/parquet/parquet_common.h | 326 +- .../parquet/vparquet_column_chunk_reader.cpp | 18 +- .../format/parquet/vparquet_column_chunk_reader.h | 2 +- .../exec/format/parquet/vparquet_column_reader.cpp | 127 +- .../exec/format/parquet/vparquet_column_reader.h | 19 +- .../exec/format/parquet/vparquet_group_reader.cpp | 182 +- .../exec/format/parquet/vparquet_group_reader.h | 39 +- be/src/vec/exec/format/parquet/vparquet_reader.cpp | 115 +- be/src/vec/exec/format/parquet/vparquet_reader.h | 17 +- be/src/vec/exec/join/cross_join_impl.cpp | 25 + be/src/vec/exec/join/full_outer_join_impl.cpp | 25 + be/src/vec/exec/join/inner_join_impl.cpp | 25 + be/src/vec/exec/join/left_anti_join_impl.cpp | 25 + be/src/vec/exec/join/left_outer_join_impl.cpp | 25 + be/src/vec/exec/join/left_semi_join_impl.cpp | 25 + .../exec/join/null_aware_left_anti_join_impl.cpp | 25 + be/src/vec/exec/join/process_hash_table_probe.h | 96 + .../vec/exec/join/process_hash_table_probe_impl.h | 785 ++ be/src/vec/exec/join/right_anti_join_impl.cpp | 25 + be/src/vec/exec/join/right_outer_join_impl.cpp | 25 + be/src/vec/exec/join/right_semi_join_impl.cpp | 25 + be/src/vec/exec/join/vhash_join_node.cpp | 1176 +-- be/src/vec/exec/join/vhash_join_node.h | 201 +- be/src/vec/exec/join/vjoin_node_base.cpp | 202 + be/src/vec/exec/join/vjoin_node_base.h | 98 + be/src/vec/exec/join/vnested_loop_join_node.cpp | 488 + be/src/vec/exec/join/vnested_loop_join_node.h | 106 + be/src/vec/exec/scan/new_jdbc_scan_node.cpp | 2 - be/src/vec/exec/scan/new_jdbc_scan_node.h | 2 - be/src/vec/exec/scan/new_jdbc_scanner.cpp | 3 - be/src/vec/exec/scan/new_jdbc_scanner.h | 2 - be/src/vec/exec/scan/new_olap_scan_node.cpp | 55 +- be/src/vec/exec/scan/new_olap_scan_node.h | 2 + be/src/vec/exec/scan/new_olap_scanner.cpp | 13 +- be/src/vec/exec/scan/new_olap_scanner.h | 3 + be/src/vec/exec/scan/scanner_context.cpp | 15 +- be/src/vec/exec/scan/scanner_scheduler.cpp | 6 +- be/src/vec/exec/scan/vfile_scanner.cpp | 13 +- be/src/vec/exec/scan/vfile_scanner.h | 6 +- be/src/vec/exec/scan/vscan_node.cpp | 68 +- be/src/vec/exec/scan/vscan_node.h | 6 +- be/src/vec/exec/scan/vscanner.cpp | 2 +- be/src/vec/exec/tablefunction/vnumbers_tbf.cpp | 83 - be/src/vec/exec/tablefunction/vnumbers_tbf.h | 54 - .../tablefunction/vtable_valued_function_inf.h | 55 - be/src/vec/exec/vaggregation_node.cpp | 3 +- be/src/vec/exec/vdata_gen_scan_node.cpp | 120 + be/src/vec/exec/vdata_gen_scan_node.h | 72 + be/src/vec/exec/ves_http_scan_node.cpp | 447 - be/src/vec/exec/ves_http_scan_node.h | 113 - be/src/vec/exec/ves_http_scanner.cpp | 52 - be/src/vec/exec/ves_http_scanner.h | 38 - be/src/vec/exec/vjdbc_connector.cpp | 4 +- be/src/vec/exec/vjdbc_connector.h | 6 +- be/src/vec/exec/vjdbc_scan_node.cpp | 173 - be/src/vec/exec/vjdbc_scan_node.h | 68 - be/src/vec/exec/vjson_scanner.cpp | 6 +- be/src/vec/exec/vjson_scanner.h | 2 +- be/src/vec/exec/vmysql_scan_node.h | 1 + be/src/vec/exec/vnested_loop_join_node.cpp | 276 - be/src/vec/exec/vnested_loop_join_node.h | 117 - be/src/vec/exec/vodbc_scan_node.cpp | 249 - be/src/vec/exec/vodbc_scan_node.h | 87 - be/src/vec/exec/volap_scan_node.cpp | 1843 ---- be/src/vec/exec/volap_scan_node.h | 346 - be/src/vec/exec/volap_scanner.cpp | 477 - be/src/vec/exec/volap_scanner.h | 153 - be/src/vec/exec/vschema_scan_node.cpp | 24 +- be/src/vec/exec/vtable_function_node.h | 2 +- .../vec/exec/vtable_valued_function_scannode.cpp | 121 - be/src/vec/exec/vtable_valued_function_scannode.h | 73 - be/src/vec/exprs/vbloom_predicate.cpp | 8 +- be/src/vec/exprs/vdirect_in_predicate.h | 94 + be/src/vec/exprs/vectorized_agg_fn.cpp | 14 +- be/src/vec/exprs/vectorized_fn_call.cpp | 12 +- be/src/vec/exprs/vexpr.h | 7 +- be/src/vec/exprs/vin_predicate.cpp | 2 +- be/src/vec/exprs/vin_predicate.h | 25 +- be/src/vec/exprs/vliteral.cpp | 28 +- be/src/vec/exprs/vliteral.h | 14 +- be/src/vec/exprs/vruntimefilter_wrapper.h | 2 +- .../vec/functions/array/function_array_popback.cpp | 84 + .../functions/array/function_array_register.cpp | 4 + be/src/vec/functions/array/function_array_slice.h | 47 +- .../vec/functions/array/function_array_utils.cpp | 44 + be/src/vec/functions/array/function_array_utils.h | 4 + .../array/function_array_with_constant.cpp | 86 + .../vec/functions/function_always_not_nullable.h | 84 +- be/src/vec/functions/function_bitmap.cpp | 235 +- .../function_date_or_datetime_computation.cpp | 173 +- .../function_date_or_datetime_computation.h | 2 +- .../function_date_or_datetime_computation_v2.cpp | 201 + be/src/vec/functions/function_java_udf.cpp | 2 - be/src/vec/functions/function_java_udf.h | 2 - be/src/vec/functions/function_json.cpp | 100 +- .../vec/functions/function_running_difference.cpp | 26 + be/src/vec/functions/function_running_difference.h | 138 + .../functions/functions_multi_string_position.cpp | 236 + .../functions/functions_multi_string_search.cpp | 283 + be/src/vec/functions/hll_hash.cpp | 59 +- be/src/vec/functions/in.h | 17 +- be/src/vec/functions/like.cpp | 7 +- be/src/vec/functions/plus.cpp | 2 +- be/src/vec/functions/regexps.h | 256 + be/src/vec/functions/simple_function_factory.h | 10 + be/src/vec/functions/uuid.cpp | 68 + be/src/vec/io/io_helper.h | 18 + .../vec/runtime/shared_hash_table_controller.cpp | 132 + be/src/vec/runtime/shared_hash_table_controller.h | 89 + be/src/vec/runtime/shared_hashtable_controller.cpp | 95 + be/src/vec/runtime/shared_hashtable_controller.h | 75 + be/src/vec/runtime/vdata_stream_mgr.cpp | 2 +- be/src/vec/runtime/vdata_stream_recvr.cpp | 28 +- be/src/vec/runtime/vdata_stream_recvr.h | 7 +- be/src/vec/runtime/vdatetime_value.cpp | 18 +- be/src/vec/runtime/vdatetime_value.h | 4 +- be/src/vec/runtime/vfile_result_writer.cpp | 2 +- be/src/vec/runtime/vfile_result_writer.h | 2 +- be/src/vec/runtime/vorc_writer.cpp | 10 +- be/src/vec/sink/vdata_stream_sender.cpp | 6 +- be/src/vec/sink/vjdbc_table_sink.cpp | 2 - be/src/vec/sink/vjdbc_table_sink.h | 2 - be/src/vec/sink/vtablet_sink.cpp | 12 +- be/test/CMakeLists.txt | 3 + be/test/exec/broker_scan_node_test.cpp | 2 +- be/test/exec/broker_scanner_test.cpp | 4 +- be/test/exec/es_http_scan_node_test.cpp | 2 +- be/test/exec/es_predicate_test.cpp | 2 +- be/test/exec/hash_table_test.cpp | 6 +- be/test/exec/json_scanner_test.cpp | 2 +- be/test/exec/json_scanner_with_jsonpath_test.cpp | 2 +- be/test/exec/olap_common_test.cpp | 61 +- be/test/exec/orc_scanner_test.cpp | 2 +- be/test/exec/parquet_scanner_test.cpp | 2 +- be/test/exec/tablet_sink_test.cpp | 3 - be/test/exprs/runtime_filter_test.cpp | 2 +- be/test/io/cache/remote_file_cache_test.cpp | 2 +- .../olap/bloom_filter_column_predicate_test.cpp | 10 +- be/test/olap/in_list_predicate_test.cpp | 28 +- be/test/olap/lru_cache_test.cpp | 3 +- be/test/olap/rowset/segment_v2/segment_test.cpp | 15 +- be/test/olap/segcompaction_test.cpp | 125 + be/test/runtime/mem_limit_test.cpp | 96 +- be/test/runtime/test_env.cc | 3 - be/test/testutil/desc_tbl_builder.h | 2 +- be/test/testutil/run_all_tests.cpp | 14 +- be/test/tools/benchmark_tool.cpp | 2 +- be/test/util/arrow/arrow_work_flow_test.cpp | 5 +- be/test/util/easy_json-test.cpp | 18 - be/test/util/metrics_test.cpp | 2 +- .../vec_sequence_match_test.cpp | 424 + be/test/vec/columns/column_decimal_test.cpp | 53 + be/test/vec/exec/parquet/parquet_reader_test.cpp | 4 +- be/test/vec/exec/parquet/parquet_thrift_test.cpp | 16 +- be/test/vec/exec/vbroker_scan_node_test.cpp | 2 +- be/test/vec/exec/vbroker_scanner_test.cpp | 2 +- be/test/vec/exec/vjson_scanner_test.cpp | 2 +- be/test/vec/exec/vorc_scanner_test.cpp | 2 +- be/test/vec/exec/vparquet_scanner_test.cpp | 2 +- be/test/vec/exec/vtablet_sink_test.cpp | 3 - be/test/vec/exprs/vexpr_test.cpp | 4 +- be/test/vec/function/function_like_test.cpp | 6 + .../function/function_running_difference_test.cpp | 79 + be/test/vec/function/function_test_util.h | 7 +- be/test/vec/runtime/vdata_stream_test.cpp | 2 +- bin/start_be.sh | 6 +- build.sh | 18 +- dist/LICENSE-dist.txt | 1 + dist/licenses/LICENSE-concurrentqueue.txt | 21 + .../elasticsearch/elasticsearch.yaml | 66 - .../docker-compose/elasticsearch/es.env | 21 + .../docker-compose/elasticsearch/es.yaml | 96 + .../elasticsearch/scripts/data/data1.json | 6 + .../elasticsearch/scripts/data/data2.json | 6 + .../elasticsearch/scripts/data/data3.json | 6 + .../elasticsearch/scripts/es_init.sh | 57 + .../elasticsearch/scripts/index/es6_test1.json | 30 + .../elasticsearch/scripts/index/es6_test2.json | 33 + .../elasticsearch/scripts/index/es7_test1.json | 28 + .../elasticsearch/scripts/index/es7_test2.json | 31 + .../docker-compose/hive/scripts/create.hql | 32 + .../docker-compose/hive/scripts/hive-metastore.sh | 2 + .../nation=cn/city=beijing/beijing1 | Bin 0 -> 160180 bytes .../nation=cn/city=shanghai/shanghai1 | Bin 0 -> 159227 bytes .../partition_table/nation=jp/city=tokyo/tokyo1 | Bin 0 -> 80147 bytes .../partition_table/nation=rus/city=moscow/moscow1 | Bin 0 -> 80595 bytes .../nation=us/city=chicago/chicago1 | Bin 0 -> 158429 bytes .../nation=us/city=washington/washington1 | Bin 0 -> 159229 bytes .../docker-compose/mysql/init/03-create-table.sql | 51 + .../docker-compose/mysql/init/04-insert.sql | 24 + .../postgresql/init/02-create-table.sql | 88 + .../docker-compose/postgresql/init/03-insert.sql | 1575 +++ docker/thirdparties/start-thirdparties-docker.sh | 12 +- docker/thirdparties/stop-thirdparties-docker.sh | 2 +- docs/en/community/developer-guide/fe-vscode-dev.md | 8 +- docs/en/docs/admin-manual/config/be-config.md | 4 +- docs/en/docs/admin-manual/config/fe-config.md | 52 + .../fe/manager/query-profile-action.md | 101 + .../advanced/join-optimization/runtime-filter.md | 5 +- docs/en/docs/benchmark/ssb.md | 16 +- docs/en/docs/data-operate/import/load-manual.md | 17 + docs/en/docs/ecosystem/audit-plugin.md | 42 +- .../docs/ecosystem/external-table/jdbc-of-doris.md | 2 +- .../docs/ecosystem/external-table/multi-catalog.md | 72 +- .../docs/ecosystem/external-table/odbc-of-doris.md | 26 +- .../ecosystem/udf/java-user-defined-function.md | 14 +- .../aggregate-functions/sequence_count.md | 254 + .../aggregate-functions/sequence_match.md | 256 + .../sql-functions/array-functions/array_popback.md | 57 + .../array-functions/array_with_constant.md | 73 + .../math-functions/running_difference.md | 180 + .../string-functions/search/multi_match_any.md | 54 + .../search/multi_search_all_positions.md | 54 + .../sql-functions/string-functions/uuid.md | 49 + .../sql-functions/table-functions/numbers.md | 11 +- .../Create/CREATE-TABLE-AS-SELECT.md | 6 + .../Data-Manipulation-Statements/OUTFILE.md | 2 +- .../sql-manual/sql-reference/Data-Types/ARRAY.md | 12 +- .../Database-Administration-Statements/RECOVER.md | 86 +- .../Show-Statements/SHOW-CATALOG-RECYCLE-BIN.md | 74 + docs/sidebars.json | 8 +- .../community/developer-guide/fe-vscode-dev.md | 8 +- docs/zh-CN/community/feedback.md | 2 +- docs/zh-CN/docs/admin-manual/config/be-config.md | 4 +- docs/zh-CN/docs/admin-manual/config/fe-config.md | 52 + .../fe/manager/query-profile-action.md | 102 + .../maint-monitor/monitor-metrics/metrics.md | 5 + .../advanced/join-optimization/runtime-filter.md | 5 +- docs/zh-CN/docs/benchmark/ssb.md | 49 +- .../import/import-scenes/load-atomicity.md | 2 +- docs/zh-CN/docs/data-operate/import/load-manual.md | 18 + docs/zh-CN/docs/ecosystem/audit-plugin.md | 40 +- .../docs/ecosystem/external-table/jdbc-of-doris.md | 2 +- .../docs/ecosystem/external-table/multi-catalog.md | 73 +- .../docs/ecosystem/external-table/odbc-of-doris.md | 27 +- .../ecosystem/udf/java-user-defined-function.md | 20 +- docs/zh-CN/docs/get-starting/get-starting.md | 2 +- .../docs/install/source-install/compilation-arm.md | 2 +- .../aggregate-functions/sequence_count.md | 254 + .../aggregate-functions/sequence_match.md | 256 + .../sql-functions/array-functions/array_popback.md | 56 + .../array-functions/array_with_constant.md | 72 + .../math-functions/running_difference.md | 177 + .../string-functions/search/multi_match_any.md | 54 + .../search/multi_search_all_positions.md | 54 + .../sql-functions/string-functions/uuid.md | 49 + .../sql-functions/table-functions/numbers.md | 11 +- .../WINDOW-FUNCTION-WINDOW-FUNNEL.md | 2 +- .../Create/CREATE-TABLE-AS-SELECT.md | 6 + .../Data-Manipulation-Statements/OUTFILE.md | 2 +- .../sql-manual/sql-reference/Data-Types/ARRAY.md | 13 +- .../Database-Administration-Statements/RECOVER.md | 86 +- .../Show-Statements/SHOW-CATALOG-RECYCLE-BIN.md | 75 + .../antlr4/org/apache/doris/nereids/DorisParser.g4 | 14 +- fe/fe-core/src/main/cup/sql_parser.cup | 84 +- .../java/org/apache/doris/alter/AlterHandler.java | 20 + .../doris/alter/MaterializedViewHandler.java | 1 + .../apache/doris/alter/SchemaChangeHandler.java | 1 + .../apache/doris/analysis/AllPartitionDesc.java | 21 + .../org/apache/doris/analysis/AnalyzeStmt.java | 21 +- .../java/org/apache/doris/analysis/CastExpr.java | 6 +- .../java/org/apache/doris/analysis/ColumnDef.java | 21 +- .../apache/doris/analysis/CreateFunctionStmt.java | 26 +- .../apache/doris/analysis/CreateIndexClause.java | 6 +- .../org/apache/doris/analysis/CreateTableStmt.java | 7 +- .../org/apache/doris/analysis/DecimalLiteral.java | 8 +- .../org/apache/doris/analysis/DescribeStmt.java | 46 +- .../apache/doris/analysis/FunctionCallExpr.java | 120 +- .../org/apache/doris/analysis/GroupingInfo.java | 22 + .../java/org/apache/doris/analysis/IndexDef.java | 52 +- .../apache/doris/analysis/InvertedIndexUtil.java | 56 + .../apache/doris/analysis/ListPartitionDesc.java | 4 +- .../apache/doris/analysis/MultiPartitionDesc.java | 315 + .../org/apache/doris/analysis/OutFileClause.java | 3 +- .../org/apache/doris/analysis/PartitionDesc.java | 23 +- .../apache/doris/analysis/PartitionKeyDesc.java | 25 + .../java/org/apache/doris/analysis/QueryStmt.java | 21 +- .../apache/doris/analysis/RangePartitionDesc.java | 4 +- .../org/apache/doris/analysis/SchemaTableType.java | 4 +- .../java/org/apache/doris/analysis/SelectStmt.java | 4 +- .../org/apache/doris/analysis/ShowIndexStmt.java | 1 + .../apache/doris/analysis/SinglePartitionDesc.java | 2 +- .../doris/analysis/TableValuedFunctionRef.java | 18 +- .../apache/doris/catalog/AggregateFunction.java | 2 +- .../doris/catalog/BuiltinAggregateFunctions.java | 14 + .../doris/catalog/BuiltinTableValuedFunctions.java | 39 + .../main/java/org/apache/doris/catalog/Env.java | 76 + .../java/org/apache/doris/catalog/Function.java | 4 + .../org/apache/doris/catalog/FunctionGenTable.java | 11 +- .../org/apache/doris/catalog/FunctionHelper.java | 11 + .../org/apache/doris/catalog/FunctionRegistry.java | 13 +- .../java/org/apache/doris/catalog/FunctionSet.java | 90 + .../doris/catalog/HiveMetaStoreClientHelper.java | 94 +- .../main/java/org/apache/doris/catalog/Index.java | 56 +- .../java/org/apache/doris/catalog/OlapTable.java | 6 +- .../org/apache/doris/catalog/PartitionKey.java | 21 +- .../org/apache/doris/catalog/RefreshManager.java | 3 +- .../java/org/apache/doris/catalog/SchemaTable.java | 51 +- .../main/java/org/apache/doris/catalog/Table.java | 10 + .../doris/catalog/external/EsExternalDatabase.java | 24 +- .../doris/catalog/external/EsExternalTable.java | 82 +- .../doris/catalog/external/ExternalDatabase.java | 27 +- .../doris/catalog/external/ExternalTable.java | 43 +- .../catalog/external/HMSExternalDatabase.java | 24 +- .../doris/catalog/external/HMSExternalTable.java | 158 +- .../main/java/org/apache/doris/common/Config.java | 90 +- .../java/org/apache/doris/common/FeConstants.java | 10 + .../org/apache/doris/common/NereidsException.java | 5 + .../org/apache/doris/common/ThreadPoolManager.java | 2 +- .../doris/common/util/DynamicPartitionUtil.java | 8 +- .../apache/doris/common/util/ProfileManager.java | 30 +- .../java/org/apache/doris/common/util/S3URI.java | 4 +- .../org/apache/doris/common/util/TimeUtils.java | 28 + .../apache/doris/datasource/CacheException.java | 24 + .../org/apache/doris/datasource/CatalogMgr.java | 27 +- .../apache/doris/datasource/EsExternalCatalog.java | 38 +- .../apache/doris/datasource/ExternalCatalog.java | 55 +- .../doris/datasource/ExternalMetaCacheMgr.java | 95 + .../doris/datasource/ExternalSchemaCache.java | 131 + .../doris/datasource/HMSClientException.java | 24 + .../doris/datasource/HMSExternalCatalog.java | 98 +- .../apache/doris/datasource/InternalCatalog.java | 42 +- .../datasource/PooledHiveMetaStoreClient.java | 164 + .../doris/datasource/hive/HiveMetaStoreCache.java | 423 + .../doris/datasource/hive/HivePartition.java | 46 + .../doris/external/elasticsearch/EsUtil.java | 24 +- .../httpv2/rest/manager/QueryProfileAction.java | 63 +- .../apache/doris/mysql/privilege/PrivBitSet.java | 2 +- .../doris/mysql/privilege/UserPrivTable.java | 2 +- .../org/apache/doris/nereids/CascadesContext.java | 4 +- .../doris/nereids/analyzer/NereidsAnalyzer.java | 9 - .../doris/nereids/analyzer/UnboundTVFRelation.java | 119 + .../apache/doris/nereids/cost/CostCalculator.java | 20 +- .../glue/translator/PhysicalPlanTranslator.java | 135 +- .../glue/translator/RuntimeFilterTranslator.java | 5 +- .../java/org/apache/doris/nereids/jobs/Job.java | 28 +- .../org/apache/doris/nereids/jobs/JobType.java | 1 + .../doris/nereids/jobs/batch/AnalyzeRulesJob.java | 13 +- .../doris/nereids/jobs/batch/BatchRulesJob.java | 7 + .../jobs/batch/NereidsRewriteJobExecutor.java | 6 + .../doris/nereids/jobs/cascades/ApplyRuleJob.java | 4 +- .../nereids/jobs/rewrite/VisitorRewriteJob.java | 56 + .../java/org/apache/doris/nereids/memo/Group.java | 69 +- .../apache/doris/nereids/memo/GroupExpression.java | 29 +- .../java/org/apache/doris/nereids/memo/Memo.java | 66 +- .../doris/nereids/parser/LogicalPlanBuilder.java | 70 +- .../nereids/processor/post/PlanPostProcessors.java | 12 +- .../processor/post/RuntimeFilterContext.java | 99 +- .../processor/post/RuntimeFilterGenerator.java | 131 +- .../processor/post/RuntimeFilterPruner.java | 204 + .../nereids/properties/LogicalProperties.java | 35 +- .../org/apache/doris/nereids/rules/RuleSet.java | 2 + .../org/apache/doris/nereids/rules/RuleType.java | 28 +- .../doris/nereids/rules/analysis/BindFunction.java | 49 +- .../nereids/rules/analysis/BindSlotReference.java | 78 +- .../nereids/rules/analysis/CheckAfterRewrite.java | 63 + .../nereids/rules/analysis/CheckAnalysis.java | 28 +- .../nereids/rules/analysis/FillUpMissingSlots.java | 264 + .../analysis/ReplaceExpressionByChildOutput.java | 99 + .../nereids/rules/analysis/ResolveHaving.java | 184 - .../rules/exploration/join/InnerJoinLAsscom.java | 49 +- .../exploration/join/InnerJoinLAsscomProject.java | 63 +- .../exploration/join/InnerJoinLeftAssociate.java | 121 + .../exploration/join/InnerJoinRightAssociate.java | 116 + .../rules/exploration/join/JoinExchange.java | 139 + .../rules/exploration/join/JoinLAsscomHelper.java | 151 - .../rules/exploration/join/JoinReorderContext.java | 1 + .../rules/exploration/join/OuterJoinLAsscom.java | 31 +- .../exploration/join/OuterJoinLAsscomProject.java | 60 +- .../rules/exploration/join/ThreeJoinHelper.java | 76 - .../rules/CharacterLiteralTypeCoercion.java | 4 +- .../expression/rewrite/rules/SimplifyCastRule.java | 20 +- .../LogicalTVFRelationToPhysicalTVFRelation.java | 35 + .../rules/joinreorder/HyperGraphJoinReorder.java | 1 - .../HyperGraphJoinReorderGroupLeft.java | 48 + .../HyperGraphJoinReorderGroupPlan.java | 48 - .../HyperGraphJoinReorderGroupRight.java | 47 + .../joinreorder/hypergraph/CircleDetector.java | 159 + .../nereids/rules/joinreorder/hypergraph/Edge.java | 75 +- .../joinreorder/hypergraph/GraphSimplifier.java | 445 + .../rules/joinreorder/hypergraph/HyperGraph.java | 114 +- .../nereids/rules/joinreorder/hypergraph/Node.java | 26 + .../rules/joinreorder/hypergraph/Receiver.java | 6 +- .../rules/rewrite/AggregateDisassemble.java | 9 +- .../rules/rewrite/logical/InferPredicates.java | 117 + .../rewrite/logical/PredicatePropagation.java | 105 + .../rules/rewrite/logical/PullUpPredicates.java | 165 + .../nereids/rules/rewrite/logical/ReorderJoin.java | 9 +- .../doris/nereids/stats/ExpressionEstimation.java | 173 +- .../doris/nereids/stats/FilterEstimation.java | 124 +- .../nereids/stats/FilterSelectivityCalculator.java | 25 +- .../apache/doris/nereids/stats/JoinEstimation.java | 65 +- .../doris/nereids/stats/StatsCalculator.java | 140 +- .../doris/nereids/stats/StatsCalculatorV2.java | 126 +- .../nereids/trees/expressions/Expression.java | 4 + .../nereids/trees/expressions/TVFProperties.java | 65 + .../expressions/functions/FunctionBuilder.java | 74 +- .../trees/expressions/functions/FunctionTrait.java | 2 + .../expressions/functions/SearchSignature.java | 2 +- .../trees/expressions/functions/agg/Avg.java | 6 +- .../expressions/functions/agg/BitmapIntersect.java | 69 + .../expressions/functions/agg/BitmapUnion.java | 69 + .../functions/agg/BitmapUnionCount.java | 70 + .../expressions/functions/agg/BitmapUnionInt.java | 79 + .../expressions/functions/agg/GroupBitmapXor.java | 73 + .../trees/expressions/functions/agg/HllUnion.java | 71 + .../expressions/functions/agg/HllUnionAgg.java | 70 + .../trees/expressions/functions/agg/Sum.java | 8 +- .../trees/expressions/functions/scalar/Abs.java | 2 +- .../expressions/functions/scalar/Coalesce.java | 2 +- .../expressions/functions/scalar/Greatest.java | 2 +- .../trees/expressions/functions/scalar/If.java | 3 +- .../trees/expressions/functions/scalar/Least.java | 2 +- .../expressions/functions/scalar/MoneyFormat.java | 2 +- .../expressions/functions/scalar/Negative.java | 2 +- .../trees/expressions/functions/scalar/NullIf.java | 3 +- .../trees/expressions/functions/scalar/Nvl.java | 3 +- .../expressions/functions/scalar/Positive.java | 2 +- .../functions/scalar/ScalarFunction.java | 10 +- .../trees/expressions/functions/table/Numbers.java | 90 + .../functions/table/TableValuedFunction.java | 111 + .../trees/expressions/literal/DecimalLiteral.java | 4 +- .../nereids/trees/expressions/literal/Literal.java | 2 +- .../expressions/visitor/ExpressionVisitor.java | 8 +- .../visitor/TableValuedFunctionVisitor.java | 30 + .../doris/nereids/trees/plans/AbstractPlan.java | 5 + .../apache/doris/nereids/trees/plans/PlanType.java | 3 + .../nereids/trees/plans/algebra/TVFRelation.java | 26 + .../trees/plans/logical/AbstractLogicalPlan.java | 7 - .../nereids/trees/plans/logical/LogicalJoin.java | 6 + .../trees/plans/logical/LogicalTVFRelation.java | 81 + .../trees/plans/physical/AbstractPhysicalJoin.java | 10 + .../trees/plans/physical/PhysicalHashJoin.java | 10 - .../trees/plans/physical/PhysicalTVFRelation.java | 97 + .../trees/plans/physical/RuntimeFilter.java | 44 - .../nereids/trees/plans/visitor/PlanVisitor.java | 15 + .../org/apache/doris/nereids/types/DataType.java | 28 +- .../apache/doris/nereids/types/DecimalType.java | 174 - .../apache/doris/nereids/types/DecimalV2Type.java | 47 +- .../apache/doris/nereids/types/DecimalV3Type.java | 10 +- .../org/apache/doris/nereids/util/JoinUtils.java | 52 +- .../doris/nereids/util/TypeCoercionUtils.java | 60 +- .../java/org/apache/doris/nereids/util/Utils.java | 8 + .../apache/doris/persist/AnalysisJobScheduler.java | 136 + .../java/org/apache/doris/persist/EditLog.java | 8 +- .../org/apache/doris/persist/OperationType.java | 1 + .../persist/StaleStatisticsRecordsDetector.java | 69 + .../org/apache/doris/planner/CrossJoinNode.java | 180 +- .../org/apache/doris/planner/DataGenScanNode.java | 121 + .../apache/doris/planner/DistributedPlanner.java | 2 +- .../java/org/apache/doris/planner/EsScanNode.java | 8 +- .../org/apache/doris/planner/HashJoinNode.java | 471 +- .../org/apache/doris/planner/JoinNodeBase.java | 534 + .../org/apache/doris/planner/OlapScanNode.java | 10 +- .../java/org/apache/doris/planner/PlanNode.java | 26 +- .../org/apache/doris/planner/RuntimeFilter.java | 2 +- .../doris/planner/RuntimeFilterGenerator.java | 2 +- .../java/org/apache/doris/planner/ScanNode.java | 1 - .../org/apache/doris/planner/SchemaScanNode.java | 2 + .../apache/doris/planner/SingleNodePlanner.java | 34 +- .../doris/planner/TableValuedFunctionScanNode.java | 108 - .../planner/external/ExternalFileScanNode.java | 69 +- .../planner/external/HMSTableScanProvider.java | 34 + .../planner/external/HMSTableScanProviderIf.java | 36 - .../doris/planner/external/HiveScanProvider.java | 298 +- .../doris/planner/external/HudiScanProvider.java | 7 +- .../planner/external/IcebergScanProvider.java | 9 +- .../doris/planner/external/QueryScanProvider.java | 177 + .../doris/planner/external/TVFScanProvider.java | 133 + .../java/org/apache/doris/qe/ConnectContext.java | 8 +- .../java/org/apache/doris/qe/ConnectProcessor.java | 5 +- .../main/java/org/apache/doris/qe/Coordinator.java | 13 +- .../main/java/org/apache/doris/qe/DdlExecutor.java | 2 +- .../java/org/apache/doris/qe/SessionVariable.java | 45 +- .../java/org/apache/doris/qe/ShowExecutor.java | 2 +- .../java/org/apache/doris/qe/StmtExecutor.java | 81 + .../apache/doris/rewrite/FoldConstantsRule.java | 2 +- .../org/apache/doris/rpc/BackendServiceClient.java | 5 + .../org/apache/doris/rpc/BackendServiceProxy.java | 12 + .../apache/doris/service/FrontendServiceImpl.java | 126 + .../apache/doris/statistics/AggStatsDerive.java | 5 - .../org/apache/doris/statistics/AnalysisJob.java | 201 + .../doris/statistics/AnalysisJobExecutor.java | 124 + .../apache/doris/statistics/AnalysisJobInfo.java | 132 + .../doris/statistics/AnalysisJobWrapper.java | 82 + .../doris/statistics/AnalyticEvalStatsDerive.java | 5 - .../doris/statistics/AssertNumRowsStatsDerive.java | 4 - .../apache/doris/statistics/BaseStatsDerive.java | 20 +- .../org/apache/doris/statistics/ColumnStat.java | 149 +- .../apache/doris/statistics/ColumnStatistic.java | 211 + .../doris/statistics/ColumnStatisticBuilder.java | 151 + .../doris/statistics/CrossJoinStatsDerive.java | 5 - .../doris/statistics/EmptySetStatsDerive.java | 4 - .../doris/statistics/ExchangeStatsDerive.java | 4 - .../doris/statistics/HashJoinStatsDerive.java | 5 - .../apache/doris/statistics/MysqlStatsDerive.java | 6 - .../doris/statistics/OlapScanStatsDerive.java | 76 +- .../apache/doris/statistics/OlapTableStats.java | 46 - .../apache/doris/statistics/SelectStatsDerive.java | 6 - .../doris/statistics/StatisticConstants.java | 30 + .../statistics/StatisticStorageInitializer.java | 163 + .../apache/doris/statistics/StatisticsCache.java | 62 + .../doris/statistics/StatisticsCacheKey.java | 51 + .../doris/statistics/StatisticsCacheLoader.java | 68 + .../doris/statistics/StatisticsTableCleaner.java | 118 + .../doris/statistics/StatisticsTaskScheduler.java | 2 +- .../apache/doris/statistics/StatisticsUtil.java | 219 + .../apache/doris/statistics/StatsDeriveResult.java | 121 +- .../doris/statistics/StatsRecursiveDerive.java | 5 + .../doris/statistics/TableFunctionStatsDerive.java | 4 - .../org/apache/doris/statistics/TableStats.java | 2 +- .../org/apache/doris/statistics/TabletStats.java | 42 - .../doris/statistics/util/BlockingCounter.java | 51 + .../doris/statistics/util/InternalQueryResult.java | 2 +- .../tablefunction/DataGenTableValuedFunction.java | 30 + .../ExternalFileTableValuedFunction.java | 283 + .../tablefunction/NumbersTableValuedFunction.java | 82 +- .../doris/tablefunction/S3TableValuedFunction.java | 113 + .../doris/tablefunction/TableValuedFunctionIf.java | 61 + .../tablefunction/TableValuedFunctionInf.java | 52 - .../doris/transaction/DatabaseTransactionMgr.java | 17 +- fe/fe-core/src/main/jflex/sql_scanner.flex | 1 + .../org/apache/doris/analysis/AggregateTest.java | 211 +- .../doris/analysis/CreateIndexClauseTest.java | 2 +- .../org/apache/doris/analysis/IndexDefTest.java | 6 +- .../apache/doris/analysis/StmtRewriterTest.java | 10 +- .../org/apache/doris/catalog/OlapTableTest.java | 4 +- .../doris/clone/TabletRepairAndBalanceTest.java | 8 +- .../doris/clone/TabletReplicaTooSlowTest.java | 19 +- .../doris/cluster/DecommissionBackendTest.java | 3 +- .../doris/external/elasticsearch/EsUtilTest.java | 9 +- .../doris/mysql/privilege/PrivEntryTest.java | 15 + .../datasets/clickbench/AnalyzeClickBenchTest.java | 237 + .../datasets/clickbench/ClickBenchTestBase.java | 29 + .../datasets/clickbench/ClickBenchUtils.java | 181 + .../nereids/datasets/tpch/AnalyzeTPCHTest.java | 5 +- .../doris/nereids/datasets/tpch/TPCHUtils.java | 32 +- .../nereids/jobs/cascades/DeriveStatsJobTest.java | 9 - .../org/apache/doris/nereids/memo/MemoTest.java | 8 +- .../doris/nereids/parser/HavingClauseTest.java | 403 - .../nereids/postprocess/RuntimeFilterTest.java | 7 +- .../rules/analysis/AnalyzeFunctionTest.java | 53 + .../rules/analysis/AnalyzeSubQueryTest.java | 180 + .../rules/analysis/AnalyzeWhereSubqueryTest.java | 472 + .../rules/analysis/BindSlotReferenceTest.java | 4 +- .../rules/analysis/FillUpMissingSlotsTest.java | 548 + .../rules/analysis/GenerateScalarFunction.java | 175 +- .../nereids/rules/analysis/RegisterCTETest.java | 339 + .../ReplaceExpressionByChildOutputTest.java | 97 + .../join/InnerJoinLAsscomProjectTest.java | 237 +- .../exploration/join/InnerJoinLAsscomTest.java | 121 +- .../join/InnerJoinLeftAssociateTest.java | 68 + .../join/InnerJoinRightAssociateTest.java | 65 + .../rules/exploration/join/JoinExchangeTest.java | 68 + .../join/OuterJoinLAsscomProjectTest.java | 44 + .../exploration/join/OuterJoinLAsscomTest.java | 97 +- .../expression/rewrite/ExpressionRewriteTest.java | 18 + .../rules/expression/rewrite/TypeCoercionTest.java | 6 +- .../HyperGraphJoinReorderGroupLeftTest.java | 56 + .../HyperGraphJoinReorderGroupPlanTest.java | 51 - .../HyperGraphJoinReorderGroupRightTest.java | 52 + .../joinreorder/HyperGraphJoinReorderTest.java | 1 + .../joinreorder/hypergraph/CircleDetectorTest.java | 44 + .../hypergraph/GraphSimplifierTest.java | 148 + .../joinreorder/hypergraph/HyperGraphTest.java | 96 +- .../rewrite/logical/AggregateDisassembleTest.java | 63 + .../rules/rewrite/logical/InferPredicatesTest.java | 531 + .../nereids/stats/ExpressionEstimationTest.java | 181 +- .../doris/nereids/stats/FilterEstimationTest.java | 147 +- .../doris/nereids/stats/StatsCalculatorTest.java | 52 +- .../nereids/trees/expressions/GetDataTypeTest.java | 4 +- .../doris/nereids/types/AbstractDataTypeTest.java | 132 +- .../apache/doris/nereids/types/DataTypeTest.java | 20 +- .../doris/nereids/types/DecimalTypeTest.java | 47 - .../doris/nereids/types/DecimalV2TypeTest.java | 47 + .../doris/nereids/util/AnalyzeFunctionTest.java | 52 - .../doris/nereids/util/AnalyzeSubQueryTest.java | 177 - .../nereids/util/AnalyzeWhereSubqueryTest.java | 468 - .../doris/nereids/util/HyperGraphBuilder.java | 188 + .../doris/nereids/util/LogicalPlanBuilder.java | 25 +- .../org/apache/doris/nereids/util/PlanChecker.java | 8 + .../apache/doris/nereids/util/RegisterCTETest.java | 336 - .../doris/nereids/util/TypeCoercionUtilsTest.java | 50 +- .../persist/TableAddOrDropColumnsInfoTest.java | 2 +- .../ExtractCommonFactorsRuleFunctionTest.java | 1 - .../doris/statistics/AnalysisJobExecutorTest.java | 103 + .../apache/doris/statistics/AnalysisJobTest.java | 111 + .../org/apache/doris/statistics/CacheTest.java | 127 + .../apache/doris/statistics/ColumnStatsTest.java | 2 +- .../java/org/apache/doris/udf/UdafExecutor.java | 26 +- .../java/org/apache/doris/udf/UdfExecutor.java | 4 +- fe/pom.xml | 2 +- .../auditloader/src/main/assembly/plugin.conf | 10 +- .../doris/plugin/audit/AuditLoaderPlugin.java | 118 +- .../doris/plugin/audit/DorisStreamLoader.java | 24 +- fs_brokers/apache_hdfs_broker/pom.xml | 2 +- gensrc/proto/internal_service.proto | 12 + gensrc/proto/olap_file.proto | 15 + gensrc/script/doris_builtins_functions.py | 76 +- gensrc/thrift/Data.thrift | 11 +- gensrc/thrift/Descriptors.thrift | 9 +- gensrc/thrift/FrontendService.thrift | 16 + gensrc/thrift/PlanNodes.thrift | 35 +- regression-test/conf/regression-conf.groovy | 7 + .../correctness_p0/test_grouping_with_alias.out | 6 + .../data/correctness_p0/test_subquery_grouping.out | 5 + regression-test/data/ddl_p0/test_ctas.out | 12 +- regression-test/data/es_p0/test_es_query.out | 12 + .../external_catalog_p0/hive/test_hive_parquet.out | 10112 +++++++++++++++++++ .../data/index_p0/test_bitmap_index.out | 92 +- .../test_decimal_bitmap_index_multi_page.out | 2 +- .../javaudf_p0/test_javaudaf_my_date_datetime.out | 36 + .../test_javaudaf_mygroupconcat_string.out | 18 + .../javaudf_p0/test_javaudaf_mysum_decimal.out | 14 + .../data/javaudf_p0/test_javaudaf_mysum_double.out | 21 + .../test_javaudaf_mysum_float_double.out | 30 + .../data/javaudf_p0/test_javaudaf_mysum_int.out | 21 + .../data/javaudf_p0/test_javaudaf_null_test.out | 24 + .../data/javaudf_p0/test_javaudf_null.out | 26 + .../data/jdbc_p0/test_jdbc_query_mysql.out | 2065 ++-- .../data/jdbc_p0/test_jdbc_query_pg.out | 31 + .../data/load_p0/broker_load/simple_array.csv | 3 +- .../data/load_p0/broker_load/test_array_load.out | 4 + .../data/load_p0/stream_load/test_stream_load.out | 4 +- .../json_function/test_query_json_array.out | 15 + .../json_function/test_query_json_object.out | 20 +- .../test_string_function_like_pushdown.out | 26 + .../data/query_p0/aggregate/aggregate.out | 14 + .../query_p0/join/test_nestedloop_outer_join.out | 77 + .../test_aggregate_sequence_match.out | 115 + .../array_functions/test_array_functions.out | 111 + .../test_array_functions_by_literal.out | 16 +- .../test_array_functions_with_where.out | 3 + .../bitmap_functions/test_bitmap_function.out | 12 + .../cast_function/test_cast_function.out | 12 + .../cast_function/test_cast_string_to_array.out | 9 +- .../math_functions/test_running_difference.out | 50 + .../test_multi_string_position.out | 25 + .../search_functions/test_multi_string_search.out | 45 + .../string_functions/test_string_function_like.out | 24 + .../java/org/apache/doris/udf/DateCaseTest.java | 44 + .../org/apache/doris/udf/DateWindowRollup.java | 52 - .../main/java/org/apache/doris/udf/MyDayDate.java | 59 + .../org/apache/doris/udf/MyGroupConcatString.java | 80 + .../java/org/apache/doris/udf/MyHourDateTime.java | 62 + .../java/org/apache/doris/udf/MySumDecimal.java | 59 + .../java/org/apache/doris/udf/MySumDouble.java | 55 + .../main/java/org/apache/doris/udf/MySumFloat.java | 54 + .../main/java/org/apache/doris/udf/MySumInt.java | 54 + .../main/java/org/apache/doris/udf/NullTest.java | 26 + .../java/org/apache/doris/udf/UdafNullTest.java | 56 + .../suites/correctness/test_backends_table.groovy | 23 + .../table_valued_function/test_numbers.groovy | 134 +- .../correctness_p0/test_grouping_with_alias.groovy | 37 + .../correctness_p0/test_subquery_grouping.groovy | 94 + regression-test/suites/ddl_p0/test_ctas.groovy | 54 +- regression-test/suites/es_p0/test_es_query.groovy | 62 + .../hive/test_hive_parquet.groovy | 184 + .../http_rest_api/post/test_query_stmt.groovy | 2 +- .../suites/index_p0/test_index_meta.groovy | 167 + .../test_javaudaf_my_date_datetime.groovy | 119 + .../test_javaudaf_mygroupconcat_string.groovy | 73 + .../javaudf_p0/test_javaudaf_mysum_decimal.groovy | 69 + .../test_javaudaf_mysum_float_double.groovy | 89 + .../javaudf_p0/test_javaudaf_mysum_int.groovy | 75 + .../javaudf_p0/test_javaudaf_null_test.groovy | 76 + .../suites/javaudf_p0/test_javaudf_case.groovy | 14 +- .../suites/javaudf_p0/test_javaudf_null.groovy | 70 + .../suites/jdbc_p0/test_jdbc_query_mysql.groovy | 258 + .../suites/jdbc_p0/test_jdbc_query_pg.groovy | 339 + .../suites/nereids_syntax_p0/bitmap_agg.groovy | 115 + .../suites/nereids_syntax_p0/function.groovy | 41 +- .../suites/nereids_syntax_p0/hll_agg.groovy | 85 + .../suites/nereids_syntax_p0/rollup.groovy | 2 +- .../multi_partition/test_multi_partition.groovy | 222 + regression-test/suites/query/join/test_join.groovy | 296 +- .../suites/query/keyword/order_group.groovy | 2 +- .../suites/query/keyword/test_keyword.groovy | 4 +- .../json_function/test_query_json_array.groovy | 48 + .../json_function/test_query_json_object.groovy | 27 +- .../test_string_function_like_pushdown.groovy | 5 + .../suites/query_p0/aggregate/aggregate.groovy | 5 + .../join/test_nestedloop_outer_join.groovy | 110 + .../test_aggregate_sequence_match.sql | 105 + .../array_functions/test_array_functions.groovy | 39 + .../test_array_functions_by_literal.groovy | 5 +- .../test_array_functions_with_where.groovy | 2 + .../bitmap_functions/test_bitmap_function.groovy | 7 +- .../cast_function/test_cast_function.groovy | 5 +- .../conditional_functions/test_if.groovy | 20 + .../datetime_functions/test_date_function.groovy | 2 +- .../math_functions/test_running_difference.sql | 73 + .../test_multi_string_position.groovy | 31 + .../test_multi_string_search.groovy | 41 + .../test_string_function_like.groovy | 6 +- .../rollup/test_materialized_view_date.groovy | 16 +- .../suites/rollup_p0/test_rollup_agg.groovy | 2 +- .../suites/rollup_p0/test_rollup_agg_date.groovy | 2 +- .../tpch_sf1_p1/tpch_sf1/explain/test_q11.groovy | 9 +- .../tpch_sf1_p1/tpch_sf1/explain/test_q22.groovy | 33 +- .../suites/tpch_sf1_p1/tpch_sf1/nereids/q1.groovy | 77 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q10.groovy | 102 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q11.groovy | 91 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q12.groovy | 93 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q13.groovy | 77 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q14.groovy | 63 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q15.groovy | 94 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q16.groovy | 97 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q17.groovy | 73 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q18.groovy | 108 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q19.groovy | 106 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q2.groovy | 129 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q20.groovy | 99 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q21.groovy | 107 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q22.groovy | 110 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q3.groovy | 83 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q4.groovy | 77 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q5.groovy | 87 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q6.groovy | 54 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q7.groovy | 115 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q8.groovy | 112 + .../suites/tpch_sf1_p1/tpch_sf1/nereids/q9.groovy | 95 + run-be-ut.sh | 2 +- .../java/org/apache/doris/udf/DateCaseTest.java | 46 + .../org/apache/doris/udf/DateWindowRollup.java | 54 - thirdparty/build-thirdparty.sh | 8 + thirdparty/patches/apache-arrow-7.0.0.patch | 96 +- thirdparty/vars.sh | 7 + tools/ssb-tools/ssb-queries/q4.1.sql | 4 +- tools/ssb-tools/ssb-queries/q4.2.sql | 4 +- tools/ssb-tools/ssb-queries/q4.3.sql | 4 +- tools/tpch-tools/queries/q9.sql | 2 +- 962 files changed, 52054 insertions(+), 17304 deletions(-) create mode 100644 be/src/exec/schema_scanner/schema_backends_scanner.cpp create mode 100644 be/src/exec/schema_scanner/schema_backends_scanner.h delete mode 100644 be/src/olap/bloom_filter_predicate.cpp create mode 100644 be/src/olap/inverted_index_parser.cpp create mode 100644 be/src/olap/inverted_index_parser.h delete mode 100644 be/src/runtime/memory/mem_tracker_task_pool.cpp delete mode 100644 be/src/runtime/memory/mem_tracker_task_pool.h delete mode 100644 be/src/service/brpc_conflict.h create mode 100644 be/src/vec/aggregate_functions/aggregate_function_sequence_match.cpp create mode 100644 be/src/vec/aggregate_functions/aggregate_function_sequence_match.h create mode 100644 be/src/vec/common/hash_table/join_hash_map.h create mode 100644 be/src/vec/common/hash_table/join_hash_table.h create mode 100644 be/src/vec/exec/data_gen_functions/vdata_gen_function_inf.h create mode 100644 be/src/vec/exec/data_gen_functions/vnumbers_tvf.cpp create mode 100644 be/src/vec/exec/data_gen_functions/vnumbers_tvf.h create mode 100644 be/src/vec/exec/join/cross_join_impl.cpp create mode 100644 be/src/vec/exec/join/full_outer_join_impl.cpp create mode 100644 be/src/vec/exec/join/inner_join_impl.cpp create mode 100644 be/src/vec/exec/join/left_anti_join_impl.cpp create mode 100644 be/src/vec/exec/join/left_outer_join_impl.cpp create mode 100644 be/src/vec/exec/join/left_semi_join_impl.cpp create mode 100644 be/src/vec/exec/join/null_aware_left_anti_join_impl.cpp create mode 100644 be/src/vec/exec/join/process_hash_table_probe.h create mode 100644 be/src/vec/exec/join/process_hash_table_probe_impl.h create mode 100644 be/src/vec/exec/join/right_anti_join_impl.cpp create mode 100644 be/src/vec/exec/join/right_outer_join_impl.cpp create mode 100644 be/src/vec/exec/join/right_semi_join_impl.cpp create mode 100644 be/src/vec/exec/join/vjoin_node_base.cpp create mode 100644 be/src/vec/exec/join/vjoin_node_base.h create mode 100644 be/src/vec/exec/join/vnested_loop_join_node.cpp create mode 100644 be/src/vec/exec/join/vnested_loop_join_node.h delete mode 100644 be/src/vec/exec/tablefunction/vnumbers_tbf.cpp delete mode 100644 be/src/vec/exec/tablefunction/vnumbers_tbf.h delete mode 100644 be/src/vec/exec/tablefunction/vtable_valued_function_inf.h create mode 100644 be/src/vec/exec/vdata_gen_scan_node.cpp create mode 100644 be/src/vec/exec/vdata_gen_scan_node.h delete mode 100644 be/src/vec/exec/ves_http_scan_node.cpp delete mode 100644 be/src/vec/exec/ves_http_scan_node.h delete mode 100644 be/src/vec/exec/ves_http_scanner.cpp delete mode 100644 be/src/vec/exec/ves_http_scanner.h delete mode 100644 be/src/vec/exec/vjdbc_scan_node.cpp delete mode 100644 be/src/vec/exec/vjdbc_scan_node.h delete mode 100644 be/src/vec/exec/vnested_loop_join_node.cpp delete mode 100644 be/src/vec/exec/vnested_loop_join_node.h delete mode 100644 be/src/vec/exec/vodbc_scan_node.cpp delete mode 100644 be/src/vec/exec/vodbc_scan_node.h delete mode 100644 be/src/vec/exec/volap_scan_node.cpp delete mode 100644 be/src/vec/exec/volap_scan_node.h delete mode 100644 be/src/vec/exec/volap_scanner.cpp delete mode 100644 be/src/vec/exec/volap_scanner.h delete mode 100644 be/src/vec/exec/vtable_valued_function_scannode.cpp delete mode 100644 be/src/vec/exec/vtable_valued_function_scannode.h create mode 100644 be/src/vec/exprs/vdirect_in_predicate.h create mode 100644 be/src/vec/functions/array/function_array_popback.cpp create mode 100644 be/src/vec/functions/array/function_array_with_constant.cpp create mode 100644 be/src/vec/functions/function_date_or_datetime_computation_v2.cpp create mode 100644 be/src/vec/functions/function_running_difference.cpp create mode 100644 be/src/vec/functions/function_running_difference.h create mode 100644 be/src/vec/functions/functions_multi_string_position.cpp create mode 100644 be/src/vec/functions/functions_multi_string_search.cpp create mode 100644 be/src/vec/functions/regexps.h create mode 100644 be/src/vec/functions/uuid.cpp create mode 100644 be/src/vec/runtime/shared_hash_table_controller.cpp create mode 100644 be/src/vec/runtime/shared_hash_table_controller.h create mode 100644 be/src/vec/runtime/shared_hashtable_controller.cpp create mode 100644 be/src/vec/runtime/shared_hashtable_controller.h create mode 100644 be/test/vec/aggregate_functions/vec_sequence_match_test.cpp create mode 100644 be/test/vec/columns/column_decimal_test.cpp create mode 100644 be/test/vec/function/function_running_difference_test.cpp create mode 100644 dist/licenses/LICENSE-concurrentqueue.txt delete mode 100644 docker/thirdparties/docker-compose/elasticsearch/elasticsearch.yaml create mode 100644 docker/thirdparties/docker-compose/elasticsearch/es.env create mode 100644 docker/thirdparties/docker-compose/elasticsearch/es.yaml create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/data/data1.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/data/data2.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/data/data3.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/es_init.sh create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test1.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/index/es6_test2.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test1.json create mode 100755 docker/thirdparties/docker-compose/elasticsearch/scripts/index/es7_test2.json create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=cn/city=beijing/beijing1 create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=cn/city=shanghai/shanghai1 create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=jp/city=tokyo/tokyo1 create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=rus/city=moscow/moscow1 create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=us/city=chicago/chicago1 create mode 100644 docker/thirdparties/docker-compose/hive/scripts/parquet/partition_table/nation=us/city=washington/washington1 create mode 100644 docs/en/docs/sql-manual/sql-functions/aggregate-functions/sequence_count.md create mode 100644 docs/en/docs/sql-manual/sql-functions/aggregate-functions/sequence_match.md create mode 100644 docs/en/docs/sql-manual/sql-functions/array-functions/array_popback.md create mode 100644 docs/en/docs/sql-manual/sql-functions/array-functions/array_with_constant.md create mode 100644 docs/en/docs/sql-manual/sql-functions/math-functions/running_difference.md create mode 100644 docs/en/docs/sql-manual/sql-functions/string-functions/search/multi_match_any.md create mode 100644 docs/en/docs/sql-manual/sql-functions/string-functions/search/multi_search_all_positions.md create mode 100644 docs/en/docs/sql-manual/sql-functions/string-functions/uuid.md create mode 100644 docs/en/docs/sql-manual/sql-reference/Show-Statements/SHOW-CATALOG-RECYCLE-BIN.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/aggregate-functions/sequence_count.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/aggregate-functions/sequence_match.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/array-functions/array_popback.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/array-functions/array_with_constant.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/math-functions/running_difference.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/string-functions/search/multi_match_any.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/string-functions/search/multi_search_all_positions.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/string-functions/uuid.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-reference/Show-Statements/SHOW-CATALOG-RECYCLE-BIN.md create mode 100644 fe/fe-core/src/main/java/org/apache/doris/analysis/AllPartitionDesc.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/analysis/InvertedIndexUtil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/analysis/MultiPartitionDesc.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinTableValuedFunctions.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/CacheException.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalMetaCacheMgr.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalSchemaCache.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/HMSClientException.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/PooledHiveMetaStoreClient.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HiveMetaStoreCache.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HivePartition.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFRelation.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/rewrite/VisitorRewriteJob.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/processor/post/RuntimeFilterPruner.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CheckAfterRewrite.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/FillUpMissingSlots.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/ReplaceExpressionByChildOutput.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/ResolveHaving.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociate.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociate.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinExchange.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/JoinLAsscomHelper.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/exploration/join/ThreeJoinHelper.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalTVFRelationToPhysicalTVFRelation.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupLeft.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupPlan.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupRight.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/joinreorder/hypergraph/CircleDetector.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/joinreorder/hypergraph/GraphSimplifier.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/InferPredicates.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PredicatePropagation.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/PullUpPredicates.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/TVFProperties.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/BitmapIntersect.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/BitmapUnion.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/BitmapUnionCount.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/BitmapUnionInt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupBitmapXor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/HllUnion.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/HllUnionAgg.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/Numbers.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/table/TableValuedFunction.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/TableValuedFunctionVisitor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/algebra/TVFRelation.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFRelation.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFRelation.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/types/DecimalType.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/persist/AnalysisJobScheduler.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/persist/StaleStatisticsRecordsDetector.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/DataGenScanNode.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/JoinNodeBase.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/TableValuedFunctionScanNode.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/external/HMSTableScanProvider.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/external/HMSTableScanProviderIf.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/external/QueryScanProvider.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/planner/external/TVFScanProvider.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJob.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJobExecutor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJobInfo.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJobWrapper.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatistic.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/ColumnStatisticBuilder.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/OlapTableStats.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticConstants.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticStorageInitializer.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCache.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCacheKey.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsCacheLoader.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsTableCleaner.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsUtil.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/TabletStats.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/statistics/util/BlockingCounter.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/tablefunction/DataGenTableValuedFunction.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/tablefunction/ExternalFileTableValuedFunction.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/tablefunction/S3TableValuedFunction.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/tablefunction/TableValuedFunctionIf.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/tablefunction/TableValuedFunctionInf.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/datasets/clickbench/AnalyzeClickBenchTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/datasets/clickbench/ClickBenchTestBase.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/datasets/clickbench/ClickBenchUtils.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/parser/HavingClauseTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/AnalyzeFunctionTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/AnalyzeSubQueryTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/AnalyzeWhereSubqueryTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/FillUpMissingSlotsTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/RegisterCTETest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/ReplaceExpressionByChildOutputTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinLeftAssociateTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/InnerJoinRightAssociateTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/exploration/join/JoinExchangeTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupLeftTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupPlanTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/joinreorder/HyperGraphJoinReorderGroupRightTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/joinreorder/hypergraph/CircleDetectorTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/joinreorder/hypergraph/GraphSimplifierTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/logical/InferPredicatesTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/types/DecimalTypeTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/types/DecimalV2TypeTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeFunctionTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeSubQueryTest.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/AnalyzeWhereSubqueryTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/HyperGraphBuilder.java delete mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/RegisterCTETest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobExecutorTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/statistics/CacheTest.java create mode 100644 regression-test/data/correctness_p0/test_grouping_with_alias.out create mode 100644 regression-test/data/correctness_p0/test_subquery_grouping.out create mode 100644 regression-test/data/es_p0/test_es_query.out create mode 100644 regression-test/data/external_catalog_p0/hive/test_hive_parquet.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_my_date_datetime.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_mygroupconcat_string.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_mysum_decimal.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_mysum_double.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_mysum_float_double.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_mysum_int.out create mode 100644 regression-test/data/javaudf_p0/test_javaudaf_null_test.out create mode 100644 regression-test/data/javaudf_p0/test_javaudf_null.out create mode 100644 regression-test/data/query/sql_functions/json_function/test_query_json_array.out create mode 100644 regression-test/data/query_p0/join/test_nestedloop_outer_join.out create mode 100644 regression-test/data/query_p0/sql_functions/aggregate_functions/test_aggregate_sequence_match.out create mode 100644 regression-test/data/query_p0/sql_functions/math_functions/test_running_difference.out create mode 100644 regression-test/data/query_p0/sql_functions/search_functions/test_multi_string_position.out create mode 100644 regression-test/data/query_p0/sql_functions/search_functions/test_multi_string_search.out create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/DateCaseTest.java delete mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/DateWindowRollup.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MyDayDate.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MyGroupConcatString.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MyHourDateTime.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MySumDecimal.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MySumDouble.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MySumFloat.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/MySumInt.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/NullTest.java create mode 100644 regression-test/java-udf-src/src/main/java/org/apache/doris/udf/UdafNullTest.java create mode 100644 regression-test/suites/correctness/test_backends_table.groovy create mode 100644 regression-test/suites/correctness_p0/test_grouping_with_alias.groovy create mode 100644 regression-test/suites/correctness_p0/test_subquery_grouping.groovy create mode 100644 regression-test/suites/es_p0/test_es_query.groovy create mode 100644 regression-test/suites/external_catalog_p0/hive/test_hive_parquet.groovy create mode 100644 regression-test/suites/index_p0/test_index_meta.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_my_date_datetime.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_mygroupconcat_string.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_mysum_decimal.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_mysum_float_double.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_mysum_int.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudaf_null_test.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudf_null.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/bitmap_agg.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/hll_agg.groovy create mode 100644 regression-test/suites/partition_p0/multi_partition/test_multi_partition.groovy create mode 100644 regression-test/suites/query/sql_functions/json_function/test_query_json_array.groovy create mode 100644 regression-test/suites/query_p0/join/test_nestedloop_outer_join.groovy create mode 100644 regression-test/suites/query_p0/sql_functions/aggregate_functions/test_aggregate_sequence_match.sql create mode 100644 regression-test/suites/query_p0/sql_functions/conditional_functions/test_if.groovy create mode 100644 regression-test/suites/query_p0/sql_functions/math_functions/test_running_difference.sql create mode 100644 regression-test/suites/query_p0/sql_functions/search_functions/test_multi_string_position.groovy create mode 100644 regression-test/suites/query_p0/sql_functions/search_functions/test_multi_string_search.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q1.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q10.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q11.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q12.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q13.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q14.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q15.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q16.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q17.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q18.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q19.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q2.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q20.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q21.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q22.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q3.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q4.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q5.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q6.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q7.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q8.groovy create mode 100644 regression-test/suites/tpch_sf1_p1/tpch_sf1/nereids/q9.groovy create mode 100644 samples/doris-demo/java-udf-demo/src/main/java/org/apache/doris/udf/DateCaseTest.java delete mode 100644 samples/doris-demo/java-udf-demo/src/main/java/org/apache/doris/udf/DateWindowRollup.java --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org