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 ba918b40e2 [chore](macOS) Fix compilation errors caused by the deprecated function (#13890) add 6f3db8b4b4 [enhancement](Nereids) add eliminate unnecessary project rule (#13886) add f2a0adf34e [fix](fe) Inconsistent behavior for string comparison in FE and BE (#13604) add 699ffbca0e [enhancement](Nereids) generate correct distribution spec after project (#13725) add 1bafb26217 [fix](Nereids) throw NPE when call getOutputExprIds in LogicalProperties (#13898) add a871fef815 [Improve](Nereids): refactor eliminate outer join (#13402) add 6eea855e78 [feature](Nereids) Support lots of scalar function and fix some bug (#13764) add b26d8f284c [fix](rpc) The proxy removed when rpc exception occurs is not an abnormal proxy (#13836) add 374303186c [Vectorized](function) support topn_array function (#13869) add 53814e466b [Enhancement](Nereids)optimize merge group in memo #13900 add 62f765b7f5 [improvement](scan) speed up inserting strings into ColumnString (#13397) add fbc8b7311f [Opt](function) opt the function of ndv (#13887) add 0ea7f85986 [fix](keyword) add BIN as keyword (#13907) add b83744d2f6 [feature](function)add regexp functions: regexp_replace_one, regexp_extract_all (#13766) add e021705053 [feature](nereids) support common table expression (#12742) add 228e5afad8 [Load](Sink) remove validate the column data when data is NULL (#13919) add 7b4c2cabb4 [feature](new-scan) support transactional insert in new scan framework (#13858) add 636bdffe62 [fix](doc) fix 404 link (#13908) add cc37ef0f2b [regression-test](query) Add the regression case of the query under the large wide table. #13897 add 28a4a8dc17 [fix](storage) evaluate_and of ComparisonPredicateBase has logical error (#13895) add 1ee6518e00 [fix](unique-key-merge-on-write) Types don't match when calling IndexedColumnIterator::seek_at_or_after (#13885) add 37e4a1769d [fix](sequence) fix that update table core dump with sequence column (#13847) add b3c6af0059 [Bugfix](MV) Fixed load negative values into bitmap type materialized views successfully under non-vectorization (#13719) add 32a029d9dc [enhancement](memtracker) Refactor load channel + memtable mem tracker (#13795) add 5a700223fe [fix](function) fix coredump cause by return type mismatch of vectorized repeat function (#13868) add a4a991207b [fix](agg)fix group by constant value bug (#13827) add 31d8fdd9e4 [fix](Nereids) finalize local aggregate should not turn on stream pre agg (#13922) add 57ee5c4a65 [feature](nereids) Support authentication (#13434) add bfba058ecf [Feature](join) Support null aware left anti join (#13871) add 29e01db7ce [Fix](Nereids) add comments to CostAndEnforcerJob and fix view test case (#13046) add 5fe3342aa3 [Vectorized](function) support bitmap_to_array function (#13926) add 6ff306b1ea [docs](round) complement round function documentation (#13838) add b1816d49e7 [fix](typo) check catalog enable exception message spelling mistake (#13925) add ee934483eb [Enhancement](function) optimize the `upper` and `lower` functions using the simd instruction. (#13326) add c1438cbad6 [revert](Nereids): revert GroupExpression Children ImmutableList. (#13918) add 8043418db4 [optimization](array-type) update the exception message when create table with array column (#13731) add d183199319 [Bug](array-type) Fix array product calculate decimal type return wrong result (#13794) add ff935ca1a0 [enhancement](chore) remove debug log which is really too frequent #13909 add 1b36843664 [doc](jsonb type)add documents for JSONB datatype (#13792) add 5d7b51dcc2 [BugFix](Concat) output of string concat function exceeds UINT makes crash (#13916) add 0a228a68d6 [Improvement](javaudf) support different date argument for date/datetime type (#13920) add 9869915279 [refactor](crossjoin) refactor cross join (#13896) add 5d56fe6d32 [fix](meta)(recover) fix recover info persist bug (#13948) add 698541e58d [improvement](exec) add more debug info on fragment exec error (#13899) add f2d84d81e6 [feature-wip][refactor](multi-catalog) Persist external catalog related metadata. (#13746) add e09033276e [fix](runtime-filter) build thread destruct first may cause probe thread coredump (#13911) add efb2596c7a [enhancment](Nereids) enable push down filter through aggregation (#13938) add 9bf20a7b5d [enhancement](Nereids) remove unnecessary int cast (#13881) add dc01fb4085 [enhancement](Nereids) remove unnecessary string cast (#13730) add 948e080b31 [minor](error msg) Fix wrong error message (#13950) add 554f566217 [enhancement](compaction) introduce segment compaction (#12609) (#12866) add 06a1efdb01 [fix](Nerieds) fix tpch and support trace plan's change event (#13957) No new revisions were added by this update. Summary of changes: be/src/common/config.h | 23 +- be/src/common/status.h | 6 +- be/src/exec/blocking_join_node.cpp | 2 +- be/src/exec/broker_scan_node.cpp | 2 +- be/src/exec/es_http_scan_node.cpp | 2 +- be/src/exec/except_node.cpp | 2 +- be/src/exec/exec_node.cpp | 6 +- be/src/exec/exec_node.h | 3 +- be/src/exec/hash_join_node.cpp | 44 +- be/src/exec/intersect_node.cpp | 2 +- be/src/exec/olap_scan_node.cpp | 9 +- be/src/exec/olap_scan_node.h | 2 +- be/src/exec/olap_scanner.cpp | 8 +- be/src/exec/olap_scanner.h | 5 +- be/src/exprs/bitmap_function.cpp | 2 +- be/src/olap/compaction.cpp | 2 +- be/src/olap/comparison_predicate.h | 2 +- be/src/olap/delta_writer.cpp | 91 +- be/src/olap/delta_writer.h | 27 +- be/src/olap/memtable.cpp | 38 +- be/src/olap/memtable.h | 25 +- be/src/olap/olap_server.cpp | 21 + be/src/olap/rowset/beta_rowset.cpp | 13 + be/src/olap/rowset/beta_rowset.h | 7 + be/src/olap/rowset/beta_rowset_writer.cpp | 654 ++++++++++- be/src/olap/rowset/beta_rowset_writer.h | 72 +- be/src/olap/rowset/segment_v2/binary_plain_page.h | 14 +- .../olap/rowset/segment_v2/indexed_column_reader.h | 5 + be/src/olap/rowset/segment_v2/segment_writer.h | 7 +- be/src/olap/schema_change.h | 1 + be/src/olap/storage_engine.cpp | 11 + be/src/olap/storage_engine.h | 15 + be/src/olap/tablet_manager.cpp | 6 - be/src/runtime/fragment_mgr.cpp | 47 +- be/src/runtime/load_channel.cpp | 12 +- be/src/runtime/load_channel.h | 29 +- be/src/runtime/load_channel_mgr.cpp | 21 +- be/src/runtime/load_channel_mgr.h | 32 +- be/src/runtime/memory/mem_tracker.h | 1 + be/src/runtime/memory/mem_tracker_limiter.h | 1 + be/src/runtime/memory/mem_tracker_task_pool.cpp | 2 +- be/src/runtime/memory/thread_mem_tracker_mgr.h | 1 - be/src/runtime/runtime_filter_mgr.cpp | 4 +- be/src/runtime/runtime_filter_mgr.h | 2 +- be/src/runtime/tablets_channel.cpp | 26 +- be/src/runtime/tablets_channel.h | 11 +- be/src/runtime/thread_context.cpp | 16 +- be/src/runtime/thread_context.h | 8 + be/src/service/doris_main.cpp | 5 +- be/src/util/bitmap_value.h | 21 +- be/src/util/doris_metrics.h | 1 + be/src/util/libjvm_loader.cpp | 4 +- be/src/vec/CMakeLists.txt | 3 +- .../aggregate_function_approx_count_distinct.h | 17 +- .../aggregate_function_product.h | 27 + .../aggregate_function_topn.cpp | 61 + .../aggregate_functions/aggregate_function_topn.h | 133 ++- be/src/vec/columns/column.h | 12 +- be/src/vec/columns/column_complex.h | 11 + be/src/vec/columns/column_decimal.h | 4 - be/src/vec/columns/column_dictionary.h | 17 +- be/src/vec/columns/column_jsonb.h | 26 + be/src/vec/columns/column_nullable.h | 9 + be/src/vec/columns/column_string.h | 101 +- be/src/vec/columns/columns_number.h | 18 + be/src/vec/columns/predicate_column.h | 30 +- be/src/vec/exec/format/csv/csv_reader.cpp | 8 +- be/src/vec/exec/format/csv/csv_reader.h | 1 + be/src/vec/exec/join/vhash_join_node.cpp | 100 +- be/src/vec/exec/join/vhash_join_node.h | 18 +- be/src/vec/exec/scan/new_olap_scanner.cpp | 37 +- be/src/vec/exec/scan/new_olap_scanner.h | 2 +- be/src/vec/exec/scan/vfile_scanner.cpp | 3 +- be/src/vec/exec/vblocking_join_node.cpp | 154 --- be/src/vec/exec/vblocking_join_node.h | 131 --- be/src/vec/exec/vbroker_scan_node.cpp | 2 +- be/src/vec/exec/vcross_join_node.h | 85 -- be/src/vec/exec/ves_http_scan_node.cpp | 2 +- ...ss_join_node.cpp => vnested_loop_join_node.cpp} | 142 ++- be/src/vec/exec/vnested_loop_join_node.h | 117 ++ be/src/vec/exec/volap_scan_node.cpp | 2 +- be/src/vec/exec/volap_scanner.cpp | 37 +- be/src/vec/exec/volap_scanner.h | 2 +- be/src/vec/exec/vschema_scan_node.cpp | 2 +- be/src/vec/exprs/vcast_expr.cpp | 1 - be/src/vec/exprs/vectorized_fn_call.cpp | 9 + be/src/vec/functions/function_bitmap.cpp | 54 +- be/src/vec/functions/function_java_udf.cpp | 27 +- be/src/vec/functions/function_regexp.cpp | 263 +++-- be/src/vec/functions/function_string.cpp | 25 +- be/src/vec/functions/function_string.h | 12 +- be/src/vec/functions/simple_function_factory.h | 2 +- be/src/vec/olap/block_reader.cpp | 9 +- be/src/vec/olap/vgeneric_iterators.cpp | 514 +++------ be/src/vec/olap/vgeneric_iterators.h | 261 +++++ be/src/vec/sink/vtablet_sink.cpp | 11 +- be/test/CMakeLists.txt | 1 + be/test/olap/delta_writer_test.cpp | 6 +- be/test/olap/segcompaction_test.cpp | 454 ++++++++ be/test/vec/aggregate_functions/agg_test.cpp | 2 +- .../aggregate_functions/vec_window_funnel_test.cpp | 7 +- be/test/vec/function/function_like_test.cpp | 61 + docs/en/docs/admin-manual/config/be-config.md | 18 + .../maint-monitor/be-olap-error-code.md | 6 +- .../aggregate-functions/topn_array.md | 61 + .../bitmap-functions/bitmap_to_array.md | 70 ++ .../sql-functions/json-functions/jsonb_extract.md | 86 ++ .../sql-functions/json-functions/jsonb_parse.md | 84 ++ .../sql-functions/json-functions/jsonb_tutorial.md | 801 +++++++++++++ .../sql-functions/math-functions/round.md | 16 +- .../string-functions/regexp/regexp_extract.md | 2 +- .../string-functions/regexp/regexp_extract_all.md | 61 + .../regexp/regexp_replace_one.md} | 53 +- .../round.md => sql-reference/Data-Types/JSONB.md} | 47 +- docs/sidebars.json | 10 +- docs/zh-CN/docs/admin-manual/config/be-config.md | 18 + .../maint-monitor/be-olap-error-code.md | 8 +- .../maint-monitor/tablet-repair-and-balance.md | 2 +- .../aggregate-functions/topn_array.md | 60 + .../bitmap-functions/bitmap_to_array.md | 70 ++ .../sql-functions/json-functions/jsonb_extract.md | 83 ++ .../sql-functions/json-functions/jsonb_parse.md | 81 ++ .../sql-functions/json-functions/jsonb_tutorial.md | 798 +++++++++++++ .../sql-functions/math-functions/round.md | 16 +- .../string-functions/regexp/regexp_extract_all.md | 59 + .../regexp/regexp_replace_one.md} | 53 +- .../round.md => sql-reference/Data-Types/JSONB.md} | 47 +- .../antlr4/org/apache/doris/nereids/DorisParser.g4 | 16 +- fe/fe-core/src/main/cup/sql_parser.cup | 2 + .../org/apache/doris/analysis/ArrayLiteral.java | 13 +- .../org/apache/doris/analysis/BoolLiteral.java | 5 + .../java/org/apache/doris/analysis/CastExpr.java | 6 + .../apache/doris/analysis/CreateFunctionStmt.java | 12 +- .../doris/analysis/CreateMaterializedViewStmt.java | 40 +- .../org/apache/doris/analysis/CreateTableStmt.java | 2 +- .../org/apache/doris/analysis/DateLiteral.java | 5 + .../org/apache/doris/analysis/DecimalLiteral.java | 5 + .../main/java/org/apache/doris/analysis/Expr.java | 29 +- .../org/apache/doris/analysis/FloatLiteral.java | 5 + .../apache/doris/analysis/FunctionCallExpr.java | 69 +- .../java/org/apache/doris/analysis/IntLiteral.java | 5 + .../org/apache/doris/analysis/JoinOperator.java | 3 +- .../org/apache/doris/analysis/JsonLiteral.java | 10 + .../org/apache/doris/analysis/LargeIntLiteral.java | 5 + .../org/apache/doris/analysis/LiteralExpr.java | 8 +- .../java/org/apache/doris/analysis/MaxLiteral.java | 10 + .../org/apache/doris/analysis/NullLiteral.java | 7 + .../java/org/apache/doris/analysis/SelectStmt.java | 7 +- .../org/apache/doris/analysis/StmtRewriter.java | 8 +- .../org/apache/doris/analysis/StringLiteral.java | 9 +- .../java/org/apache/doris/analysis/TableRef.java | 2 + ...nctions.java => BuiltinAggregateFunctions.java} | 19 +- .../doris/catalog/BuiltinScalarFunctions.java | 511 +++++++++ .../main/java/org/apache/doris/catalog/Column.java | 5 +- .../main/java/org/apache/doris/catalog/Env.java | 2 +- .../java/org/apache/doris/catalog/FuncSig.java | 76 -- .../org/apache/doris/catalog/FunctionRegistry.java | 4 +- .../java/org/apache/doris/catalog/FunctionSet.java | 7 + .../apache/doris/catalog/FunctionSignature.java | 115 ++ .../org/apache/doris/catalog/PrimitiveType.java | 1 + .../org/apache/doris/catalog/RefreshManager.java | 10 + .../main/java/org/apache/doris/catalog/Type.java | 19 +- .../doris/catalog/external/EsExternalDatabase.java | 79 +- .../doris/catalog/external/EsExternalTable.java | 79 +- .../doris/catalog/external/ExternalDatabase.java | 63 +- .../doris/catalog/external/ExternalTable.java | 81 +- .../catalog/external/HMSExternalDatabase.java | 81 +- .../doris/catalog/external/HMSExternalTable.java | 133 ++- .../java/org/apache/doris/common/util/Util.java | 2 +- .../org/apache/doris/datasource/CatalogMgr.java | 50 + .../apache/doris/datasource/EsExternalCatalog.java | 49 +- .../apache/doris/datasource/ExternalCatalog.java | 78 +- .../ExternalObjectLog.java} | 65 +- .../doris/datasource/HMSExternalCatalog.java | 72 +- .../apache/doris/datasource/InitCatalogLog.java | 92 ++ .../apache/doris/datasource/InitDatabaseLog.java | 96 ++ .../org/apache/doris/datasource/InitTableLog.java | 67 ++ .../doris/external/elasticsearch/EsUtil.java | 2 + .../org/apache/doris/journal/JournalEntity.java | 25 + .../org/apache/doris/nereids/CascadesContext.java | 1 - .../org/apache/doris/nereids/StatementContext.java | 16 + .../doris/nereids/analyzer/NereidsAnalyzer.java | 5 +- .../doris/nereids/analyzer/UnboundAlias.java | 27 +- .../doris/nereids/annotation/Developing.java | 6 +- .../doris/nereids/exceptions/ParseException.java | 2 +- .../glue/translator/ExpressionTranslator.java | 88 +- .../glue/translator/PhysicalPlanTranslator.java | 5 +- .../java/org/apache/doris/nereids/jobs/Job.java | 65 +- .../doris/nereids/jobs/batch/AnalyzeRulesJob.java | 6 + .../jobs/batch/NereidsRewriteJobExecutor.java | 8 +- .../doris/nereids/jobs/cascades/ApplyRuleJob.java | 8 + .../nereids/jobs/cascades/CostAndEnforcerJob.java | 123 +- .../jobs/cascades/OptimizeGroupExpressionJob.java | 3 +- .../nereids/jobs/rewrite/RewriteBottomUpJob.java | 19 +- .../nereids/jobs/rewrite/RewriteTopDownJob.java | 23 +- .../java/org/apache/doris/nereids/memo/Group.java | 6 +- .../apache/doris/nereids/memo/GroupExpression.java | 16 +- .../java/org/apache/doris/nereids/memo/Memo.java | 17 +- .../doris/nereids/parser/LogicalPlanBuilder.java | 37 +- .../nereids/processor/pre/PlanPreprocessors.java | 2 +- .../properties/ChildOutputPropertyDeriver.java | 40 +- .../properties/ChildrenPropertiesRegulator.java | 6 +- .../nereids/properties/DistributionSpecHash.java | 42 +- .../properties/EnforceMissingPropertiesHelper.java | 20 +- .../nereids/properties/LogicalProperties.java | 2 +- .../apache/doris/nereids/properties/OrderSpec.java | 1 + .../nereids/properties/RequestPropertyDeriver.java | 3 + .../org/apache/doris/nereids/rules/RuleSet.java | 10 +- .../org/apache/doris/nereids/rules/RuleType.java | 10 +- .../doris/nereids/rules/analysis/BindFunction.java | 9 +- .../doris/nereids/rules/analysis/BindRelation.java | 13 +- .../nereids/rules/analysis/BindSlotReference.java | 8 +- .../doris/nereids/rules/analysis/CTEContext.java | 64 ++ .../doris/nereids/rules/analysis/RegisterCTE.java | 169 +++ .../nereids/rules/analysis/UserAuthentication.java | 52 + .../rewrite/ExpressionNormalization.java | 4 +- .../expression/rewrite/rules/SimplifyCastRule.java | 43 +- .../expression/rewrite/rules/TypeCoercion.java | 77 +- .../LogicalAggToPhysicalHashAgg.java | 3 +- .../rules/rewrite/AggregateDisassemble.java | 53 +- .../rules/rewrite/logical/EliminateOuter.java | 91 -- .../rules/rewrite/logical/EliminateOuterJoin.java | 98 ++ .../logical/EliminateUnnecessaryProject.java | 51 + .../logical/PushdownFilterThroughProject.java | 2 +- .../nereids/rules/rewrite/logical/ReorderJoin.java | 8 +- .../org/apache/doris/nereids/trees/TreeNode.java | 53 + .../nereids/trees/expressions/Expression.java | 13 +- .../nereids/trees/expressions/SlotReference.java | 6 +- .../trees/expressions/functions/BoundFunction.java | 11 +- .../expressions/functions/ComputeNullable.java | 3 +- .../expressions/functions/ComputeSignature.java | 83 ++ .../functions/DateTimeWithPrecision.java | 57 + .../functions/DecimalSamePrecision.java | 12 +- .../functions/DecimalStddevPrecision.java | 13 +- .../functions/DecimalWiderPrecision.java | 12 +- .../functions/ExplicitlyCastableSignature.java | 49 + ...PropagateNullable.java => ExpressionTrait.java} | 29 +- .../trees/expressions/functions/FunctionTrait.java | 15 +- .../expressions/functions/IdenticalSignature.java | 42 + .../functions/ImplicitlyCastableSignature.java | 47 + .../expressions/functions/Nondeterministic.java | 18 +- .../functions/NullOrIdenticalSignature.java | 46 + .../expressions/functions/PropagateNullable.java | 2 +- .../expressions/functions/SearchSignature.java | 119 ++ .../expressions/functions/SignatureSupplier.java | 128 --- .../functions/agg/AggregateFunction.java | 54 +- .../expressions/functions/agg/AggregateParam.java | 96 ++ .../trees/expressions/functions/agg/Avg.java | 38 +- .../trees/expressions/functions/agg/Count.java | 35 +- .../trees/expressions/functions/agg/Max.java | 19 +- .../trees/expressions/functions/agg/Min.java | 19 +- .../trees/expressions/functions/agg/Sum.java | 19 +- .../trees/expressions/functions/scalar/Abs.java | 83 ++ .../expressions/functions/scalar/Acos.java} | 45 +- .../expressions/functions/scalar/AesDecrypt.java | 89 ++ .../expressions/functions/scalar/AesEncrypt.java | 89 ++ .../scalar/AppendTrailingCharIfAbsent.java | 71 ++ .../scalar/{WeekOfYear.java => Ascii.java} | 50 +- .../expressions/functions/scalar/Asin.java} | 45 +- .../expressions/functions/scalar/Atan.java} | 45 +- .../expressions/functions/scalar/Bin.java} | 46 +- .../scalar/{WeekOfYear.java => BitLength.java} | 50 +- .../scalar/{WeekOfYear.java => BitmapAnd.java} | 54 +- .../functions/scalar/BitmapAndCount.java | 70 ++ .../scalar/{WeekOfYear.java => BitmapAndNot.java} | 53 +- .../{WeekOfYear.java => BitmapAndNotCount.java} | 54 +- .../{WeekOfYear.java => BitmapContains.java} | 55 +- .../scalar/{WeekOfYear.java => BitmapCount.java} | 52 +- .../expressions/functions/scalar/BitmapEmpty.java | 57 + .../{WeekOfYear.java => BitmapFromString.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapHasAll.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapHasAny.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapHash.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapHash64.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapMax.java} | 52 +- .../scalar/{WeekOfYear.java => BitmapMin.java} | 52 +- .../scalar/{WeekOfYear.java => BitmapNot.java} | 53 +- .../scalar/{WeekOfYear.java => BitmapOr.java} | 54 +- .../scalar/{WeekOfYear.java => BitmapOrCount.java} | 55 +- .../functions/scalar/BitmapSubsetInRange.java | 70 ++ .../functions/scalar/BitmapSubsetLimit.java | 70 ++ .../{WeekOfYear.java => BitmapToString.java} | 50 +- .../scalar/{WeekOfYear.java => BitmapXor.java} | 54 +- .../functions/scalar/BitmapXorCount.java | 70 ++ .../expressions/functions/scalar/Cbrt.java} | 45 +- .../expressions/functions/scalar/Ceil.java} | 46 +- .../scalar/{WeekOfYear.java => Ceiling.java} | 50 +- .../scalar/{WeekOfYear.java => CharLength.java} | 50 +- .../{WeekOfYear.java => CharacterLength.java} | 50 +- .../expressions/functions/scalar/Coalesce.java | 111 ++ .../scalar/{WeekOfYear.java => Concat.java} | 56 +- .../expressions/functions/scalar/ConcatWs.java | 79 ++ .../trees/expressions/functions/scalar/Conv.java | 76 ++ .../expressions/functions/scalar/ConvertTz.java | 76 ++ .../expressions/functions/scalar/Cos.java} | 45 +- .../expressions/functions/scalar/CurrentDate.java | 58 + .../expressions/functions/scalar/CurrentTime.java | 58 + .../functions/scalar/CurrentTimestamp.java | 84 ++ .../expressions/functions/scalar/Curtime.java | 58 + .../scalar/{WeekOfYear.java => Date.java} | 53 +- .../expressions/functions/scalar/DateDiff.java | 77 ++ .../expressions/functions/scalar/DateFormat.java | 75 ++ .../expressions/functions/scalar/DateTrunc.java | 71 ++ .../scalar/{WeekOfYear.java => DateV2.java} | 52 +- .../functions/scalar/{WeekOfYear.java => Day.java} | 52 +- .../expressions/functions/scalar/DayCeil.java | 106 ++ .../expressions/functions/scalar/DayFloor.java | 106 ++ .../scalar/{WeekOfYear.java => DayName.java} | 54 +- .../scalar/{WeekOfYear.java => DayOfMonth.java} | 52 +- .../scalar/{WeekOfYear.java => DayOfWeek.java} | 52 +- .../scalar/{WeekOfYear.java => DayOfYear.java} | 52 +- .../expressions/functions/scalar/DaysDiff.java | 79 ++ .../expressions/functions/scalar/Dceil.java} | 46 +- .../expressions/functions/scalar/Degrees.java} | 45 +- .../expressions/functions/scalar/Dexp.java} | 45 +- .../expressions/functions/scalar/Dfloor.java} | 46 +- .../expressions/functions/scalar/Dlog1.java} | 47 +- .../expressions/functions/scalar/Dlog10.java} | 47 +- .../scalar/{WeekOfYear.java => Dpow.java} | 53 +- .../trees/expressions/functions/scalar/Dround.java | 82 ++ .../expressions/functions/scalar/Dsqrt.java} | 45 +- .../functions/{agg/Min.java => scalar/E.java} | 54 +- .../functions/scalar/{WeekOfYear.java => Elt.java} | 55 +- .../expressions/functions/scalar/EndsWith.java | 71 ++ .../scalar/{WeekOfYear.java => EsQuery.java} | 54 +- .../expressions/functions/scalar/Exp.java} | 45 +- .../{WeekOfYear.java => ExtractUrlParameter.java} | 54 +- .../scalar/{WeekOfYear.java => FindInSet.java} | 54 +- .../expressions/functions/scalar/Floor.java} | 46 +- .../trees/expressions/functions/scalar/Fmod.java | 70 ++ .../scalar/{WeekOfYear.java => Fpow.java} | 53 +- .../scalar/{WeekOfYear.java => FromBase64.java} | 53 +- .../scalar/{WeekOfYear.java => FromDays.java} | 50 +- .../expressions/functions/scalar/FromUnixtime.java | 83 ++ .../functions/scalar/GetJsonDouble.java | 71 ++ .../expressions/functions/scalar/GetJsonInt.java | 71 ++ .../functions/scalar/GetJsonString.java | 71 ++ .../expressions/functions/scalar/Greatest.java | 91 ++ .../functions/scalar/{WeekOfYear.java => Hex.java} | 53 +- .../{WeekOfYear.java => HllCardinality.java} | 52 +- .../expressions/functions/scalar/HllEmpty.java | 57 + .../scalar/{WeekOfYear.java => HllHash.java} | 54 +- .../scalar/{WeekOfYear.java => Hour.java} | 52 +- .../expressions/functions/scalar/HourCeil.java | 106 ++ .../expressions/functions/scalar/HourFloor.java | 106 ++ .../expressions/functions/scalar/HoursDiff.java | 79 ++ .../trees/expressions/functions/scalar/If.java | 146 +++ .../expressions/functions/scalar/Initcap.java} | 45 +- .../scalar/{WeekOfYear.java => Instr.java} | 54 +- .../scalar/{WeekOfYear.java => JsonArray.java} | 54 +- .../scalar/{WeekOfYear.java => JsonObject.java} | 54 +- .../expressions/functions/scalar/JsonQuote.java} | 45 +- .../functions/scalar/JsonbExistsPath.java | 72 ++ .../expressions/functions/scalar/JsonbExtract.java | 71 ++ .../functions/scalar/JsonbExtractBigint.java | 72 ++ .../functions/scalar/JsonbExtractBool.java | 72 ++ .../functions/scalar/JsonbExtractDouble.java | 72 ++ .../functions/scalar/JsonbExtractInt.java | 72 ++ .../functions/scalar/JsonbExtractIsnull.java | 72 ++ .../functions/scalar/JsonbExtractString.java | 71 ++ .../scalar/{WeekOfYear.java => JsonbParse.java} | 50 +- ...ekOfYear.java => JsonbParseErrorToInvalid.java} | 50 +- ...{WeekOfYear.java => JsonbParseErrorToNull.java} | 52 +- ...WeekOfYear.java => JsonbParseErrorToValue.java} | 54 +- .../{WeekOfYear.java => JsonbParseNotnull.java} | 50 +- ...r.java => JsonbParseNotnullErrorToInvalid.java} | 50 +- .../scalar/JsonbParseNotnullErrorToValue.java | 69 ++ .../{WeekOfYear.java => JsonbParseNullable.java} | 52 +- ....java => JsonbParseNullableErrorToInvalid.java} | 52 +- ...ear.java => JsonbParseNullableErrorToNull.java} | 52 +- .../scalar/JsonbParseNullableErrorToValue.java | 69 ++ .../expressions/functions/scalar/JsonbType.java | 69 ++ .../trees/expressions/functions/scalar/Least.java | 89 ++ .../trees/expressions/functions/scalar/Left.java | 71 ++ .../scalar/{WeekOfYear.java => Length.java} | 50 +- .../expressions/functions/scalar/Ln.java} | 47 +- .../expressions/functions/scalar/LocalTime.java | 84 ++ .../functions/scalar/LocalTimestamp.java | 84 ++ .../trees/expressions/functions/scalar/Locate.java | 86 ++ .../trees/expressions/functions/scalar/Log.java | 68 ++ .../expressions/functions/scalar/Log10.java} | 47 +- .../expressions/functions/scalar/Log2.java} | 47 +- .../scalar/{WeekOfYear.java => Lower.java} | 51 +- .../trees/expressions/functions/scalar/Lpad.java | 73 ++ .../scalar/{WeekOfYear.java => Ltrim.java} | 51 +- .../expressions/functions/scalar/MakeDate.java | 69 ++ .../functions/scalar/{WeekOfYear.java => Md5.java} | 51 +- .../scalar/{WeekOfYear.java => Md5Sum.java} | 56 +- .../scalar/{WeekOfYear.java => Minute.java} | 52 +- .../expressions/functions/scalar/MinuteCeil.java | 106 ++ .../expressions/functions/scalar/MinuteFloor.java | 106 ++ .../expressions/functions/scalar/MinutesDiff.java | 79 ++ .../scalar/{WeekOfYear.java => MoneyFormat.java} | 56 +- .../scalar/{WeekOfYear.java => Month.java} | 52 +- .../expressions/functions/scalar/MonthCeil.java | 106 ++ .../expressions/functions/scalar/MonthFloor.java | 106 ++ .../scalar/{WeekOfYear.java => MonthName.java} | 54 +- .../expressions/functions/scalar/MonthsDiff.java | 79 ++ .../scalar/{WeekOfYear.java => MurmurHash332.java} | 55 +- .../functions/scalar/MurmurHash364.java | 72 ++ .../scalar/{WeekOfYear.java => Negative.java} | 54 +- .../{WeekOfYear.java => NotNullOrEmpty.java} | 54 +- .../trees/expressions/functions/scalar/Now.java | 84 ++ .../trees/expressions/functions/scalar/NullIf.java | 97 ++ .../scalar/{WeekOfYear.java => NullOrEmpty.java} | 54 +- .../trees/expressions/functions/scalar/Nvl.java | 109 ++ .../expressions/functions/scalar/ParseUrl.java | 86 ++ .../functions/{agg/Min.java => scalar/Pi.java} | 54 +- .../trees/expressions/functions/scalar/Pmod.java | 70 ++ .../scalar/{WeekOfYear.java => Positive.java} | 54 +- .../functions/scalar/{WeekOfYear.java => Pow.java} | 53 +- .../scalar/{WeekOfYear.java => Power.java} | 53 +- .../{WeekOfYear.java => QuantilePercent.java} | 55 +- .../scalar/{WeekOfYear.java => Quarter.java} | 52 +- .../expressions/functions/scalar/Radians.java} | 45 +- .../trees/expressions/functions/scalar/Random.java | 92 ++ .../functions/scalar/RegexpExtract.java | 73 ++ .../functions/scalar/RegexpReplace.java | 72 ++ .../trees/expressions/functions/scalar/Repeat.java | 71 ++ .../expressions/functions/scalar/Replace.java | 72 ++ .../scalar/{WeekOfYear.java => Reverse.java} | 51 +- .../trees/expressions/functions/scalar/Right.java | 71 ++ .../trees/expressions/functions/scalar/Round.java | 82 ++ .../trees/expressions/functions/scalar/Rpad.java | 73 ++ .../scalar/{WeekOfYear.java => Rtrim.java} | 51 +- .../functions/scalar/ScalarFunction.java | 185 ++- .../scalar/{WeekOfYear.java => Second.java} | 52 +- .../expressions/functions/scalar/SecondCeil.java | 106 ++ .../expressions/functions/scalar/SecondFloor.java | 106 ++ .../expressions/functions/scalar/SecondsDiff.java | 79 ++ .../expressions/functions/scalar/Sign.java} | 46 +- .../expressions/functions/scalar/Sin.java} | 45 +- .../scalar/{WeekOfYear.java => Sleep.java} | 48 +- .../functions/scalar/{WeekOfYear.java => Sm3.java} | 51 +- .../scalar/{WeekOfYear.java => Sm3sum.java} | 56 +- .../expressions/functions/scalar/Sm4Decrypt.java | 89 ++ .../expressions/functions/scalar/Sm4Encrypt.java | 89 ++ .../scalar/{WeekOfYear.java => Space.java} | 48 +- .../expressions/functions/scalar/SplitPart.java | 73 ++ .../expressions/functions/scalar/Sqrt.java} | 45 +- .../scalar/{WeekOfYear.java => StAstext.java} | 53 +- .../scalar/{WeekOfYear.java => StAswkt.java} | 53 +- .../expressions/functions/scalar/StCircle.java | 70 ++ .../expressions/functions/scalar/StContains.java | 69 ++ .../functions/scalar/StDistanceSphere.java | 68 ++ .../{WeekOfYear.java => StGeometryfromtext.java} | 53 +- .../{WeekOfYear.java => StGeomfromtext.java} | 53 +- .../{WeekOfYear.java => StLinefromtext.java} | 53 +- .../{WeekOfYear.java => StLinestringfromtext.java} | 53 +- .../expressions/functions/scalar/StPoint.java | 69 ++ .../{WeekOfYear.java => StPolyfromtext.java} | 53 +- .../scalar/{WeekOfYear.java => StPolygon.java} | 53 +- .../{WeekOfYear.java => StPolygonfromtext.java} | 53 +- .../functions/scalar/{WeekOfYear.java => StX.java} | 54 +- .../functions/scalar/{WeekOfYear.java => StY.java} | 54 +- .../expressions/functions/scalar/StartsWith.java | 71 ++ .../expressions/functions/scalar/StrLeft.java | 71 ++ .../expressions/functions/scalar/StrRight.java | 71 ++ .../expressions/functions/scalar/StrToDate.java | 116 ++ .../expressions/functions/scalar/SubBitmap.java | 70 ++ .../expressions/functions/scalar/Substring.java | 70 +- .../expressions/functions/scalar/Tan.java} | 45 +- .../expressions/functions/scalar/TimeDiff.java | 78 ++ .../scalar/{WeekOfYear.java => Timestamp.java} | 51 +- .../expressions/functions/scalar/ToBase64.java} | 47 +- .../scalar/{WeekOfYear.java => ToBitmap.java} | 54 +- .../{WeekOfYear.java => ToBitmapWithCheck.java} | 54 +- .../scalar/{WeekOfYear.java => ToDate.java} | 53 +- .../scalar/{WeekOfYear.java => ToDateV2.java} | 52 +- .../scalar/{WeekOfYear.java => ToDays.java} | 52 +- .../{WeekOfYear.java => ToQuantileState.java} | 55 +- .../scalar/{WeekOfYear.java => Trim.java} | 51 +- .../scalar/{WeekOfYear.java => Truncate.java} | 52 +- .../scalar/{WeekOfYear.java => Unhex.java} | 53 +- .../functions/scalar/UnixTimestamp.java | 108 ++ .../scalar/{WeekOfYear.java => Upper.java} | 51 +- .../expressions/functions/scalar/UtcTimestamp.java | 58 + .../expressions/functions/scalar/Version.java | 57 + .../trees/expressions/functions/scalar/Week.java | 87 ++ .../expressions/functions/scalar/WeekCeil.java | 106 ++ .../expressions/functions/scalar/WeekFloor.java | 106 ++ .../expressions/functions/scalar/WeekOfYear.java | 46 +- .../scalar/{WeekOfYear.java => Weekday.java} | 52 +- .../expressions/functions/scalar/WeeksDiff.java | 79 ++ .../trees/expressions/functions/scalar/Year.java | 48 +- .../expressions/functions/scalar/YearCeil.java | 106 ++ .../expressions/functions/scalar/YearFloor.java | 106 ++ .../expressions/functions/scalar/YearWeek.java | 87 ++ .../expressions/functions/scalar/YearsDiff.java | 79 ++ .../trees/expressions/literal/BigIntLiteral.java | 7 +- .../trees/expressions/literal/CharLiteral.java | 24 +- .../trees/expressions/literal/DateLiteral.java | 3 +- .../expressions/literal/IntegerLikeLiteral.java} | 31 +- .../trees/expressions/literal/IntegerLiteral.java | 7 +- .../trees/expressions/literal/LargeIntLiteral.java | 7 +- .../nereids/trees/expressions/literal/Literal.java | 14 +- .../trees/expressions/literal/SmallIntLiteral.java | 7 +- .../expressions/literal/StringLikeLiteral.java} | 33 +- .../trees/expressions/literal/StringLiteral.java | 16 +- .../trees/expressions/literal/TinyIntLiteral.java | 12 +- .../trees/expressions/literal/VarcharLiteral.java | 41 +- .../visitor/AggregateFunctionVisitor.java} | 60 +- .../expressions/visitor/ExpressionVisitor.java | 70 +- .../expressions/visitor/ScalarFunctionVisitor.java | 1206 ++++++++++++++++++++ .../apache/doris/nereids/trees/plans/JoinType.java | 13 +- .../apache/doris/nereids/trees/plans/PlanType.java | 1 + .../trees/plans/logical/LogicalAggregate.java | 7 +- .../{LogicalSubQueryAlias.java => LogicalCTE.java} | 65 +- .../nereids/trees/plans/logical/LogicalJoin.java | 10 +- .../trees/plans/logical/LogicalSubQueryAlias.java | 31 +- .../nereids/trees/plans/visitor/PlanVisitor.java | 5 + .../org/apache/doris/nereids/types/ArrayType.java | 26 +- .../org/apache/doris/nereids/types/BigIntType.java | 3 +- .../org/apache/doris/nereids/types/BitmapType.java | 3 +- .../org/apache/doris/nereids/types/CharType.java | 6 +- .../org/apache/doris/nereids/types/DataType.java | 210 +++- .../apache/doris/nereids/types/DateTimeV2Type.java | 25 +- .../org/apache/doris/nereids/types/DateV2Type.java | 2 +- .../apache/doris/nereids/types/DecimalType.java | 6 +- .../apache/doris/nereids/types/DecimalV2Type.java | 61 +- .../{DecimalV2Type.java => DecimalV3Type.java} | 108 +- .../org/apache/doris/nereids/types/DoubleType.java | 3 +- .../org/apache/doris/nereids/types/FloatType.java | 3 +- .../org/apache/doris/nereids/types/HllType.java | 5 +- .../apache/doris/nereids/types/IntegerType.java | 3 +- .../{QuantileStateType.java => JsonType.java} | 21 +- .../apache/doris/nereids/types/LargeIntType.java | 3 +- .../types/{BitmapType.java => MapType.java} | 25 +- .../doris/nereids/types/QuantileStateType.java | 3 +- .../apache/doris/nereids/types/SmallIntType.java | 3 +- .../org/apache/doris/nereids/types/StringType.java | 3 +- .../types/{BitmapType.java => StructType.java} | 25 +- .../org/apache/doris/nereids/types/TextType.java | 9 +- .../org/apache/doris/nereids/types/TimeV2Type.java | 2 +- .../apache/doris/nereids/types/TinyIntType.java | 3 +- .../apache/doris/nereids/types/VarcharType.java | 6 +- .../nereids/types/coercion/AbstractDataType.java | 11 +- .../doris/nereids/types/coercion/AnyDataType.java | 9 +- .../nereids/types/coercion/CharacterType.java | 19 +- .../nereids/types/coercion/FractionalType.java | 2 +- .../doris/nereids/types/coercion/IntegralType.java | 2 +- .../doris/nereids/types/coercion/NumericType.java | 2 +- .../nereids/types/coercion/TypeCollection.java | 9 +- .../apache/doris/nereids/util/ExpressionUtils.java | 14 + .../doris/nereids/util/ResponsibilityChain.java | 97 ++ .../doris/nereids/util/TypeCoercionUtils.java | 3 +- .../java/org/apache/doris/persist/EditLog.java | 49 + .../org/apache/doris/persist/OperationType.java | 5 + .../java/org/apache/doris/persist/RecoverInfo.java | 10 +- .../org/apache/doris/persist/gson/GsonUtils.java | 26 +- .../doris/planner/DistributedPlanColocateRule.java | 2 + .../apache/doris/planner/DistributedPlanner.java | 30 +- .../doris/planner/RuntimeFilterGenerator.java | 3 +- .../main/java/org/apache/doris/qe/Coordinator.java | 55 +- .../apache/doris/qe/InsertStreamTxnExecutor.java | 13 +- .../org/apache/doris/qe/MasterCatalogExecutor.java | 84 ++ .../java/org/apache/doris/qe/SessionVariable.java | 2 +- .../java/org/apache/doris/qe/StmtExecutor.java | 24 +- .../org/apache/doris/rewrite/ExprRewriter.java | 4 +- .../org/apache/doris/rewrite/InferFiltersRule.java | 6 +- .../org/apache/doris/rpc/BackendServiceProxy.java | 2 +- .../apache/doris/service/FrontendServiceImpl.java | 76 ++ .../apache/doris/analysis/ArrayLiteralTest.java | 65 ++ .../apache/doris/analysis/InsertArrayStmtTest.java | 46 +- .../apache/doris/datasource/CatalogMgrTest.java | 42 +- .../nereids/datasets/ssb/SSBJoinReorderTest.java | 16 +- .../nereids/datasets/tpch/AnalyzeTPCHTest.java | 16 +- .../doris/nereids/parser/HavingClauseTest.java | 30 +- .../doris/nereids/parser/LimitClauseTest.java | 4 +- .../doris/nereids/parser/NereidsParserTest.java | 28 +- .../properties/DistributionSpecHashTest.java | 44 + .../rules/analysis/FunctionRegistryTest.java | 24 +- .../rules/analysis/GenerateScalarFunction.java | 975 ++++++++++++++-- .../expression/rewrite/ExpressionRewriteTest.java | 26 +- .../rewrite/ExpressionRewriteTestHelper.java | 114 ++ .../rules/expression/rewrite/FoldConstantTest.java | 221 ++-- .../rules/expression/rewrite/TypeCoercionTest.java | 50 +- .../rewrite/logical/AggregateDisassembleTest.java | 30 +- .../rules/rewrite/logical/EliminateOuterTest.java | 20 +- .../logical/EliminateUnnecessaryProjectTest.java | 85 ++ .../nereids/stats/ExpressionEstimationTest.java | 4 +- .../trees/expressions/ExpressionEqualsTest.java | 9 +- .../nereids/trees/plans/PlanToStringTest.java | 2 +- .../nereids/util/AnalyzeWhereSubqueryTest.java | 53 +- .../apache/doris/nereids/util/RegisterCTETest.java | 336 ++++++ .../doris/nereids/util/TypeCoercionUtilsTest.java | 6 + ...opInfoTest.java => DropAndRecoverInfoTest.java} | 36 +- .../java/org/apache/doris/udf/JdbcExecutor.java | 4 +- .../java/org/apache/doris/udf/UdafExecutor.java | 49 +- .../java/org/apache/doris/udf/UdfExecutor.java | 133 +-- .../main/java/org/apache/doris/udf/UdfUtils.java | 318 +++++- gensrc/script/doris_builtins_functions.py | 9 + gensrc/thrift/FrontendService.thrift | 12 + regression-test/conf/regression-conf.groovy | 5 +- .../test_keywords.out} | 29 +- .../test_null_aware_left_anti_join.out} | 30 +- .../test_select_stddev_variance_window.out | 132 +-- .../unique/test_unique_table_sequence.out | 22 + .../data/data_model_p0/unique/unique_key_data1.csv | 3 + .../data/data_model_p0/unique/unique_key_data2.csv | 3 + regression-test/data/insert_p0/txn_insert.out | 29 + .../data/javaudf_p0/test_javaudf_date.out | 276 +++++ regression-test/data/nereids_syntax_p0/cte.out | 69 ++ regression-test/data/nereids_syntax_p0/view.out | 2 +- .../query/large_wide_table/large_wide_table.out | 103 ++ regression-test/data/query_p0/sort/sort.out | 3 + .../aggregate_functions/test_aggregate_collect.out | 12 + .../test_array_functions_by_literal.out | 18 + .../bitmap_functions/test_bitmap_function.out | 22 +- .../test_string_function_regexp.out | 15 + .../test_select_stddev_variance_window.out | 132 +-- .../sql/group_by/runConstantGroupBy_order.out | 24 - .../apache/doris/regression/RegressionTest.groovy | 8 +- .../main/java/org/apache/doris/udf/DateTest1.java} | 16 +- .../main/java/org/apache/doris/udf/DateTest2.java} | 16 +- .../main/java/org/apache/doris/udf/DateTest3.java} | 14 +- .../java/org/apache/doris/udf/DateTimeTest1.java} | 16 +- .../java/org/apache/doris/udf/DateTimeTest2.java} | 16 +- .../java/org/apache/doris/udf/DateTimeTest3.java} | 16 +- .../java/org/apache/doris/udf/DoubleTest.java} | 14 +- .../account_p0/test_nereids_authentication.groovy | 83 ++ .../suites/correctness_p0/test_keywords.groovy | 52 +- .../test_null_aware_left_anti_join.groovy | 66 ++ .../test_select_stddev_variance_window.groovy | 12 +- .../unique/test_unique_table_sequence.groovy | 111 ++ .../datatype_p0/string/test_string_basic.groovy | 2 +- regression-test/suites/insert_p0/txn_insert.groovy | 75 ++ .../suites/javaudf_p0/test_javaudf_date.groovy | 195 ++++ .../suites/nereids_syntax_p0/cte.groovy | 250 ++++ .../suites/nereids_syntax_p0/function.groovy | 11 + .../nereids_syntax_p0/one_row_relation.groovy | 11 +- .../suites/nereids_syntax_p0/view.groovy | 6 +- .../suites/query/large_wide_table/ddl/create.sql | 194 ++++ .../suites/query/large_wide_table/ddl/insert.sql | 1 + .../large_wide_table/large_wide_table.groovy} | 15 +- regression-test/suites/query_p0/sort/sort.groovy | 1 + .../test_aggregate_collect.groovy | 24 + .../test_array_functions_by_literal.groovy | 6 + .../bitmap_functions/test_bitmap_function.groovy | 4 +- .../test_string_function_regexp.groovy | 6 + .../test_select_stddev_variance_window.groovy | 12 +- ...test_string_concat_extremely_long_string.groovy | 44 + .../tpch_sf1_p1/tpch_sf1/explain/test_q16.groovy | 4 +- 643 files changed, 27465 insertions(+), 7283 deletions(-) delete mode 100644 be/src/vec/exec/vblocking_join_node.cpp delete mode 100644 be/src/vec/exec/vblocking_join_node.h delete mode 100644 be/src/vec/exec/vcross_join_node.h rename be/src/vec/exec/{vcross_join_node.cpp => vnested_loop_join_node.cpp} (52%) create mode 100644 be/src/vec/exec/vnested_loop_join_node.h create mode 100644 be/test/olap/segcompaction_test.cpp create mode 100644 docs/en/docs/sql-manual/sql-functions/aggregate-functions/topn_array.md create mode 100644 docs/en/docs/sql-manual/sql-functions/bitmap-functions/bitmap_to_array.md create mode 100644 docs/en/docs/sql-manual/sql-functions/json-functions/jsonb_extract.md create mode 100644 docs/en/docs/sql-manual/sql-functions/json-functions/jsonb_parse.md create mode 100644 docs/en/docs/sql-manual/sql-functions/json-functions/jsonb_tutorial.md create mode 100644 docs/en/docs/sql-manual/sql-functions/string-functions/regexp/regexp_extract_all.md copy docs/en/docs/sql-manual/sql-functions/{math-functions/round.md => string-functions/regexp/regexp_replace_one.md} (51%) copy docs/en/docs/sql-manual/{sql-functions/math-functions/round.md => sql-reference/Data-Types/JSONB.md} (60%) create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/aggregate-functions/topn_array.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/bitmap-functions/bitmap_to_array.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/json-functions/jsonb_extract.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/json-functions/jsonb_parse.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/json-functions/jsonb_tutorial.md create mode 100644 docs/zh-CN/docs/sql-manual/sql-functions/string-functions/regexp/regexp_extract_all.md copy docs/zh-CN/docs/sql-manual/sql-functions/{math-functions/round.md => string-functions/regexp/regexp_replace_one.md} (51%) copy docs/zh-CN/docs/sql-manual/{sql-functions/math-functions/round.md => sql-reference/Data-Types/JSONB.md} (57%) copy fe/fe-core/src/main/java/org/apache/doris/catalog/{BuiltinFunctions.java => BuiltinAggregateFunctions.java} (71%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/FuncSig.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/FunctionSignature.java copy fe/fe-core/src/main/java/org/apache/doris/{analysis/MaxLiteral.java => datasource/ExternalObjectLog.java} (51%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/InitCatalogLog.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/InitDatabaseLog.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/datasource/InitTableLog.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/CTEContext.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/RegisterCTE.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/analysis/UserAuthentication.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/EliminateOuter.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/EliminateOuterJoin.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/rules/rewrite/logical/EliminateUnnecessaryProject.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ComputeSignature.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/DateTimeWithPrecision.java copy regression-test/suites/nereids_syntax_p0/one_row_relation.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/DecimalSamePrecision.java (68%) copy regression-test/suites/nereids_syntax_p0/one_row_relation.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/DecimalStddevPrecision.java (68%) copy regression-test/suites/nereids_syntax_p0/one_row_relation.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/DecimalWiderPrecision.java (68%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{PropagateNullable.java => ExpressionTrait.java} (60%) copy regression-test/suites/nereids_syntax_p0/one_row_relation.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/FunctionTrait.java (68%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/IdenticalSignature.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ImplicitlyCastableSignature.java copy regression-test/suites/nereids_syntax_p0/one_row_relation.groovy => fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/Nondeterministic.java (68%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/NullOrIdenticalSignature.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/SearchSignature.java delete mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/SignatureSupplier.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/AggregateParam.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Abs.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Acos.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesDecrypt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesEncrypt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AppendTrailingCharIfAbsent.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Ascii.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Asin.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Atan.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Bin.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitLength.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapAnd.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/BitmapAndCount.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapAndNot.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapAndNotCount.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapContains.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapCount.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/BitmapEmpty.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapFromString.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapHasAll.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapHasAny.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapHash.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapHash64.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapMax.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapMin.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapNot.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapOr.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapOrCount.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/BitmapSubsetInRange.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/BitmapSubsetLimit.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapToString.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => BitmapXor.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/BitmapXorCount.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Cbrt.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Ceil.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Ceiling.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => CharLength.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => CharacterLength.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Coalesce.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Concat.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ConcatWs.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Conv.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ConvertTz.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Cos.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentDate.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentTime.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CurrentTimestamp.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Curtime.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Date.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DateDiff.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DateFormat.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DateTrunc.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => DateV2.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Day.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DayCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DayFloor.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => DayName.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => DayOfMonth.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => DayOfWeek.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => DayOfYear.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/DaysDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dceil.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Degrees.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dexp.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dfloor.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dlog1.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dlog10.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Dpow.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Dround.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Dsqrt.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{agg/Min.java => scalar/E.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Elt.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/EndsWith.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => EsQuery.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Exp.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ExtractUrlParameter.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => FindInSet.java} (51%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Floor.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Fmod.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Fpow.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => FromBase64.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => FromDays.java} (53%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/FromUnixtime.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/GetJsonDouble.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/GetJsonInt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/GetJsonString.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Greatest.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Hex.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => HllCardinality.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/HllEmpty.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => HllHash.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Hour.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/HourCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/HourFloor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/HoursDiff.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/If.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Initcap.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Instr.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonArray.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonObject.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/JsonQuote.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExistsPath.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtract.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractBigint.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractBool.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractDouble.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractInt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractIsnull.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbExtractString.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParse.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseErrorToInvalid.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseErrorToNull.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseErrorToValue.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseNotnull.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseNotnullErrorToInvalid.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbParseNotnullErrorToValue.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseNullable.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseNullableErrorToInvalid.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => JsonbParseNullableErrorToNull.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbParseNullableErrorToValue.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/JsonbType.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Least.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Left.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Length.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Ln.java} (53%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/LocalTime.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/LocalTimestamp.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Locate.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Log.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Log10.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Log2.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Lower.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Lpad.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Ltrim.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MakeDate.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Md5.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Md5Sum.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Minute.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MinuteCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MinuteFloor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MinutesDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => MoneyFormat.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Month.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MonthCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MonthFloor.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => MonthName.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MonthsDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => MurmurHash332.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/MurmurHash364.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Negative.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => NotNullOrEmpty.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Now.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/NullIf.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => NullOrEmpty.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Nvl.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ParseUrl.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{agg/Min.java => scalar/Pi.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Pmod.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Positive.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Pow.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Power.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => QuantilePercent.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Quarter.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Radians.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Random.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RegexpExtract.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/RegexpReplace.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Repeat.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Replace.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Reverse.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Right.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Round.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Rpad.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Rtrim.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Second.java} (55%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SecondCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SecondFloor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SecondsDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Sign.java} (55%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Sin.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Sleep.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Sm3.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Sm3sum.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Decrypt.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4Encrypt.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Space.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SplitPart.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Sqrt.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StAstext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StAswkt.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StCircle.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StContains.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StDistanceSphere.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StGeometryfromtext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StGeomfromtext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StLinefromtext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StLinestringfromtext.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StPoint.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StPolyfromtext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StPolygon.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StPolygonfromtext.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StX.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => StY.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StartsWith.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StrLeft.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StrRight.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/StrToDate.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/SubBitmap.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/Tan.java} (56%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/TimeDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Timestamp.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{analyzer/UnboundAlias.java => trees/expressions/functions/scalar/ToBase64.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToBitmap.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToBitmapWithCheck.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToDate.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToDateV2.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToDays.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => ToQuantileState.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Trim.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Truncate.java} (52%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Unhex.java} (52%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/UnixTimestamp.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Upper.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/UtcTimestamp.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Version.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Week.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/WeekCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/WeekFloor.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{WeekOfYear.java => Weekday.java} (54%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/WeeksDiff.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/YearCeil.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/YearFloor.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/YearWeek.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/YearsDiff.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/{types/coercion/AnyDataType.java => trees/expressions/literal/IntegerLikeLiteral.java} (63%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/{types/coercion/AnyDataType.java => trees/expressions/literal/StringLikeLiteral.java} (58%) rename fe/fe-core/src/main/java/org/apache/doris/{catalog/BuiltinFunctions.java => nereids/trees/expressions/visitor/AggregateFunctionVisitor.java} (50%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/logical/{LogicalSubQueryAlias.java => LogicalCTE.java} (54%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DecimalV2Type.java => DecimalV3Type.java} (53%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{QuantileStateType.java => JsonType.java} (74%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{BitmapType.java => MapType.java} (71%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{BitmapType.java => StructType.java} (70%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/util/ResponsibilityChain.java create mode 100644 fe/fe-core/src/main/java/org/apache/doris/qe/MasterCatalogExecutor.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/analysis/ArrayLiteralTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/expression/rewrite/ExpressionRewriteTestHelper.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/rewrite/logical/EliminateUnnecessaryProjectTest.java create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/util/RegisterCTETest.java rename fe/fe-core/src/test/java/org/apache/doris/persist/{DropInfoTest.java => DropAndRecoverInfoTest.java} (67%) copy regression-test/data/{trino_p0/sql/group_by/runConstantGroupBy_order.out => correctness_p0/test_keywords.out} (53%) copy regression-test/data/{trino_p0/sql/group_by/runConstantGroupBy_order.out => correctness_p0/test_null_aware_left_anti_join.out} (56%) create mode 100644 regression-test/data/data_model_p0/unique/test_unique_table_sequence.out create mode 100644 regression-test/data/data_model_p0/unique/unique_key_data1.csv create mode 100644 regression-test/data/data_model_p0/unique/unique_key_data2.csv create mode 100644 regression-test/data/insert_p0/txn_insert.out create mode 100644 regression-test/data/javaudf_p0/test_javaudf_date.out create mode 100644 regression-test/data/nereids_syntax_p0/cte.out create mode 100644 regression-test/data/query/large_wide_table/large_wide_table.out copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTest1.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTest2.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTest3.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTimeTest1.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTimeTest2.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DateTimeTest3.java} (68%) copy regression-test/{suites/nereids_syntax_p0/one_row_relation.groovy => java-udf-src/src/main/java/org/apache/doris/udf/DoubleTest.java} (68%) create mode 100644 regression-test/suites/account_p0/test_nereids_authentication.groovy copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/DateV2Type.java => regression-test/suites/correctness_p0/test_keywords.groovy (56%) create mode 100644 regression-test/suites/correctness_p0/test_null_aware_left_anti_join.groovy create mode 100644 regression-test/suites/data_model_p0/unique/test_unique_table_sequence.groovy create mode 100644 regression-test/suites/insert_p0/txn_insert.groovy create mode 100644 regression-test/suites/javaudf_p0/test_javaudf_date.groovy create mode 100644 regression-test/suites/nereids_syntax_p0/cte.groovy create mode 100644 regression-test/suites/query/large_wide_table/ddl/create.sql create mode 100644 regression-test/suites/query/large_wide_table/ddl/insert.sql copy regression-test/suites/{nereids_syntax_p0/one_row_relation.groovy => query/large_wide_table/large_wide_table.groovy} (68%) create mode 100644 regression-test/suites/tpcds_sf1_p1/functions_test/test_string_concat_extremely_long_string.groovy --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org