This is an automated email from the ASF dual-hosted git repository.

morrysnow pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


    from 601d9af23b [fix](planner) disconjunct in sub-query failed when plan it 
on hash join (#15653)
     add 025623a124 [feature](Nereids) Support lots of aggregate functions 
(#15671)

No new revisions were added by this update.

Summary of changes:
 .../antlr4/org/apache/doris/nereids/DorisParser.g4 |   2 +-
 .../apache/doris/analysis/FunctionCallExpr.java    |  30 +-
 .../doris/catalog/BuiltinAggregateFunctions.java   |  86 +++-
 .../doris/catalog/BuiltinScalarFunctions.java      | 103 ++++-
 .../org/apache/doris/catalog/FunctionHelper.java   |   2 -
 .../apache/doris/catalog/FunctionSignature.java    |  57 ++-
 .../glue/translator/ExpressionTranslator.java      |  91 +++-
 .../doris/nereids/jobs/batch/AnalyzeRulesJob.java  |  12 +-
 .../doris/nereids/jobs/batch/BatchRulesJob.java    |   9 +
 .../batch/CheckLegalityAfterRewrite.java}          |  22 +-
 ...b.java => CheckLegalityBeforeTypeCoercion.java} |  30 +-
 .../jobs/batch/NereidsRewriteJobExecutor.java      |   6 +-
 .../doris/nereids/jobs/batch/TypeCoercionJob.java  |   5 +
 .../doris/nereids/parser/LogicalPlanBuilder.java   |  25 ++
 .../apache/doris/nereids/properties/OrderKey.java  |   6 +-
 .../AdjustAggregateNullableForEmptySet.java        |   8 +-
 .../doris/nereids/rules/analysis/BindFunction.java |   2 +
 .../nereids/rules/analysis/BindSlotReference.java  |   2 +-
 .../nereids/rules/analysis/CheckAfterRewrite.java  |   7 +-
 .../nereids/rules/analysis/FillUpMissingSlots.java |   3 +-
 .../nereids/rules/analysis/NormalizeRepeat.java    |  11 +-
 .../rewrite/ExpressionNormalization.java           |   4 +-
 .../rules/CharacterLiteralTypeCoercion.java        |   3 +
 .../rewrite/rules/FoldConstantRuleOnFE.java        |  31 +-
 .../rewrite/rules/SupportJavaDateFormatter.java    |  87 ++++
 .../expression/rewrite/rules/TypeCoercion.java     |   7 +-
 .../rewrite/logical/CountDistinctRewrite.java      |   4 +-
 .../rules/rewrite/logical/NormalizeAggregate.java  |   9 +-
 .../doris/nereids/trees/expressions/Cast.java      |   4 +-
 .../doris/nereids/trees/expressions/Divide.java    |   2 +-
 .../{Cast.java => OrderExpression.java}            |  63 +--
 .../functions/BitmapIntersectFunction.java         |  45 ++
 .../trees/expressions/functions/BoundFunction.java | 151 +------
 ...ricTypeArguments.java => ComputePrecision.java} |  11 +-
 .../functions/ComputePrecisionForRound.java        |  56 +++
 ...eArguments.java => ComputePrecisionForSum.java} |  23 +-
 .../expressions/functions/ComputeSignature.java    |  37 +-
 .../functions/ComputeSignatureHelper.java          | 178 ++++++++
 .../functions/DateTimeWithPrecision.java           |   2 +-
 .../functions/ExplicitlyCastableSignature.java     |  16 +-
 .../expressions/functions/ExpressionTrait.java     |  13 +
 .../expressions/functions/IdenticalSignature.java  |  10 +-
 .../functions/ImplicitlyCastableSignature.java     |  24 +-
 .../functions/NullOrIdenticalSignature.java        |  12 +-
 .../functions/agg/AggregateFunction.java           |  41 +-
 .../trees/expressions/functions/agg/AnyValue.java  |  52 +--
 .../functions/agg/ApproxCountDistinct.java         |  76 ----
 .../trees/expressions/functions/agg/Avg.java       | 112 +++--
 .../agg/{VarianceSamp.java => AvgWeighted.java}    |  66 ++-
 .../BitmapFunction.java}                           |  22 +-
 .../expressions/functions/agg/BitmapIntersect.java |  35 +-
 .../expressions/functions/agg/BitmapUnion.java     |  35 +-
 .../functions/agg/BitmapUnionCount.java            |  39 +-
 .../expressions/functions/agg/BitmapUnionInt.java  |  45 +-
 .../expressions/functions/agg/CollectList.java     | 110 +++++
 .../expressions/functions/agg/CollectSet.java      | 110 +++++
 .../trees/expressions/functions/agg/Count.java     |  69 +--
 .../expressions/functions/agg/GroupBitAnd.java     |  52 ++-
 .../expressions/functions/agg/GroupBitOr.java      |  46 +-
 .../expressions/functions/agg/GroupBitXor.java     |  45 +-
 .../expressions/functions/agg/GroupBitmapXor.java  |  45 +-
 .../expressions/functions/agg/GroupConcat.java     | 141 +++++++
 .../MoneyFormat.java => agg/Histogram.java}        |  55 ++-
 .../HllFunction.java}                              |  20 +-
 .../trees/expressions/functions/agg/HllUnion.java  |  39 +-
 .../expressions/functions/agg/HllUnionAgg.java     |  39 +-
 .../{BitmapUnionCount.java => IntersectCount.java} |  56 ++-
 .../trees/expressions/functions/agg/Max.java       |  35 +-
 .../{scalar/GetJsonDouble.java => agg/MaxBy.java}  |  57 ++-
 .../trees/expressions/functions/agg/Min.java       |  35 +-
 .../{scalar/GetJsonDouble.java => agg/MinBy.java}  |  57 ++-
 .../functions/agg/MultiDistinctCount.java          |  34 +-
 .../functions/agg/MultiDistinctSum.java            |  32 +-
 .../trees/expressions/functions/agg/Ndv.java       |  86 +---
 .../functions/agg/NullableAggregateFunction.java   |  26 +-
 ...mapUnion.java => OrthogonalBitmapFunction.java} |  48 +--
 .../functions/agg/OrthogonalBitmapIntersect.java   |  66 +++
 .../agg/OrthogonalBitmapIntersectCount.java        |  66 +++
 .../OrthogonalBitmapUnionCount.java}               |  31 +-
 .../BitmapAndNotCount.java => agg/Percentile.java} |  44 +-
 .../functions/agg/PercentileApprox.java            | 110 +++++
 .../PercentileArray.java}                          |  37 +-
 .../{scalar/Acos.java => agg/QuantileUnion.java}   |  46 +-
 .../{scalar/Md5Sum.java => agg/Retention.java}     |  59 ++-
 .../MinutesDiff.java => agg/SequenceCount.java}    |  59 +--
 .../functions/agg/SequenceFunction.java            |  52 +++
 .../Quarter.java => agg/SequenceMatch.java}        |  55 ++-
 .../StdDevOrVarianceFunction.java}                 |  19 +-
 .../agg/{VarianceSamp.java => Stddev.java}         |  56 +--
 .../agg/{VarianceSamp.java => StddevSamp.java}     |  58 +--
 .../trees/expressions/functions/agg/Sum.java       |  90 ++--
 .../{scalar/Substring.java => agg/TopN.java}       |  86 ++--
 .../trees/expressions/functions/agg/TopNArray.java | 158 +++++++
 .../expressions/functions/agg/TopNWeighted.java    | 174 ++++++++
 .../trees/expressions/functions/agg/Variance.java  |  60 +--
 .../expressions/functions/agg/VarianceSamp.java    |  57 ++-
 .../expressions/functions/agg/WindowFunnel.java    | 128 ++++++
 .../trees/expressions/functions/scalar/Abs.java    |   2 +-
 .../trees/expressions/functions/scalar/Acos.java   |   2 +-
 .../functions/scalar/AesCryptoFunction.java        |  75 ++++
 .../expressions/functions/scalar/AesDecrypt.java   |  34 +-
 .../expressions/functions/scalar/AesEncrypt.java   |  37 +-
 .../scalar/AppendTrailingCharIfAbsent.java         |   2 +-
 .../trees/expressions/functions/scalar/Array.java  | 126 ++++++
 .../functions/scalar/{Abs.java => ArrayAvg.java}   |  45 +-
 .../expressions/functions/scalar/ArrayCompact.java |  98 +++++
 .../scalar/{NullIf.java => ArrayContains.java}     |  60 +--
 .../scalar/{Abs.java => ArrayDifference.java}      |  41 +-
 .../functions/scalar/ArrayDistinct.java            |  99 +++++
 .../functions/scalar/ArrayEnumerate.java           |  97 +++++
 .../expressions/functions/scalar/ArrayExcept.java  | 111 +++++
 .../functions/scalar/ArrayIntersect.java           | 111 +++++
 .../expressions/functions/scalar/ArrayJoin.java    | 159 +++++++
 .../scalar/{Greatest.java => ArrayMax.java}        |  63 +--
 .../scalar/{Greatest.java => ArrayMin.java}        |  63 +--
 .../scalar/{Abs.java => ArrayPopback.java}         |  52 ++-
 .../scalar/{NullIf.java => ArrayPosition.java}     |  57 +--
 .../scalar/{Abs.java => ArrayProduct.java}         |  45 +-
 .../scalar/{FromUnixtime.java => ArrayRange.java}  |  48 ++-
 .../expressions/functions/scalar/ArrayRemove.java  | 112 +++++
 .../functions/scalar/{Ceil.java => ArraySize.java} |  24 +-
 .../expressions/functions/scalar/ArraySlice.java   | 143 +++++++
 .../expressions/functions/scalar/ArraySort.java    | 100 +++++
 .../functions/scalar/{Abs.java => ArraySum.java}   |  45 +-
 .../expressions/functions/scalar/ArrayUnion.java   | 111 +++++
 .../scalar/{NullIf.java => ArrayWithConstant.java} |  60 ++-
 .../functions/scalar/ArraysOverlap.java            | 111 +++++
 .../trees/expressions/functions/scalar/Ascii.java  |   2 +-
 .../trees/expressions/functions/scalar/Asin.java   |   2 +-
 .../trees/expressions/functions/scalar/Atan.java   |   2 +-
 .../trees/expressions/functions/scalar/Bin.java    |   2 +-
 .../expressions/functions/scalar/BitLength.java    |   2 +-
 .../expressions/functions/scalar/BitmapAnd.java    |   2 +-
 .../functions/scalar/BitmapAndCount.java           |   2 +-
 .../expressions/functions/scalar/BitmapAndNot.java |   2 +-
 .../functions/scalar/BitmapAndNotCount.java        |   2 +-
 .../functions/scalar/BitmapContains.java           |   2 +-
 .../expressions/functions/scalar/BitmapCount.java  |   5 +-
 .../expressions/functions/scalar/BitmapEmpty.java  |   2 +-
 .../{BitmapMax.java => BitmapFromArray.java}       |  29 +-
 .../functions/scalar/BitmapFromString.java         |   2 +-
 .../expressions/functions/scalar/BitmapHasAll.java |   2 +-
 .../expressions/functions/scalar/BitmapHasAny.java |   2 +-
 .../expressions/functions/scalar/BitmapHash.java   |   2 +-
 .../expressions/functions/scalar/BitmapHash64.java |   2 +-
 .../expressions/functions/scalar/BitmapMax.java    |   2 +-
 .../expressions/functions/scalar/BitmapMin.java    |   2 +-
 .../expressions/functions/scalar/BitmapNot.java    |   2 +-
 .../expressions/functions/scalar/BitmapOr.java     |   2 +-
 .../functions/scalar/BitmapOrCount.java            |   2 +-
 .../functions/scalar/BitmapSubsetInRange.java      |   2 +-
 .../functions/scalar/BitmapSubsetLimit.java        |   2 +-
 .../scalar/{Bin.java => BitmapToArray.java}        |  25 +-
 .../functions/scalar/BitmapToString.java           |   2 +-
 .../expressions/functions/scalar/BitmapXor.java    |   2 +-
 .../functions/scalar/BitmapXorCount.java           |   2 +-
 .../scalar/{Ceil.java => Cardinality.java}         |  24 +-
 .../trees/expressions/functions/scalar/Cbrt.java   |   2 +-
 .../trees/expressions/functions/scalar/Ceil.java   |   5 +-
 .../expressions/functions/scalar/Ceiling.java      |   2 +-
 .../expressions/functions/scalar/CharLength.java   |  71 ----
 .../functions/scalar/CharacterLength.java          |   2 +-
 .../expressions/functions/scalar/Coalesce.java     |   2 +-
 .../scalar/CompatibleTypeArrayFunction.java        |  65 +++
 .../trees/expressions/functions/scalar/Concat.java |   2 +-
 .../expressions/functions/scalar/ConcatWs.java     |  13 +-
 .../trees/expressions/functions/scalar/Conv.java   |   2 +-
 .../{ExtractUrlParameter.java => ConvertTo.java}   |  29 +-
 .../expressions/functions/scalar/ConvertTz.java    |   2 +-
 .../trees/expressions/functions/scalar/Cos.java    |   2 +-
 .../scalar/{NullIf.java => CountEqual.java}        |  57 +--
 .../functions/scalar/CryptoFunction.java           |  93 ++++
 .../expressions/functions/scalar/CurrentDate.java  |   2 +-
 .../expressions/functions/scalar/CurrentTime.java  |   2 +-
 .../functions/scalar/CurrentTimestamp.java         |   2 +-
 .../expressions/functions/scalar/Curtime.java      |   2 +-
 .../trees/expressions/functions/scalar/Date.java   |   2 +-
 .../expressions/functions/scalar/DateDiff.java     |   2 +-
 .../expressions/functions/scalar/DateFormat.java   |   2 +-
 .../expressions/functions/scalar/DateTrunc.java    |   2 +-
 .../trees/expressions/functions/scalar/DateV2.java |   2 +-
 .../trees/expressions/functions/scalar/Day.java    |   2 +-
 .../expressions/functions/scalar/DayCeil.java      |   2 +-
 .../expressions/functions/scalar/DayFloor.java     |   2 +-
 .../expressions/functions/scalar/DayName.java      |   2 +-
 .../expressions/functions/scalar/DayOfMonth.java   |   2 +-
 .../expressions/functions/scalar/DayOfWeek.java    |   2 +-
 .../expressions/functions/scalar/DayOfYear.java    |   2 +-
 .../expressions/functions/scalar/DaysDiff.java     |   2 +-
 .../trees/expressions/functions/scalar/Dceil.java  |   2 +-
 .../expressions/functions/scalar/Degrees.java      |   2 +-
 .../trees/expressions/functions/scalar/Dexp.java   |   2 +-
 .../trees/expressions/functions/scalar/Dfloor.java |   2 +-
 .../trees/expressions/functions/scalar/Dlog1.java  |   2 +-
 .../trees/expressions/functions/scalar/Dlog10.java |   2 +-
 .../scalar/{ToBase64.java => Domain.java}          |  24 +-
 .../scalar/{Trim.java => DomainWithoutWww.java}    |  22 +-
 .../trees/expressions/functions/scalar/Dpow.java   |   2 +-
 .../trees/expressions/functions/scalar/Dround.java |   5 +-
 .../trees/expressions/functions/scalar/Dsqrt.java  |   2 +-
 .../trees/expressions/functions/scalar/E.java      |   2 +-
 .../scalar/{NullIf.java => ElementAt.java}         |  51 +--
 .../scalar/{NullIf.java => ElementExtract.java}    |  51 +--
 .../expressions/functions/scalar/ElementSlice.java | 143 +++++++
 .../trees/expressions/functions/scalar/Elt.java    |   2 +-
 .../expressions/functions/scalar/EndsWith.java     |   2 +-
 .../expressions/functions/scalar/EsQuery.java      |   2 +-
 .../trees/expressions/functions/scalar/Exp.java    |   2 +-
 .../functions/scalar/ExtractUrlParameter.java      |   2 +-
 .../functions/scalar/{Greatest.java => Field.java} |  55 ++-
 .../expressions/functions/scalar/FindInSet.java    |   2 +-
 .../trees/expressions/functions/scalar/Floor.java  |   5 +-
 .../trees/expressions/functions/scalar/Fmod.java   |   2 +-
 .../trees/expressions/functions/scalar/Fpow.java   |   2 +-
 .../expressions/functions/scalar/FromBase64.java   |   2 +-
 .../expressions/functions/scalar/FromDays.java     |   2 +-
 .../expressions/functions/scalar/FromUnixtime.java |   2 +-
 .../functions/scalar/GetJsonDouble.java            |   2 +-
 .../expressions/functions/scalar/GetJsonInt.java   |   2 +-
 .../functions/scalar/GetJsonString.java            |   2 +-
 .../expressions/functions/scalar/Greatest.java     |   2 +-
 .../trees/expressions/functions/scalar/Hex.java    |   2 +-
 .../functions/scalar/HllCardinality.java           |   5 +-
 .../expressions/functions/scalar/HllEmpty.java     |   2 +-
 .../expressions/functions/scalar/HllHash.java      |   2 +-
 .../trees/expressions/functions/scalar/Hour.java   |   2 +-
 .../expressions/functions/scalar/HourCeil.java     |   2 +-
 .../expressions/functions/scalar/HourFloor.java    |   2 +-
 .../expressions/functions/scalar/HoursDiff.java    |   2 +-
 .../trees/expressions/functions/scalar/If.java     | 102 ++++-
 .../expressions/functions/scalar/Initcap.java      |   2 +-
 .../trees/expressions/functions/scalar/Instr.java  |   2 +-
 .../expressions/functions/scalar/JsonArray.java    |   2 +-
 .../expressions/functions/scalar/JsonObject.java   |  12 +-
 .../expressions/functions/scalar/JsonQuote.java    |   2 +-
 .../functions/scalar/JsonbExistsPath.java          |   2 +-
 .../expressions/functions/scalar/JsonbExtract.java |   2 +-
 .../functions/scalar/JsonbExtractBigint.java       |   2 +-
 .../functions/scalar/JsonbExtractBool.java         |   2 +-
 .../functions/scalar/JsonbExtractDouble.java       |   2 +-
 .../functions/scalar/JsonbExtractInt.java          |   2 +-
 .../functions/scalar/JsonbExtractIsnull.java       |   2 +-
 .../functions/scalar/JsonbExtractString.java       |   2 +-
 .../expressions/functions/scalar/JsonbParse.java   |   2 +-
 .../functions/scalar/JsonbParseErrorToInvalid.java |   2 +-
 .../functions/scalar/JsonbParseErrorToNull.java    |   2 +-
 .../functions/scalar/JsonbParseErrorToValue.java   |   2 +-
 .../functions/scalar/JsonbParseNotnull.java        |   2 +-
 .../scalar/JsonbParseNotnullErrorToInvalid.java    |   2 +-
 .../scalar/JsonbParseNotnullErrorToValue.java      |   2 +-
 .../functions/scalar/JsonbParseNullable.java       |   2 +-
 .../scalar/JsonbParseNullableErrorToInvalid.java   |   2 +-
 .../scalar/JsonbParseNullableErrorToNull.java      |   2 +-
 .../scalar/JsonbParseNullableErrorToValue.java     |   2 +-
 .../expressions/functions/scalar/JsonbType.java    |   2 +-
 .../functions/scalar/{ToDate.java => LastDay.java} |  24 +-
 .../trees/expressions/functions/scalar/Least.java  |   2 +-
 .../trees/expressions/functions/scalar/Left.java   |   2 +-
 .../trees/expressions/functions/scalar/Length.java |   2 +-
 .../trees/expressions/functions/scalar/Ln.java     |   2 +-
 .../expressions/functions/scalar/LocalTime.java    |   2 +-
 .../functions/scalar/LocalTimestamp.java           |   2 +-
 .../trees/expressions/functions/scalar/Locate.java |   2 +-
 .../trees/expressions/functions/scalar/Log.java    |   2 +-
 .../trees/expressions/functions/scalar/Log10.java  |   2 +-
 .../trees/expressions/functions/scalar/Log2.java   |   2 +-
 .../trees/expressions/functions/scalar/Lower.java  |   2 +-
 .../trees/expressions/functions/scalar/Lpad.java   |   2 +-
 .../trees/expressions/functions/scalar/Ltrim.java  |   2 +-
 .../expressions/functions/scalar/MakeDate.java     |   2 +-
 .../trees/expressions/functions/scalar/Md5.java    |   2 +-
 .../trees/expressions/functions/scalar/Md5Sum.java |   2 +-
 .../trees/expressions/functions/scalar/Minute.java |   2 +-
 .../expressions/functions/scalar/MinuteCeil.java   |   2 +-
 .../expressions/functions/scalar/MinuteFloor.java  |   2 +-
 .../expressions/functions/scalar/MinutesDiff.java  |   2 +-
 .../expressions/functions/scalar/MoneyFormat.java  |   2 +-
 .../trees/expressions/functions/scalar/Month.java  |   2 +-
 .../expressions/functions/scalar/MonthCeil.java    |   2 +-
 .../expressions/functions/scalar/MonthFloor.java   |   2 +-
 .../expressions/functions/scalar/MonthName.java    |   2 +-
 .../expressions/functions/scalar/MonthsDiff.java   |   2 +-
 .../scalar/{JsonbType.java => MultiMatchAny.java}  |  29 +-
 .../{Right.java => MultiSearchAllPositions.java}   |  30 +-
 .../functions/scalar/MurmurHash332.java            |   2 +-
 .../functions/scalar/MurmurHash364.java            |   2 +-
 .../expressions/functions/scalar/Negative.java     |   2 +-
 .../functions/scalar/NotNullOrEmpty.java           |   2 +-
 .../trees/expressions/functions/scalar/Now.java    |   2 +-
 .../trees/expressions/functions/scalar/NullIf.java |   2 +-
 .../expressions/functions/scalar/NullOrEmpty.java  |   2 +-
 .../trees/expressions/functions/scalar/Nvl.java    |   2 +-
 .../expressions/functions/scalar/ParseUrl.java     |   2 +-
 .../trees/expressions/functions/scalar/Pi.java     |   2 +-
 .../trees/expressions/functions/scalar/Pmod.java   |   2 +-
 .../expressions/functions/scalar/Positive.java     |   2 +-
 .../trees/expressions/functions/scalar/Pow.java    |   2 +-
 .../trees/expressions/functions/scalar/Power.java  |   2 +-
 .../scalar/{ToBase64.java => Protocol.java}        |  24 +-
 .../functions/scalar/QuantilePercent.java          |   2 +-
 .../expressions/functions/scalar/Quarter.java      |   2 +-
 .../expressions/functions/scalar/Radians.java      |   2 +-
 .../trees/expressions/functions/scalar/Random.java |   2 +-
 .../functions/scalar/RegexpExtract.java            |   2 +-
 .../{GetJsonString.java => RegexpExtractAll.java}  |  20 +-
 .../functions/scalar/RegexpReplace.java            |   2 +-
 .../{RegexpReplace.java => RegexpReplaceOne.java}  |  20 +-
 .../trees/expressions/functions/scalar/Repeat.java |   2 +-
 .../expressions/functions/scalar/Replace.java      |   2 +-
 .../expressions/functions/scalar/Reverse.java      |  37 +-
 .../trees/expressions/functions/scalar/Right.java  |   2 +-
 .../trees/expressions/functions/scalar/Round.java  |   5 +-
 .../expressions/functions/scalar/RoundBankers.java |   5 +-
 .../trees/expressions/functions/scalar/Rpad.java   |   2 +-
 .../trees/expressions/functions/scalar/Rtrim.java  |   2 +-
 .../scalar/{Abs.java => RunningDifference.java}    |  47 ++-
 .../trees/expressions/functions/scalar/Second.java |   2 +-
 .../expressions/functions/scalar/SecondCeil.java   |   2 +-
 .../expressions/functions/scalar/SecondFloor.java  |   2 +-
 .../expressions/functions/scalar/SecondsDiff.java  |   2 +-
 .../trees/expressions/functions/scalar/Sign.java   |   2 +-
 .../trees/expressions/functions/scalar/Sin.java    |   2 +-
 .../functions/scalar/{Ceil.java => Size.java}      |  24 +-
 .../trees/expressions/functions/scalar/Sleep.java  |   2 +-
 .../trees/expressions/functions/scalar/Sm3.java    |   2 +-
 .../trees/expressions/functions/scalar/Sm3sum.java |   2 +-
 .../functions/scalar/Sm4CryptoFunction.java        |  57 +++
 .../expressions/functions/scalar/Sm4Decrypt.java   |  39 +-
 .../expressions/functions/scalar/Sm4Encrypt.java   |  34 +-
 .../trees/expressions/functions/scalar/Space.java  |   2 +-
 .../scalar/{Instr.java => SplitByChar.java}        |  26 +-
 .../scalar/{Instr.java => SplitByString.java}      |  26 +-
 .../expressions/functions/scalar/SplitPart.java    |   2 +-
 .../trees/expressions/functions/scalar/Sqrt.java   |   2 +-
 .../expressions/functions/scalar/StAstext.java     |   2 +-
 .../expressions/functions/scalar/StAswkt.java      |   2 +-
 .../expressions/functions/scalar/StCircle.java     |   2 +-
 .../expressions/functions/scalar/StContains.java   |   2 +-
 .../functions/scalar/StDistanceSphere.java         |   2 +-
 .../functions/scalar/StGeometryfromtext.java       |   2 +-
 .../functions/scalar/StGeomfromtext.java           |   2 +-
 .../functions/scalar/StLinefromtext.java           |   2 +-
 .../functions/scalar/StLinestringfromtext.java     |   2 +-
 .../expressions/functions/scalar/StPoint.java      |   2 +-
 .../functions/scalar/StPolyfromtext.java           |   2 +-
 .../expressions/functions/scalar/StPolygon.java    |   2 +-
 .../functions/scalar/StPolygonfromtext.java        |   2 +-
 .../trees/expressions/functions/scalar/StX.java    |   2 +-
 .../trees/expressions/functions/scalar/StY.java    |   2 +-
 .../expressions/functions/scalar/StartsWith.java   |   2 +-
 .../expressions/functions/scalar/StrLeft.java      |   2 +-
 .../expressions/functions/scalar/StrRight.java     |   2 +-
 .../expressions/functions/scalar/StrToDate.java    |   4 +-
 .../expressions/functions/scalar/SubBitmap.java    |   2 +-
 .../expressions/functions/scalar/Substring.java    |   4 +-
 .../scalar/{SplitPart.java => SubstringIndex.java} |  20 +-
 .../trees/expressions/functions/scalar/Tan.java    |   2 +-
 .../expressions/functions/scalar/TimeDiff.java     |   2 +-
 .../expressions/functions/scalar/Timestamp.java    |   2 +-
 .../expressions/functions/scalar/ToBase64.java     |   2 +-
 .../expressions/functions/scalar/ToBitmap.java     |   2 +-
 .../functions/scalar/ToBitmapWithCheck.java        |   2 +-
 .../trees/expressions/functions/scalar/ToDate.java |   2 +-
 .../expressions/functions/scalar/ToDateV2.java     |   2 +-
 .../trees/expressions/functions/scalar/ToDays.java |   2 +-
 .../scalar/{ToDate.java => ToMonday.java}          |  24 +-
 .../functions/scalar/ToQuantileState.java          |  10 +-
 .../trees/expressions/functions/scalar/Trim.java   |   2 +-
 .../expressions/functions/scalar/Truncate.java     |   5 +-
 .../trees/expressions/functions/scalar/Unhex.java  |   2 +-
 .../functions/scalar/UnixTimestamp.java            |   2 +-
 .../trees/expressions/functions/scalar/Upper.java  |   2 +-
 .../expressions/functions/scalar/UtcTimestamp.java |   2 +-
 .../functions/scalar/{Version.java => Uuid.java}   |  19 +-
 .../expressions/functions/scalar/Version.java      |   2 +-
 .../trees/expressions/functions/scalar/Week.java   |   2 +-
 .../expressions/functions/scalar/WeekCeil.java     |   2 +-
 .../expressions/functions/scalar/WeekFloor.java    |   2 +-
 .../expressions/functions/scalar/WeekOfYear.java   |   2 +-
 .../expressions/functions/scalar/Weekday.java      |   2 +-
 .../expressions/functions/scalar/WeeksDiff.java    |   2 +-
 .../trees/expressions/functions/scalar/Year.java   |   2 +-
 .../expressions/functions/scalar/YearCeil.java     |   2 +-
 .../expressions/functions/scalar/YearFloor.java    |   2 +-
 .../expressions/functions/scalar/YearWeek.java     |   2 +-
 .../expressions/functions/scalar/YearsDiff.java    |   2 +-
 .../trees/expressions/literal/ArrayLiteral.java    |  98 +++++
 .../nereids/trees/expressions/literal/Literal.java |  22 +-
 .../visitor/AggregateFunctionVisitor.java          | 188 +++++++--
 .../expressions/visitor/ExpressionVisitor.java     |  10 +
 .../expressions/visitor/ScalarFunctionVisitor.java | 269 +++++++++++-
 .../org/apache/doris/nereids/types/ArrayType.java  |  10 +-
 .../org/apache/doris/nereids/types/BigIntType.java |   3 +-
 .../org/apache/doris/nereids/types/DataType.java   | 123 +++++-
 .../apache/doris/nereids/types/IntegerType.java    |   3 +-
 .../apache/doris/nereids/types/SmallIntType.java   |   3 +-
 .../apache/doris/nereids/types/TinyIntType.java    |   3 +-
 .../FollowToArgumentType.java}                     |  43 +-
 .../coercion/Int16OrLessType.java}                 |  10 +-
 .../coercion/Int32OrLessType.java}                 |  10 +-
 .../coercion/Int64OrLessType.java}                 |  10 +-
 .../doris/nereids/util/TypeCoercionUtils.java      |  14 +-
 .../analysis/CheckExpressionLegalityTest.java      |  74 ++++
 .../rules/analysis/FillUpMissingSlotsTest.java     |   4 +-
 ...teScalarFunction.java => GenerateFunction.java} | 466 ++++++++++++++++-----
 .../rules/expression/rewrite/TypeCoercionTest.java |  10 +-
 .../nereids/trees/expressions/GetDataTypeTest.java |  39 +-
 .../nereids/trees/plans/PlanToStringTest.java      |   2 +-
 .../suites/nereids_syntax_p0/array_function.groovy |  44 ++
 .../suites/nereids_syntax_p0/function.groovy       |  10 +
 .../suites/nereids_syntax_p0/group_concat.groovy   |  25 +-
 .../nereids_syntax_p0/sub_query_correlated.groovy  | 102 ++---
 .../sub_query_diff_old_optimize.groovy             |  62 +--
 .../system/test_query_sys_data_type.groovy         |   2 +-
 414 files changed, 7610 insertions(+), 2616 deletions(-)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/functions/ForbiddenMetricTypeArguments.java
 => jobs/batch/CheckLegalityAfterRewrite.java} (53%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/jobs/batch/{TypeCoercionJob.java
 => CheckLegalityBeforeTypeCoercion.java} (53%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rewrite/rules/SupportJavaDateFormatter.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/{Cast.java 
=> OrderExpression.java} (56%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/BitmapIntersectFunction.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ForbiddenMetricTypeArguments.java
 => ComputePrecision.java} (81%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ComputePrecisionForRound.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ForbiddenMetricTypeArguments.java
 => ComputePrecisionForSum.java} (53%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ComputeSignatureHelper.java
 delete mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/ApproxCountDistinct.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/{VarianceSamp.java
 => AvgWeighted.java} (60%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ForbiddenMetricTypeArguments.java
 => agg/BitmapFunction.java} (55%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/CollectList.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/CollectSet.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/GroupConcat.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/MoneyFormat.java
 => agg/Histogram.java} (52%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ForbiddenMetricTypeArguments.java
 => agg/HllFunction.java} (59%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/{BitmapUnionCount.java
 => IntersectCount.java} (50%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/GetJsonDouble.java
 => agg/MaxBy.java} (54%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/GetJsonDouble.java
 => agg/MinBy.java} (53%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/{BitmapUnion.java
 => OrthogonalBitmapFunction.java} (51%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/OrthogonalBitmapIntersect.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/OrthogonalBitmapIntersectCount.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/BitmapCount.java
 => agg/OrthogonalBitmapUnionCount.java} (71%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/BitmapAndNotCount.java
 => agg/Percentile.java} (61%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/PercentileApprox.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/BitmapAndNotCount.java
 => agg/PercentileArray.java} (65%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/Acos.java
 => agg/QuantileUnion.java} (59%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/Md5Sum.java
 => agg/Retention.java} (50%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/MinutesDiff.java
 => agg/SequenceCount.java} (50%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/SequenceFunction.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/Quarter.java
 => agg/SequenceMatch.java} (50%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ForbiddenMetricTypeArguments.java
 => agg/StdDevOrVarianceFunction.java} (59%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/{VarianceSamp.java
 => Stddev.java} (71%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/{VarianceSamp.java
 => StddevSamp.java} (69%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{scalar/Substring.java
 => agg/TopN.java} (53%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/TopNArray.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/TopNWeighted.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/agg/WindowFunnel.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/AesCryptoFunction.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Array.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => ArrayAvg.java} (60%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayCompact.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => ArrayContains.java} (52%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => ArrayDifference.java} (62%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDistinct.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayEnumerate.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayExcept.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayIntersect.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayJoin.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Greatest.java
 => ArrayMax.java} (51%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Greatest.java
 => ArrayMin.java} (51%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => ArrayPopback.java} (51%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => ArrayPosition.java} (53%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => ArrayProduct.java} (60%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{FromUnixtime.java
 => ArrayRange.java} (60%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRemove.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Ceil.java
 => ArraySize.java} (80%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySlice.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySort.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => ArraySum.java} (60%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayUnion.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => ArrayWithConstant.java} (53%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraysOverlap.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{BitmapMax.java
 => BitmapFromArray.java} (67%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Bin.java
 => BitmapToArray.java} (77%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Ceil.java
 => Cardinality.java} (79%)
 delete mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CharLength.java
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CompatibleTypeArrayFunction.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ExtractUrlParameter.java
 => ConvertTo.java} (74%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => CountEqual.java} (53%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/CryptoFunction.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ToBase64.java
 => Domain.java} (81%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Trim.java
 => DomainWithoutWww.java} (81%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => ElementAt.java} (57%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{NullIf.java
 => ElementExtract.java} (57%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ElementSlice.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Greatest.java
 => Field.java} (59%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ToDate.java
 => LastDay.java} (81%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{JsonbType.java
 => MultiMatchAny.java} (74%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Right.java
 => MultiSearchAllPositions.java} (73%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ToBase64.java
 => Protocol.java} (81%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{GetJsonString.java
 => RegexpExtractAll.java} (83%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{RegexpReplace.java
 => RegexpReplaceOne.java} (82%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Abs.java
 => RunningDifference.java} (66%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Ceil.java
 => Size.java} (81%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/Sm4CryptoFunction.java
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Instr.java
 => SplitByChar.java} (76%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Instr.java
 => SplitByString.java} (76%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{SplitPart.java
 => SubstringIndex.java} (83%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{ToDate.java
 => ToMonday.java} (81%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/{Version.java
 => Uuid.java} (85%)
 create mode 100644 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/literal/ArrayLiteral.java
 copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{IntegerType.java 
=> coercion/FollowToArgumentType.java} (58%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/functions/ForbiddenMetricTypeArguments.java
 => types/coercion/Int16OrLessType.java} (79%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/functions/ForbiddenMetricTypeArguments.java
 => types/coercion/Int32OrLessType.java} (79%)
 copy 
fe/fe-core/src/main/java/org/apache/doris/nereids/{trees/expressions/functions/ForbiddenMetricTypeArguments.java
 => types/coercion/Int64OrLessType.java} (79%)
 create mode 100644 
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/CheckExpressionLegalityTest.java
 rename 
fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/{GenerateScalarFunction.java
 => GenerateFunction.java} (73%)
 create mode 100644 
regression-test/suites/nereids_syntax_p0/array_function.groovy
 rename 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ForbiddenMetricTypeArguments.java
 => regression-test/suites/nereids_syntax_p0/group_concat.groovy (52%)


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org


Reply via email to