This is an automated email from the ASF dual-hosted git repository.
huajianlan pushed a change to branch local-exchange-planner
in repository https://gitbox.apache.org/repos/asf/doris.git
discard 1e607583fa5 local exchange planner
add c5606c5eb5b [fix](thirdparty) add Thrift_VERSION fallback in
paimon-cpp arrow patch (#60711)
add 5699e269ca4 [Feature](func) Support function PREVIOUS_DAY (#60680)
add 97eb6307ac2 [opt](optimizer)force join commute optimize even
memoMaxGroupExpressionSize exceed (#58746)
add c422f2a78f1 [fix](compile) tmp work around (#60725)
add 90ffecd7fb9 [Exec](performance) change colocate execution parallel num
(#60677)
add c137bd2088a [fix](runtime) Clear query_ctx_map_delay_delete in
FragmentMgr::stop() to avoid UB (#60718)
add 6f2b7dac320 [fix](cte) unnest subquery before RewriteCteChildren
(#60717)
add eccb882b7c6 [fix](custom analyzer) Fix basic and icu tokenizer can not
be customized (#60506)
add 73404dfe9ec [opt](nereids) support order by clause in create table
(#60684)
add 67019ff97ed [fix](topnFilter)Fix TopN filter probe expressions to wrap
nullable slots when pushed through outer joins. (#59074)
add 5cbe1b49e32 [feature](cloud) Support compaction read-write separation
for cloud mode (#60310)
add 148908f02b6 [Feature](aggregation) support aggregate_function_null_v2
(#60228)
add f7d49d589a5 [Chore](build) fix conflict field id (#60743)
add d563436cf4a [feature](geo) support 3 spatial functions: ST_Distance,
ST_GeometryType, ST_Length (#60170)
add 5a373695d2b [feat](tvf) Support INSERT INTO TVF to export query
results to local/HDFS/S3 files (#60719)
add 9de1c1ceef0 [opt](cloud) Prioritize scheduling the most recently
active tablets in cloud (#59539)
add 598861d2ad9 [fix](compile) fix compile backend on MacOS failed (#60723)
add 588ed1e6c85 [fix](txn) Set transaction status to COMMITTED only after
commit info is fully populated (#60749)
add 0c7d9e72bab [feat](inverted index) skip .nrm generation for
non-tokenized indexes (#60722)
add 4128eb41d2d [fix](search) Make AND/OR/NOT operators case-sensitive in
search DSL (#59747)
add 83562990ff4 [opt](variant) unify doc writer pipeline and index writes
(#60668)
add b5b09c24691 [Enhancement](func) Add fold constant for PREVIOUS_DAY
(#60755)
add c02eedaef86 [fix](local exchange) Do global shuffle for shuffled
join/set operator (#60758)
add 587aecb03c7 [fix](schemachange) fix IndexChangeJob stuck on
WAITING_TXN due to exception (#60754)
add 116fffc2969 [feat](jni-writer) Support JNI-based write framework for
custom writers (#60756)
add 93b174a340c [fix](cloud) Fix disable_auto_compaction property not
taking effect in cloud mode (#60544)
add 48fc0ae2bf8 [Fix](keywords) add composite time units to nonReserved
(#60775)
add b4509371589 [refactor](search) Refactor SearchDslParser to
single-phase ANTLR parsing and fix ES compatibility issues (#60654)
add 9a9b3b27171 [fix](search) Upgrade query type for variant subcolumns
with analyzer-based indexes (#60782)
add f77e7b5f1a8 [fix](search) Fix MATCH_ALL_DOCS query failing in
multi-field search mode (#60784)
add 203a15ce21e [fix](paimon) install paimon-cpp arrow static deps into
isolated dir (#60730)
add 7dcca9db48c [feat](paimon) integrate paimon-cpp reader (#60676)
add 6cd22c9fdcc [feat](search) Support field-grouped query syntax
field:(term1 OR term2) (#60786)
add a396f34e380 [feature](iceberg) support insert into iceberg table with
sort-order (#60540)
add ec31a80c7ff [fix](function)width_bucket did not enforce that the
fourth argument must be a constant. (#60643)
add 001358e8860 [fix](core)Fix a DCHECK failure when short-circuit
evaluation and array_map are used together. (#60693)
add 0fded79654f [fix](local exchange) Fix BUCKET_HASH_SHUFFLE partition
expr (#60764)
add 816e31beccf [fix](cloud) Fix auto-start functionality when
encountering TVF and external queries (#59963)
add 48894b90f61 [fix](cloud) Fix NPE in group commit when backend belongs
to a different cluster (#60652)
add b96933086d1 [bugfix](k8s) fix fe.out not generated when start_fe.sh
--console (#60522)
add b076ae972e9 [feat](query_v2) Add PrefixQuery, PhrasePrefixQuery and
UnionPostings support (#60701)
add 170e2936b77 [fix](iterator) Use explicit output schema in
new_merge_iterator and new_union_iterator (#60772)
add b1fe567275f [feat](audit log) add queue_time_ms in audit_log (#60418)
add 729b9f85b6a [fix](search) Add searcher cache reuse and DSL result
cache for search() function (#60790)
add 7ee1bc437f0 [fix](search) Fix wildcard query on variant subcolumns
returning empty results (#60793)
add ee7bfe38940 [fix](search) Validate mode parameter in search() DSL
options (#60785)
add 579dd1013b5 [Feature] Add FE constant folding for cosine_similarity
and standardize test patterns (#60403)
add fd5c837cffd [feat](authentication): add fe-authentication modules
(api/spi/handler/plugins) (#60407)
add 7a50e54a499 [chore](backup) remove AbstractBackupTableRefClause
(#60801)
add 0744fe7ff86 [fix](load) fix quorum success invalid in
move-memtable-on-sink load path (#60681)
add be0d8e552ef [fix](ann range search) range search prepare failed on
NULL literal (#60564)
new b8faee6a900 local exchange planner
This update added new revisions after undoing existing revisions.
That is to say, some revisions that were in the old version of the
branch are not in the new version. This situation occurs
when a user --force pushes a change and generates a repository
containing something like this:
* -- * -- B -- O -- O -- O (1e607583fa5)
\
N -- N -- N refs/heads/local-exchange-planner (b8faee6a900)
You should already have received notification emails for all of the O
revisions, and so the following emails describe only the N revisions
from the common base, B.
Any revisions marked "omit" are not gone; other references still
refer to them. Any revisions marked "discard" are gone forever.
The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.github/workflows/build-thirdparty.yml | 45 +-
.licenserc.yaml | 2 +
be/CMakeLists.txt | 127 ++-
be/cmake/thirdparty.cmake | 15 +
be/src/cloud/cloud_cluster_info.cpp | 201 +++++
be/src/cloud/cloud_cluster_info.h | 78 +-
be/src/cloud/cloud_meta_mgr.cpp | 39 +-
be/src/cloud/cloud_meta_mgr.h | 6 +
be/src/cloud/cloud_tablet.cpp | 6 +
be/src/cloud/cloud_tablet.h | 20 +
be/src/cloud/cloud_tablet_mgr.cpp | 9 +-
be/src/cloud/config.cpp | 11 +
be/src/cloud/config.h | 11 +
be/src/common/config.cpp | 2 +-
be/src/common/config.h | 2 +-
be/src/geo/geo_types.cpp | 371 +++++++++
be/src/geo/geo_types.h | 26 +-
be/src/olap/rowset/beta_rowset_reader.cpp | 13 +-
be/src/olap/rowset/beta_rowset_reader.h | 10 +
be/src/olap/rowset/segment_v2/index_file_reader.h | 1 +
.../inverted_index/query_v2/all_query/all_query.h | 49 +-
.../boolean_query/occur_boolean_weight.cpp | 7 +-
.../phrase_prefix_query/phrase_prefix_query.h | 92 +++
.../phrase_prefix_query/phrase_prefix_weight.h | 110 +++
.../prefix_query.h} | 33 +-
.../query_v2/prefix_query/prefix_weight.h | 160 ++++
.../query_v2/regexp_query/regexp_weight.h | 4 +-
.../inverted_index/query_v2/union_postings.h | 117 +++
.../rowset/segment_v2/inverted_index_iterator.cpp | 2 +-
.../rowset/segment_v2/inverted_index_query_type.h | 4 +
.../olap/rowset/segment_v2/inverted_index_reader.h | 62 +-
.../rowset/segment_v2/inverted_index_writer.cpp | 8 +-
be/src/olap/rowset/segment_v2/segment_iterator.cpp | 15 +-
.../variant/variant_column_writer_impl.cpp | 424 +++++++---
.../variant/variant_column_writer_impl.h | 33 +-
be/src/olap/schema_change.cpp | 39 +-
be/src/olap/tablet_schema.cpp | 18 +-
be/src/olap/tablet_schema.h | 2 +-
be/src/pipeline/exec/aggregation_sink_operator.cpp | 10 -
.../pipeline/exec/aggregation_source_operator.cpp | 3 -
be/src/pipeline/exec/hashjoin_build_sink.h | 4 +
be/src/pipeline/exec/hashjoin_probe_operator.h | 4 +
.../pipeline/exec/iceberg_table_sink_operator.cpp | 2 +-
be/src/pipeline/exec/operator.cpp | 7 +
be/src/pipeline/exec/operator.h | 6 +-
.../exec/partitioned_hash_join_probe_operator.h | 3 +
.../exec/partitioned_hash_join_sink_operator.h | 3 +
be/src/pipeline/exec/set_probe_sink_operator.h | 4 +
be/src/pipeline/exec/set_sink_operator.h | 4 +
.../exec/spill_iceberg_table_sink_operator.cpp | 196 +++++
.../exec/spill_iceberg_table_sink_operator.h | 93 +++
...nk_operator.cpp => tvf_table_sink_operator.cpp} | 7 +-
be/src/pipeline/exec/tvf_table_sink_operator.h | 87 ++
be/src/pipeline/pipeline_fragment_context.cpp | 72 +-
be/src/pipeline/pipeline_fragment_context.h | 11 +-
be/src/runtime/exec_env_init.cpp | 10 +-
be/src/runtime/fragment_mgr.cpp | 4 +
be/src/runtime/load_stream.cpp | 1 +
be/src/runtime/runtime_state.h | 5 +
.../vec/aggregate_functions/aggregate_function.h | 58 +-
.../aggregate_function_array_agg.h | 15 -
.../aggregate_functions/aggregate_function_avg.h | 32 +-
.../aggregate_function_bitmap.h | 11 -
.../aggregate_function_bitmap_agg.h | 22 -
.../aggregate_functions/aggregate_function_count.h | 56 +-
.../aggregate_functions/aggregate_function_map.h | 20 -
.../aggregate_function_map_v2.h | 20 -
.../aggregate_function_min_max.h | 54 +-
.../aggregate_function_null_v2.h | 600 ++++++++++++++
.../aggregate_functions/aggregate_function_sum.h | 27 +-
.../aggregate_function_uniq_distribute_key.h | 12 +-
be/src/vec/aggregate_functions/helpers.h | 93 ++-
be/src/vec/common/sort/sorter.cpp | 6 +-
be/src/vec/common/sort/sorter.h | 6 +-
be/src/vec/common/variant_util.cpp | 46 +-
be/src/vec/exec/format/table/paimon_cpp_reader.cpp | 319 ++++++++
be/src/vec/exec/format/table/paimon_cpp_reader.h | 95 +++
.../exec/format/table/paimon_doris_file_system.cpp | 664 +++++++++++++++
.../exec/format/table/paimon_doris_file_system.h} | 17 +-
.../format/table/paimon_predicate_converter.cpp | 659 +++++++++++++++
.../exec/format/table/paimon_predicate_converter.h | 90 +++
be/src/vec/exec/format/table/parquet_utils.cpp | 33 +
be/src/vec/exec/format/table/parquet_utils.h | 5 +
be/src/vec/exec/scan/file_scanner.cpp | 29 +-
.../exprs/lambda_function/varray_map_function.cpp | 4 +-
be/src/vec/exprs/vectorized_agg_fn.cpp | 11 +-
be/src/vec/exprs/vectorized_agg_fn.h | 3 -
be/src/vec/exprs/vectorized_fn_call.cpp | 110 +--
be/src/vec/exprs/vsearch.cpp | 14 +-
be/src/vec/exprs/vsearch.h | 5 +
.../functions/array/function_array_distance.cpp | 18 +
.../vec/functions/array/function_array_distance.h | 6 +
.../function_date_or_datetime_computation.cpp | 1 +
.../function_date_or_datetime_computation.h | 25 +-
be/src/vec/functions/function_search.cpp | 333 ++++++--
be/src/vec/functions/function_search.h | 22 +-
be/src/vec/functions/function_width_bucket.cpp | 3 +-
be/src/vec/functions/functions_geo.cpp | 212 +++++
be/src/vec/json/json_parser.h | 1 -
be/src/vec/olap/vgeneric_iterators.cpp | 54 +-
be/src/vec/olap/vgeneric_iterators.h | 50 +-
be/src/vec/runtime/vcsv_transformer.h | 4 +-
.../runtime/vfile_format_transformer_factory.cpp | 108 +++
.../runtime/vfile_format_transformer_factory.h} | 36 +-
be/src/vec/runtime/vjni_format_transformer.cpp | 136 ++++
be/src/vec/runtime/vjni_format_transformer.h | 74 ++
be/src/vec/runtime/vorc_transformer.cpp | 209 ++++-
be/src/vec/runtime/vorc_transformer.h | 12 +-
be/src/vec/runtime/vparquet_transformer.cpp | 73 +-
be/src/vec/runtime/vparquet_transformer.h | 6 +-
.../writer/iceberg/viceberg_partition_writer.cpp | 56 +-
.../writer/iceberg/viceberg_partition_writer.h | 29 +-
.../vec/sink/writer/iceberg/viceberg_sort_writer.h | 352 ++++++++
.../sink/writer/iceberg/viceberg_table_writer.cpp | 68 +-
.../sink/writer/iceberg/viceberg_table_writer.h | 21 +-
.../sink/writer/iceberg/vpartition_writer_base.h | 64 ++
be/src/vec/sink/writer/vtablet_writer_v2.cpp | 4 +-
be/src/vec/sink/writer/vtvf_table_writer.cpp | 172 ++++
be/src/vec/sink/writer/vtvf_table_writer.h | 87 ++
be/test/cloud/cloud_cluster_info_test.cpp | 280 +++++++
be/test/cloud/cloud_tablet_test.cpp | 267 ++++++
be/test/geo/geo_types_test.cpp | 534 ++++++++++++
.../occur_boolean_query_real_index_test.cpp | 9 +-
.../query_v2/occur_boolean_query_test.cpp | 18 +-
.../query_v2/phrase_prefix_query_test.cpp | 475 +++++++++++
.../inverted_index/query_v2/prefix_query_test.cpp | 339 ++++++++
.../query_v2/regexp_wildcard_lowercase_test.cpp | 228 ++++++
.../query_v2/union_postings_test.cpp | 366 +++++++++
.../segment_v2/inverted_index_writer_test.cpp | 185 +++++
.../search_function_query_cache_test.cpp | 207 +++++
.../variant_column_writer_reader_test.cpp | 289 ++++++-
.../olap/rowset/segment_v2/variant_util_test.cpp | 26 +-
be/test/olap/variant_doc_mode_compaction_test.cpp | 2 +-
.../vec/aggregate_functions/agg_function_test.h | 12 -
.../vec/aggregate_functions/agg_min_max_test.cpp | 13 +-
.../exec/format/table/paimon_cpp_reader_test.cpp | 95 +++
be/test/vec/exec/sort/full_sort_test.cpp | 4 +-
be/test/vec/exec/vgeneric_iterators_test.cpp | 17 +-
.../function_array_cosine_similarity_test.cpp | 159 ++++
be/test/vec/function/function_search_test.cpp | 119 +--
bin/start_fe.sh | 2 +-
build.sh | 4 +-
cloud/src/meta-service/meta_service.cpp | 33 +-
cloud/src/meta-service/meta_service_resource.cpp | 13 +
cloud/src/meta-service/meta_service_txn.cpp | 70 ++
cloud/test/CMakeLists.txt | 1 +
cloud/test/compaction_rw_separation_test.cpp | 181 +++++
cloud/test/schema_kv_test.cpp | 167 +++-
.../create_preinstalled_scripts/iceberg/run26.sql | 73 ++
fe/.idea/vcs.xml | 24 +-
.../org/apache/doris/common/jni/JniWriter.java | 99 +++
fe/be-java-extensions/java-writer/pom.xml | 75 ++
.../apache/doris/writer/LocalFileJniWriter.java | 117 +++
.../src/main/resources/package.xml | 0
.../java/org/apache/doris/paimon/PaimonUtils.java | 14 +-
fe/be-java-extensions/pom.xml | 1 +
.../fe-authentication-api/README.md | 127 +++
fe/fe-authentication/fe-authentication-api/pom.xml | 57 ++
.../authentication/AuthenticationBinding.java | 142 ++++
.../authentication/AuthenticationException.java | 34 +-
.../authentication/AuthenticationIntegration.java | 262 ++++++
.../authentication/AuthenticationRequest.java | 242 ++++++
.../doris/authentication/AuthenticationResult.java | 241 ++++++
.../doris/authentication/BasicPrincipal.java | 262 ++++++
.../doris/authentication/CredentialType.java | 29 +-
.../org/apache/doris/authentication/Principal.java | 99 +++
.../AuthenticationExceptionTest.java | 103 +++
.../AuthenticationIntegrationTest.java | 255 ++++++
.../authentication/AuthenticationRequestTest.java | 261 ++++++
.../authentication/AuthenticationResultTest.java | 153 ++++
.../doris/authentication/BasicPrincipalTest.java | 266 ++++++
.../fe-authentication-handler/pom.xml | 81 ++
.../handler/AuthenticationOutcome.java | 119 +++
.../handler/AuthenticationPluginManager.java | 283 +++++++
.../handler/AuthenticationService.java | 198 +++++
.../authentication/handler/BindingRegistry.java | 153 ++++
.../authentication/handler/BindingResolver.java | 150 ++++
.../handler/IntegrationRegistry.java | 137 ++++
.../handler/AuthenticationOutcomeTest.java | 187 +++++
.../handler/AuthenticationPluginManagerTest.java | 525 ++++++++++++
.../handler/AuthenticationServiceTest.java | 535 ++++++++++++
.../handler/BindingRegistryTest.java | 266 ++++++
.../handler/BindingResolverTest.java | 409 ++++++++++
.../handler/IntegrationRegistryTest.java | 166 ++++
.../fe-authentication-plugin-ldap/README.md | 163 ++++
.../fe-authentication-plugin-ldap/pom.xml | 84 ++
.../plugin/ldap/LdapAuthenticationPlugin.java | 242 ++++++
.../ldap/LdapAuthenticationPluginFactory.java | 45 +-
.../authentication/plugin/ldap/LdapClient.java | 270 +++++++
....authentication.spi.AuthenticationPluginFactory | 18 +
.../ldap/LdapAuthenticationPluginFactoryTest.java | 76 ++
.../LdapAuthenticationPluginIntegrationTest.java | 516 ++++++++++++
.../plugin/ldap/LdapAuthenticationPluginTest.java | 684 ++++++++++++++++
.../authentication/plugin/ldap/LdapClientTest.java | 265 ++++++
.../authentication/plugin/ldap/TestUtils.java | 70 ++
.../src/test/resources/test-ldap-data.ldif | 77 ++
.../fe-authentication-plugin-password/README.md | 264 ++++++
.../fe-authentication-plugin-password/pom.xml | 95 +++
.../password/PasswordAuthenticationPlugin.java | 319 ++++++++
.../PasswordAuthenticationPluginFactory.java | 44 +
.../plugin/password/PasswordHasher.java | 202 +++++
....authentication.spi.AuthenticationPluginFactory | 18 +
.../PasswordAuthenticationPluginFactoryTest.java | 70 ++
.../password/PasswordAuthenticationPluginTest.java | 614 ++++++++++++++
.../plugin/password/PasswordHasherTest.java | 512 ++++++++++++
.../fe-authentication-plugins}/pom.xml | 35 +-
.../fe-authentication-spi/README.md | 144 ++++
.../fe-authentication-spi}/pom.xml | 45 +-
.../authentication/spi/AuthenticationPlugin.java | 146 ++++
.../spi/AuthenticationPluginFactory.java | 62 ++
.../spi/AuthenticationPluginContractTest.java | 200 +++++
.../AuthenticationPluginFactoryContractTest.java | 144 ++++
.../pom.xml | 35 +-
.../main/java/org/apache/doris/common/Config.java | 45 +-
.../antlr4/org/apache/doris/nereids/DorisParser.g4 | 21 +-
.../org/apache/doris/nereids/search/SearchLexer.g4 | 6 +-
.../apache/doris/nereids/search/SearchParser.g4 | 9 +-
.../src/main/java/org/apache/doris/DorisFE.java | 4 +-
.../org/apache/doris/alter/IndexChangeJob.java | 3 +
.../analysis/AbstractBackupTableRefClause.java | 96 ---
.../java/org/apache/doris/analysis/KeysDesc.java | 46 +-
.../org/apache/doris/analysis/SearchPredicate.java | 31 +
.../doris/catalog/BuiltinScalarFunctions.java | 10 +
.../main/java/org/apache/doris/catalog/Env.java | 16 +-
.../org/apache/doris/catalog/InternalSchema.java | 2 +
.../main/java/org/apache/doris/catalog/Tablet.java | 2 +
.../catalog/TabletSlidingWindowAccessStats.java | 555 +++++++++++++
.../apache/doris/cloud/catalog/CloudTablet.java | 4 +-
.../doris/cloud/catalog/CloudTabletRebalancer.java | 595 +++++++++++---
.../doris/cloud/system/CloudSystemInfoService.java | 212 +++--
.../transaction/CloudGlobalTransactionMgr.java | 16 +
.../java/org/apache/doris/common/Log4jConfig.java | 4 +-
.../apache/doris/common/proc/ReplicasProcNode.java | 16 +-
.../apache/doris/common/proc/TabletsProcDir.java | 16 +-
.../doris/common/profile/SummaryProfile.java | 9 +
.../apache/doris/datasource/InternalCatalog.java | 6 +-
.../datasource/iceberg/IcebergExternalTable.java | 35 +
.../datasource/iceberg/IcebergMetadataOps.java | 41 +-
.../datasource/iceberg/IcebergTransaction.java | 12 +-
.../iceberg/helper/IcebergWriterHelper.java | 56 +-
.../apache/doris/datasource/paimon/PaimonUtil.java | 20 +
.../datasource/paimon/source/PaimonScanNode.java | 14 +-
.../datasource/paimon/source/PaimonSource.java | 9 +
.../apache/doris/indexpolicy/IndexPolicyMgr.java | 6 +
.../org/apache/doris/load/GroupCommitManager.java | 14 +-
.../java/org/apache/doris/metric/MetricRepo.java | 37 +
.../nereids/analyzer/UnboundTVFTableSink.java | 133 +++
.../doris/nereids/errors/QueryPlanningErrors.java | 8 +-
.../glue/translator/ExpressionTranslator.java | 18 +-
.../glue/translator/PhysicalPlanTranslator.java | 24 +
.../doris/nereids/jobs/cascades/ApplyRuleJob.java | 2 +-
.../doris/nereids/jobs/executor/Rewriter.java | 259 +++---
.../doris/nereids/jobs/rewrite/RewriteJob.java | 14 +-
.../nereids/jobs/scheduler/SimpleJobScheduler.java | 14 +-
.../doris/nereids/parser/LogicalPlanBuilder.java | 79 +-
.../processor/post/TopnFilterPushDownVisitor.java | 32 +-
.../nereids/properties/RequestPropertyDeriver.java | 9 +
.../org/apache/doris/nereids/rules/RuleSet.java | 2 +
.../org/apache/doris/nereids/rules/RuleType.java | 2 +
.../doris/nereids/rules/analysis/BindSink.java | 81 +-
.../nereids/rules/analysis/CollectRelation.java | 5 +
.../LogicalTVFTableSinkToPhysicalTVFTableSink.java | 46 ++
.../trees/expressions/ExpressionEvaluator.java | 2 +
.../functions/executable/ArrayArithmetic.java | 88 ++
.../executable/DateTimeExtractAndTransform.java | 14 +
.../functions/scalar/CosineSimilarity.java | 75 ++
.../expressions/functions/scalar/PreviousDay.java | 67 ++
.../functions/scalar/SearchDslParser.java | 526 ++++++++----
.../expressions/functions/scalar/StDistance.java | 75 ++
.../functions/scalar/StGeometryType.java | 74 ++
.../expressions/functions/scalar/StLength.java | 75 ++
.../expressions/functions/scalar/WidthBucket.java | 13 +
.../expressions/visitor/ScalarFunctionVisitor.java | 25 +
.../apache/doris/nereids/trees/plans/PlanType.java | 4 +
.../trees/plans/commands/ShowTabletIdCommand.java | 15 +-
.../trees/plans/commands/info/CreateMTMVInfo.java | 2 +-
.../trees/plans/commands/info/CreateTableInfo.java | 141 +++-
.../trees/plans/commands/info/SortFieldInfo.java | 67 ++
.../commands/insert/InsertIntoTVFCommand.java | 209 +++++
.../job/UnassignedScanBucketOlapTableJob.java | 36 +
.../trees/plans/logical/LogicalTVFTableSink.java | 135 ++++
.../trees/plans/physical/PhysicalTVFTableSink.java | 157 ++++
.../nereids/trees/plans/visitor/SinkVisitor.java | 17 +
.../org/apache/doris/planner/IcebergTableSink.java | 46 +-
.../org/apache/doris/planner/OlapScanNode.java | 2 +-
.../org/apache/doris/planner/TVFTableSink.java | 206 +++++
.../java/org/apache/doris/plugin/AuditEvent.java | 7 +
.../org/apache/doris/plugin/audit/AuditLoader.java | 1 +
.../java/org/apache/doris/qe/AuditLogHelper.java | 12 +
.../main/java/org/apache/doris/qe/Coordinator.java | 26 +
.../java/org/apache/doris/qe/SessionVariable.java | 38 +-
.../apache/doris/service/FrontendServiceImpl.java | 13 +-
.../doris/transaction/DatabaseTransactionMgr.java | 10 +-
.../apache/doris/analysis/SearchPredicateTest.java | 136 ++++
.../TabletSlidingWindowAccessStatsTest.java | 224 +++++
.../cloud/catalog/CloudTabletRebalancerTest.java | 241 ++++++
.../nereids/postprocess/TopNRuntimeFilterTest.java | 53 ++
.../functions/scalar/SearchDslParserTest.java | 898 +++++++++++++++++++--
.../org/apache/doris/nereids/util/PlanChecker.java | 8 +
.../apache/doris/qe/AuditEventProcessorTest.java | 2 +
.../doris/qe/LocalShuffleWithBucketJoinTest.java | 4 +-
fe/fe-extension-loader/README.md | 403 +++++++++
.../pom.xml | 48 +-
.../extension/loader/ChildFirstClassLoader.java | 84 ++
.../doris/extension/loader/ClassLoadingPolicy.java | 84 ++
.../loader/DirectoryPluginRuntimeManager.java | 406 ++++++++++
.../apache/doris/extension/loader/LoadFailure.java | 71 ++
.../apache/doris/extension/loader/LoadReport.java | 59 ++
.../doris/extension/loader/PluginHandle.java | 84 ++
.../doris/extension/loader/PluginLoader.java | 87 ++
.../doris/extension/loader/package-info.java | 36 +
fe/fe-extension-spi/README.md | 204 +++++
.../pom.xml | 31 +-
.../org/apache/doris/extension/spi/Plugin.java | 31 +-
.../apache/doris/extension/spi/PluginContext.java | 28 +-
.../doris/extension/spi/PluginException.java | 25 +-
.../apache/doris/extension/spi/PluginFactory.java | 44 +-
.../apache/doris/extension/spi/package-info.java | 29 +-
fe/pom.xml | 3 +
gensrc/proto/cloud.proto | 18 +
gensrc/thrift/DataSinks.thrift | 36 +
gensrc/thrift/Exprs.thrift | 3 +
gensrc/thrift/PaloInternalService.thrift | 4 +
.../ann_range_search_nullable_literal.out | 54 ++
.../data/audit/test_audit_log_behavior.out | 1 +
.../iceberg/write/test_iceberg_write_stats2.out | 33 +
.../tvf/insert/test_insert_into_hdfs_tvf.out | 134 +++
.../tvf/insert/test_insert_into_local_tvf.out | 134 +++
.../tvf/insert/test_insert_into_s3_tvf.out | 134 +++
.../analyzer/test_custom_analyzer.out | 9 +
.../data/inverted_index_p0/test_omit_norms.out | 29 +
.../spatial_functions/test_gis_function.out | 225 ++++++
.../test_array_distance_functions.out | 58 ++
.../test_short_circuit_evaluation.out | 7 +
.../string_functions/test_previous_day.out | 185 +++++
.../data/search/test_search_dsl_operators.out | 45 ++
regression-test/data/search/test_search_escape.out | 9 -
.../data/search/test_search_lucene_mode.out | 4 +
.../data/search/test_search_multi_field.out | 16 +-
.../data/search/test_search_regexp_lowercase.out | 39 +
.../test_search_variant_dual_index_reader.out | 23 +
.../test_search_variant_subcolumn_analyzer.out | 30 +
.../data/search/test_search_variant_wildcard.out | 42 +
.../shape_check/tpcds_sf1000/shape/query72.out | 30 +-
.../org/apache/doris/regression/Config.groovy | 8 +-
.../org/apache/doris/regression/suite/Suite.groovy | 2 +-
.../ann_range_search_nullable_literal.groovy | 237 ++++++
.../suites/audit/test_audit_log_queue_time.groovy | 129 +++
.../test_active_tablet_priority_scheduling.groovy | 263 ++++++
...test_cloud_alter_disable_auto_compaction.groovy | 193 +++++
.../test_compaction_cluster_takeover.groovy | 264 ++++++
.../test_compaction_rw_separation.groovy | 158 ++++
.../test_compaction_rw_separation_disabled.groovy | 151 ++++
.../test_compaction_rw_separation_force.groovy | 161 ++++
.../cloud_p0/multi_cluster/test_auto_start.groovy | 53 ++
.../compaction/test_compaction_uniq_keys_ck.groovy | 2 +-
.../test_compaction_uniq_keys_row_store_ck.groovy | 2 +-
...test_compaction_uniq_keys_with_delete_ck.groovy | 2 +-
.../compaction/test_full_compaction_ck.groovy | 2 +-
.../test_vertical_compaction_uniq_keys_ck.groovy | 2 +-
.../iceberg/write/test_iceberg_create_table.groovy | 26 +
.../iceberg/write/test_iceberg_write_stats2.groovy | 118 +++
.../tvf/insert/test_insert_into_hdfs_tvf.groovy | 553 +++++++++++++
.../tvf/insert/test_insert_into_local_tvf.groovy | 690 ++++++++++++++++
.../tvf/insert/test_insert_into_s3_tvf.groovy | 566 +++++++++++++
.../analyzer/test_custom_analyzer.groovy | 73 +-
.../test_index_compaction_unique_keys_arr.groovy | 2 +-
.../inverted_index_p0/test_omit_norms.groovy | 139 ++++
.../load_p0/stream_load/test_sink_tolerate.groovy | 39 +
.../cte/subquery_in_cte/subquery_in_cte.groovy | 67 ++
.../suites/nereids_p0/delete/delete_cte_ck.groovy | 4 +-
.../test_add_sub_union_type.groovy | 814 +++++++++----------
.../spatial_functions/test_gis_function.groovy | 111 +++
.../suites/point_query_p0/load_ck.groovy | 2 +-
.../point_query_p0/test_point_query_ck.groovy | 6 +-
.../test_point_query_partition_ck.groovy | 4 +-
.../suites/point_query_p0/test_rowstore_ck.groovy | 14 +-
.../point_query_p0/test_rowstore_query_ck.groovy | 2 +-
.../test_array_distance_functions.groovy | 141 +++-
.../test_short_circuit_evaluation.groovy | 9 +
.../string_functions/test_previous_day.groovy | 127 +++
.../test_width_bucket_function.groovy | 6 +
.../unique_ck/test_schema_change_unique.groovy | 2 +-
.../unique_ck/test_unique_schema_value_drop.groovy | 14 +-
.../test_unique_schema_value_modify.groovy | 20 +-
.../test_unique_schema_value_modify1.groovy | 10 +-
.../test_unique_schema_value_modify2.groovy | 14 +-
.../test_unique_schema_value_modify3.groovy | 6 +-
.../search/test_search_boundary_cases.groovy | 45 +-
.../suites/search/test_search_cache.groovy | 138 ++++
.../test_search_default_field_operator.groovy | 5 +-
.../suites/search/test_search_dsl_operators.groovy | 234 ++++++
.../suites/search/test_search_dsl_syntax.groovy | 2 +-
.../suites/search/test_search_escape.groovy | 45 +-
.../suites/search/test_search_exact_basic.groovy | 5 +-
.../search/test_search_exact_lowercase.groovy | 5 +-
.../suites/search/test_search_exact_match.groovy | 5 +-
.../search/test_search_exact_multi_index.groovy | 5 +-
.../search/test_search_field_group_query.groovy | 205 +++++
.../suites/search/test_search_function.groovy | 2 +-
...n.groovy => test_search_function.groovy.backup} | 162 +++-
.../search/test_search_inverted_index.groovy | 2 +-
.../suites/search/test_search_lucene_mode.groovy | 14 +-
.../suites/search/test_search_mow_support.groovy | 2 +-
.../suites/search/test_search_multi_field.groovy | 37 +-
.../search/test_search_null_regression.groovy | 29 +-
.../search/test_search_null_semantics.groovy | 21 +-
.../search/test_search_regexp_lowercase.groovy | 156 ++++
.../search/test_search_usage_restrictions.groovy | 2 +-
.../test_search_variant_dual_index_reader.groovy | 135 ++++
.../test_search_variant_subcolumn_analyzer.groovy | 180 +++++
.../search/test_search_variant_wildcard.groovy | 166 ++++
.../search/test_search_vs_match_consistency.groovy | 35 +-
.../test_segcompaction_unique_keys_mow_ck.groovy | 2 +-
.../shape_check/tpcds_sf1000/shape/query64.groovy | 242 +++---
.../tpcds_sf1_unique_ck_p1/ddl/call_center.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/catalog_page.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/catalog_returns.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/catalog_sales.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/customer.sql | 2 +-
.../ddl/customer_address.sql | 2 +-
.../ddl/customer_demographics.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/date_dim.sql | 2 +-
.../ddl/household_demographics.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/income_band.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/inventory.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/item.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/promotion.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/reason.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/ship_mode.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/store.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/store_returns.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/store_sales.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/time_dim.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/warehouse.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/web_page.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/web_returns.sql | 2 +-
.../tpcds_sf1_unique_ck_p1/ddl/web_sales.sql | 2 +-
.../suites/tpcds_sf1_unique_ck_p1/ddl/web_site.sql | 2 +-
.../tpch_sf0.1_unique_ck_p1/ddl/customer.sql | 2 +-
.../tpch_sf0.1_unique_ck_p1/ddl/lineitem.sql | 2 +-
.../suites/tpch_sf0.1_unique_ck_p1/ddl/nation.sql | 2 +-
.../suites/tpch_sf0.1_unique_ck_p1/ddl/orders.sql | 2 +-
.../suites/tpch_sf0.1_unique_ck_p1/ddl/part.sql | 2 +-
.../tpch_sf0.1_unique_ck_p1/ddl/partsupp.sql | 2 +-
.../suites/tpch_sf0.1_unique_ck_p1/ddl/region.sql | 2 +-
.../tpch_sf0.1_unique_ck_p1/ddl/supplier.sql | 2 +-
.../partial_update/test_mix_partial_update.groovy | 8 +-
.../test_new_partial_update_delete.groovy | 2 +-
.../partial_update/test_partial_update.groovy | 8 +-
.../test_partial_update_2pc_schema_change.groovy | 2 +-
.../test_partial_update_after_delete.groovy | 4 +-
.../test_partial_update_auto_inc.groovy | 2 +-
.../test_partial_update_case_insensitivity.groovy | 2 +-
.../test_partial_update_complex_type.groovy | 2 +-
...artial_update_complex_type_schema_change.groovy | 2 +-
.../test_partial_update_default_value.groovy | 2 +-
.../test_partial_update_delete.groovy | 4 +-
.../test_partial_update_delete_sign.groovy | 8 +-
...partial_update_delete_sign_with_conflict.groovy | 2 +-
...artial_update_insert_light_schema_change.groovy | 10 +-
...test_partial_update_insert_schema_change.groovy | 10 +-
.../test_partial_update_insert_seq_col.groovy | 4 +-
.../test_partial_update_native_insert_stmt.groovy | 14 +-
...artial_update_native_insert_stmt_complex.groovy | 4 +-
.../partial_update/test_partial_update_orc.groovy | 2 +-
.../test_partial_update_parallel.groovy | 10 +-
.../test_partial_update_publish.groovy | 2 +-
.../test_partial_update_schema_change.groovy | 20 +-
...t_partial_update_schema_change_row_store.groovy | 20 +-
.../test_partial_update_with_update_stmt.groovy | 6 +-
.../ssb_unique_load_zstd/ddl/customer_create.sql | 2 +-
.../ddl/customer_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/date_create.sql | 2 +-
.../ddl/date_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/lineorder_create.sql | 2 +-
.../ddl/lineorder_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/part_create.sql | 2 +-
.../ddl/part_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/supplier_create.sql | 2 +-
.../ddl/supplier_sequence_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/customer_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/date_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/lineorder_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/part_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/supplier_create.sql | 2 +-
.../test_compact_multi_segments.groovy | 2 +-
.../unique_with_mow_c_p0/test_compact_seg.groovy | 2 +-
.../test_compact_with_seq.groovy | 2 +-
.../test_compact_with_seq2.groovy | 2 +-
...est_compaction_with_multi_append_columns.groovy | 2 +-
.../unique_with_mow_c_p0/test_create_table.groovy | 71 +-
.../unique_with_mow_c_p0/test_delete_sign.groovy | 8 +-
.../test_delete_sign_delete_bitmap.groovy | 4 +-
.../test_mow_full_clone_exception.groovy | 2 +-
.../test_mow_with_null_sequence.groovy | 4 +-
.../unique_with_mow_c_p0/test_pk_uk_case.groovy | 2 +-
.../test_primary_key_simple_case.groovy | 2 +-
.../unique_with_mow_c_p0/test_schema_change.groovy | 2 +-
.../test_schema_change_add_key_column.groovy | 2 +-
.../test_schema_change_and_compaction.groovy | 2 +-
.../test_schema_change_ck.groovy | 6 +-
.../suites/unique_with_mow_c_p0/test_select.groovy | 2 +-
.../test_unique_mow_sequence.groovy | 2 +-
.../suites/unique_with_mow_c_p0/test_update.groovy | 2 +-
.../ssb_unique_load_zstd/ddl/customer_create.sql | 2 +-
.../ddl/customer_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/date_create.sql | 2 +-
.../ddl/date_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/lineorder_create.sql | 2 +-
.../ddl/lineorder_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/part_create.sql | 2 +-
.../ddl/part_sequence_create.sql | 2 +-
.../ssb_unique_load_zstd/ddl/supplier_create.sql | 2 +-
.../ddl/supplier_sequence_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/customer_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/date_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/lineorder_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/part_create.sql | 2 +-
.../ssb_unique_sql_zstd/ddl/supplier_create.sql | 2 +-
.../unique_with_mow_c_p2/test_pk_uk_case.groovy | 2 +-
thirdparty/build-thirdparty.sh | 18 +
.../paimon-cpp-buildutils-static-deps.patch | 33 +
523 files changed, 37822 insertions(+), 3015 deletions(-)
create mode 100644 be/src/cloud/cloud_cluster_info.cpp
create mode 100644
be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_prefix_query/phrase_prefix_query.h
create mode 100644
be/src/olap/rowset/segment_v2/inverted_index/query_v2/phrase_prefix_query/phrase_prefix_weight.h
copy
be/src/olap/rowset/segment_v2/inverted_index/query_v2/{regexp_query/regexp_weight.h
=> prefix_query/prefix_query.h} (53%)
create mode 100644
be/src/olap/rowset/segment_v2/inverted_index/query_v2/prefix_query/prefix_weight.h
create mode 100644
be/src/olap/rowset/segment_v2/inverted_index/query_v2/union_postings.h
create mode 100644 be/src/pipeline/exec/spill_iceberg_table_sink_operator.cpp
create mode 100644 be/src/pipeline/exec/spill_iceberg_table_sink_operator.h
copy be/src/pipeline/exec/{iceberg_table_sink_operator.cpp =>
tvf_table_sink_operator.cpp} (82%)
create mode 100644 be/src/pipeline/exec/tvf_table_sink_operator.h
create mode 100644 be/src/vec/aggregate_functions/aggregate_function_null_v2.h
create mode 100644 be/src/vec/exec/format/table/paimon_cpp_reader.cpp
create mode 100644 be/src/vec/exec/format/table/paimon_cpp_reader.h
create mode 100644 be/src/vec/exec/format/table/paimon_doris_file_system.cpp
copy be/src/{cloud/cloud_cluster_info.h =>
vec/exec/format/table/paimon_doris_file_system.h} (73%)
create mode 100644 be/src/vec/exec/format/table/paimon_predicate_converter.cpp
create mode 100644 be/src/vec/exec/format/table/paimon_predicate_converter.h
create mode 100644 be/src/vec/runtime/vfile_format_transformer_factory.cpp
copy be/src/{pipeline/exec/iceberg_table_sink_operator.cpp =>
vec/runtime/vfile_format_transformer_factory.h} (56%)
create mode 100644 be/src/vec/runtime/vjni_format_transformer.cpp
create mode 100644 be/src/vec/runtime/vjni_format_transformer.h
create mode 100644 be/src/vec/sink/writer/iceberg/viceberg_sort_writer.h
create mode 100644 be/src/vec/sink/writer/iceberg/vpartition_writer_base.h
create mode 100644 be/src/vec/sink/writer/vtvf_table_writer.cpp
create mode 100644 be/src/vec/sink/writer/vtvf_table_writer.h
create mode 100644 be/test/cloud/cloud_cluster_info_test.cpp
create mode 100644
be/test/olap/rowset/segment_v2/inverted_index/query_v2/phrase_prefix_query_test.cpp
create mode 100644
be/test/olap/rowset/segment_v2/inverted_index/query_v2/prefix_query_test.cpp
create mode 100644
be/test/olap/rowset/segment_v2/inverted_index/query_v2/regexp_wildcard_lowercase_test.cpp
create mode 100644
be/test/olap/rowset/segment_v2/inverted_index/query_v2/union_postings_test.cpp
create mode 100644
be/test/olap/rowset/segment_v2/search_function_query_cache_test.cpp
create mode 100644 be/test/vec/exec/format/table/paimon_cpp_reader_test.cpp
create mode 100644
be/test/vec/function/function_array_cosine_similarity_test.cpp
create mode 100644 cloud/test/compaction_rw_separation_test.cpp
create mode 100644
docker/thirdparties/docker-compose/iceberg/scripts/create_preinstalled_scripts/iceberg/run26.sql
create mode 100644
fe/be-java-extensions/java-common/src/main/java/org/apache/doris/common/jni/JniWriter.java
create mode 100644 fe/be-java-extensions/java-writer/pom.xml
create mode 100644
fe/be-java-extensions/java-writer/src/main/java/org/apache/doris/writer/LocalFileJniWriter.java
copy fe/be-java-extensions/{avro-scanner =>
java-writer}/src/main/resources/package.xml (100%)
create mode 100644 fe/fe-authentication/fe-authentication-api/README.md
create mode 100644 fe/fe-authentication/fe-authentication-api/pom.xml
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/AuthenticationBinding.java
copy be/src/pipeline/exec/iceberg_table_sink_operator.cpp =>
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/AuthenticationException.java
(52%)
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/AuthenticationIntegration.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/AuthenticationRequest.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/AuthenticationResult.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/BasicPrincipal.java
copy be/src/pipeline/exec/iceberg_table_sink_operator.cpp =>
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/CredentialType.java
(52%)
create mode 100644
fe/fe-authentication/fe-authentication-api/src/main/java/org/apache/doris/authentication/Principal.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/test/java/org/apache/doris/authentication/AuthenticationExceptionTest.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/test/java/org/apache/doris/authentication/AuthenticationIntegrationTest.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/test/java/org/apache/doris/authentication/AuthenticationRequestTest.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/test/java/org/apache/doris/authentication/AuthenticationResultTest.java
create mode 100644
fe/fe-authentication/fe-authentication-api/src/test/java/org/apache/doris/authentication/BasicPrincipalTest.java
create mode 100644 fe/fe-authentication/fe-authentication-handler/pom.xml
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/AuthenticationOutcome.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/AuthenticationPluginManager.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/AuthenticationService.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/BindingRegistry.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/BindingResolver.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/main/java/org/apache/doris/authentication/handler/IntegrationRegistry.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/AuthenticationOutcomeTest.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/AuthenticationPluginManagerTest.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/AuthenticationServiceTest.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/BindingRegistryTest.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/BindingResolverTest.java
create mode 100644
fe/fe-authentication/fe-authentication-handler/src/test/java/org/apache/doris/authentication/handler/IntegrationRegistryTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/README.md
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/pom.xml
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/main/java/org/apache/doris/authentication/plugin/ldap/LdapAuthenticationPlugin.java
copy regression-test/suites/unique_with_mow_c_p0/test_update.groovy =>
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/main/java/org/apache/doris/authentication/plugin/ldap/LdapAuthenticationPluginFactory.java
(50%)
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/main/java/org/apache/doris/authentication/plugin/ldap/LdapClient.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/main/resources/META-INF/services/org.apache.doris.authentication.spi.AuthenticationPluginFactory
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/java/org/apache/doris/authentication/plugin/ldap/LdapAuthenticationPluginFactoryTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/java/org/apache/doris/authentication/plugin/ldap/LdapAuthenticationPluginIntegrationTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/java/org/apache/doris/authentication/plugin/ldap/LdapAuthenticationPluginTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/java/org/apache/doris/authentication/plugin/ldap/LdapClientTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/java/org/apache/doris/authentication/plugin/ldap/TestUtils.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-ldap/src/test/resources/test-ldap-data.ldif
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/README.md
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/pom.xml
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/main/java/org/apache/doris/authentication/plugin/password/PasswordAuthenticationPlugin.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/main/java/org/apache/doris/authentication/plugin/password/PasswordAuthenticationPluginFactory.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/main/java/org/apache/doris/authentication/plugin/password/PasswordHasher.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/main/resources/META-INF/services/org.apache.doris.authentication.spi.AuthenticationPluginFactory
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/test/java/org/apache/doris/authentication/plugin/password/PasswordAuthenticationPluginFactoryTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/test/java/org/apache/doris/authentication/plugin/password/PasswordAuthenticationPluginTest.java
create mode 100644
fe/fe-authentication/fe-authentication-plugins/fe-authentication-plugin-password/src/test/java/org/apache/doris/authentication/plugin/password/PasswordHasherTest.java
copy fe/{be-java-extensions =>
fe-authentication/fe-authentication-plugins}/pom.xml (54%)
create mode 100644 fe/fe-authentication/fe-authentication-spi/README.md
copy fe/{be-java-extensions =>
fe-authentication/fe-authentication-spi}/pom.xml (52%)
create mode 100644
fe/fe-authentication/fe-authentication-spi/src/main/java/org/apache/doris/authentication/spi/AuthenticationPlugin.java
create mode 100644
fe/fe-authentication/fe-authentication-spi/src/main/java/org/apache/doris/authentication/spi/AuthenticationPluginFactory.java
create mode 100644
fe/fe-authentication/fe-authentication-spi/src/test/java/org/apache/doris/authentication/spi/AuthenticationPluginContractTest.java
create mode 100644
fe/fe-authentication/fe-authentication-spi/src/test/java/org/apache/doris/authentication/spi/AuthenticationPluginFactoryContractTest.java
copy fe/{be-java-extensions => fe-authentication}/pom.xml (56%)
delete mode 100644
fe/fe-core/src/main/java/org/apache/doris/analysis/AbstractBackupTableRefClause.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/catalog/TabletSlidingWindowAccessStats.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/UnboundTVFTableSink.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/implementation/LogicalTVFTableSinkToPhysicalTVFTableSink.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/executable/ArrayArithmetic.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CosineSimilarity.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/PreviousDay.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StDistance.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StGeometryType.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StLength.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/SortFieldInfo.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/insert/InsertIntoTVFCommand.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/LogicalTVFTableSink.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/physical/PhysicalTVFTableSink.java
create mode 100644
fe/fe-core/src/main/java/org/apache/doris/planner/TVFTableSink.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/catalog/TabletSlidingWindowAccessStatsTest.java
create mode 100644
fe/fe-core/src/test/java/org/apache/doris/cloud/catalog/CloudTabletRebalancerTest.java
create mode 100644 fe/fe-extension-loader/README.md
copy fe/{be-java-extensions => fe-extension-loader}/pom.xml (53%)
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ChildFirstClassLoader.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/ClassLoadingPolicy.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/DirectoryPluginRuntimeManager.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/LoadFailure.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/LoadReport.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/PluginHandle.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/PluginLoader.java
create mode 100644
fe/fe-extension-loader/src/main/java/org/apache/doris/extension/loader/package-info.java
create mode 100644 fe/fe-extension-spi/README.md
copy fe/{be-java-extensions => fe-extension-spi}/pom.xml (53%)
copy be/src/cloud/cloud_cluster_info.h =>
fe/fe-extension-spi/src/main/java/org/apache/doris/extension/spi/Plugin.java
(63%)
copy be/src/cloud/cloud_cluster_info.h =>
fe/fe-extension-spi/src/main/java/org/apache/doris/extension/spi/PluginContext.java
(59%)
copy be/src/cloud/cloud_cluster_info.h =>
fe/fe-extension-spi/src/main/java/org/apache/doris/extension/spi/PluginException.java
(72%)
copy be/src/pipeline/exec/iceberg_table_sink_operator.cpp =>
fe/fe-extension-spi/src/main/java/org/apache/doris/extension/spi/PluginFactory.java
(52%)
copy be/src/cloud/cloud_cluster_info.h =>
fe/fe-extension-spi/src/main/java/org/apache/doris/extension/spi/package-info.java
(56%)
create mode 100644
regression-test/data/ann_index_p0/ann_range_search_nullable_literal.out
create mode 100644
regression-test/data/external_table_p0/iceberg/write/test_iceberg_write_stats2.out
create mode 100644
regression-test/data/external_table_p0/tvf/insert/test_insert_into_hdfs_tvf.out
create mode 100644
regression-test/data/external_table_p0/tvf/insert/test_insert_into_local_tvf.out
create mode 100644
regression-test/data/external_table_p0/tvf/insert/test_insert_into_s3_tvf.out
create mode 100644 regression-test/data/inverted_index_p0/test_omit_norms.out
create mode 100644
regression-test/data/query_p0/sql_functions/string_functions/test_previous_day.out
create mode 100644 regression-test/data/search/test_search_dsl_operators.out
create mode 100644 regression-test/data/search/test_search_regexp_lowercase.out
create mode 100644
regression-test/data/search/test_search_variant_dual_index_reader.out
create mode 100644
regression-test/data/search/test_search_variant_subcolumn_analyzer.out
create mode 100644 regression-test/data/search/test_search_variant_wildcard.out
create mode 100644
regression-test/suites/ann_index_p0/ann_range_search_nullable_literal.groovy
create mode 100644
regression-test/suites/audit/test_audit_log_queue_time.groovy
create mode 100644
regression-test/suites/cloud_p0/balance/test_active_tablet_priority_scheduling.groovy
create mode 100644
regression-test/suites/cloud_p0/compaction/test_cloud_alter_disable_auto_compaction.groovy
create mode 100644
regression-test/suites/cloud_p0/compaction_rw_separation/test_compaction_cluster_takeover.groovy
create mode 100644
regression-test/suites/cloud_p0/compaction_rw_separation/test_compaction_rw_separation.groovy
create mode 100644
regression-test/suites/cloud_p0/compaction_rw_separation/test_compaction_rw_separation_disabled.groovy
create mode 100644
regression-test/suites/cloud_p0/compaction_rw_separation/test_compaction_rw_separation_force.groovy
create mode 100644
regression-test/suites/external_table_p0/iceberg/write/test_iceberg_write_stats2.groovy
create mode 100644
regression-test/suites/external_table_p0/tvf/insert/test_insert_into_hdfs_tvf.groovy
create mode 100644
regression-test/suites/external_table_p0/tvf/insert/test_insert_into_local_tvf.groovy
create mode 100644
regression-test/suites/external_table_p0/tvf/insert/test_insert_into_s3_tvf.groovy
create mode 100644
regression-test/suites/inverted_index_p0/test_omit_norms.groovy
create mode 100644
regression-test/suites/nereids_p0/cte/subquery_in_cte/subquery_in_cte.groovy
create mode 100644
regression-test/suites/query_p0/sql_functions/string_functions/test_previous_day.groovy
create mode 100644 regression-test/suites/search/test_search_cache.groovy
create mode 100644
regression-test/suites/search/test_search_dsl_operators.groovy
create mode 100644
regression-test/suites/search/test_search_field_group_query.groovy
copy regression-test/suites/search/{test_search_function.groovy =>
test_search_function.groovy.backup} (52%)
create mode 100644
regression-test/suites/search/test_search_regexp_lowercase.groovy
create mode 100644
regression-test/suites/search/test_search_variant_dual_index_reader.groovy
create mode 100644
regression-test/suites/search/test_search_variant_subcolumn_analyzer.groovy
create mode 100644
regression-test/suites/search/test_search_variant_wildcard.groovy
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]