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 b733a23cf7 [Bugfix](stack_over_flow) fix be may core dump because of stack-buffer-overflow when TBrokerOpenReaderResponse too large (#12658) add 0a95ebf602 [feature](Nereids) Add scalar function code generator and some function trait (#12671) No new revisions were added by this update. Summary of changes: fe/fe-core/pom.xml | 5 + .../org/apache/doris/catalog/BuiltinFunctions.java | 16 +- .../java/org/apache/doris/catalog/FuncSig.java | 76 +++ .../org/apache/doris/catalog/FunctionHelper.java | 4 +- .../java/org/apache/doris/catalog/FunctionSet.java | 4 + .../java/org/apache/doris/catalog/ScalarType.java | 6 + .../doris/nereids/analyzer/UnboundAlias.java | 3 +- .../doris/nereids/analyzer/UnboundFunction.java | 3 +- .../apache/doris/nereids/analyzer/UnboundSlot.java | 3 +- .../apache/doris/nereids/analyzer/UnboundStar.java | 3 +- .../glue/translator/ExpressionTranslator.java | 2 +- .../glue/translator/PhysicalPlanTranslator.java | 2 +- .../doris/nereids/rules/analysis/BindFunction.java | 2 +- .../nereids/rules/analysis/BindSlotReference.java | 3 +- .../rules/analysis/ProjectToGlobalAggregate.java | 2 +- .../nereids/rules/analysis/ResolveHaving.java | 2 +- .../doris/nereids/rules/mv/SelectRollup.java | 2 +- .../rules/rewrite/AggregateDisassemble.java | 2 +- .../rules/rewrite/logical/ExistsApplyToJoin.java | 2 +- .../rules/rewrite/logical/NormalizeAggregate.java | 2 +- .../doris/nereids/trees/AbstractTreeNode.java | 3 + .../trees/expressions/AssertNumRowsElement.java | 3 +- .../nereids/trees/expressions/Expression.java | 12 +- .../trees/expressions/TimestampArithmetic.java | 3 +- ...{ScalarFunction.java => AlwaysNotNullable.java} | 13 +- .../{ScalarFunction.java => AlwaysNullable.java} | 13 +- .../{ScalarFunction.java => ComputeNullable.java} | 21 +- .../expressions/functions/FunctionBuilder.java | 4 +- ...{ScalarFunction.java => PropagateNullable.java} | 15 +- .../expressions/functions/SignatureSupplier.java | 128 ++++++ .../functions/{ => agg}/AggregateFunction.java | 3 +- .../trees/expressions/functions/{ => agg}/Avg.java | 2 +- .../expressions/functions/{ => agg}/Count.java | 10 +- .../trees/expressions/functions/{ => agg}/Max.java | 2 +- .../trees/expressions/functions/{ => agg}/Min.java | 2 +- .../trees/expressions/functions/{ => agg}/Sum.java | 2 +- .../functions/{ => scalar}/ScalarFunction.java | 3 +- .../functions/{ => scalar}/Substring.java | 14 +- .../functions/{ => scalar}/WeekOfYear.java | 5 +- .../expressions/functions/{ => scalar}/Year.java | 5 +- .../trees/expressions/literal/IntervalLiteral.java | 3 +- .../typecoercion/ExpectsInputTypes.java | 3 +- .../expressions/visitor/ExpressionVisitor.java | 2 +- .../types/{CharType.java => ArrayType.java} | 50 +- .../org/apache/doris/nereids/types/BigIntType.java | 2 +- .../types/{LargeIntType.java => BitmapType.java} | 33 +- .../apache/doris/nereids/types/BooleanType.java | 2 +- .../org/apache/doris/nereids/types/CharType.java | 3 + .../org/apache/doris/nereids/types/DataType.java | 112 ++++- .../apache/doris/nereids/types/DateTimeType.java | 2 +- .../{DateTimeType.java => DateTimeV2Type.java} | 20 +- .../org/apache/doris/nereids/types/DateType.java | 2 +- .../types/{DateType.java => DateV2Type.java} | 8 +- .../apache/doris/nereids/types/DecimalType.java | 2 +- .../types/{DecimalType.java => DecimalV2Type.java} | 47 +- .../org/apache/doris/nereids/types/DoubleType.java | 2 +- .../org/apache/doris/nereids/types/FloatType.java | 2 +- .../nereids/types/{FloatType.java => HllType.java} | 33 +- .../apache/doris/nereids/types/IntegerType.java | 2 +- .../apache/doris/nereids/types/LargeIntType.java | 2 +- .../org/apache/doris/nereids/types/NullType.java | 2 +- .../{LargeIntType.java => QuantileStateType.java} | 33 +- .../apache/doris/nereids/types/SmallIntType.java | 2 +- .../org/apache/doris/nereids/types/StringType.java | 2 +- .../types/{VarcharType.java => TextType.java} | 14 +- .../types/{DateTimeType.java => TimeType.java} | 12 +- .../types/{DateTimeType.java => TimeV2Type.java} | 12 +- .../apache/doris/nereids/types/TinyIntType.java | 2 +- .../apache/doris/nereids/types/VarcharType.java | 5 +- .../nereids/types/coercion/AbstractDataType.java | 15 + .../apache/doris/nereids/util/ExpressionUtils.java | 20 + .../nereids/jobs/cascades/DeriveStatsJobTest.java | 4 +- .../doris/nereids/parser/HavingClauseTest.java | 6 +- .../rules/analysis/FunctionRegistryTest.java | 9 +- .../rules/analysis/GenerateScalarFunction.java | 511 +++++++++++++++++++++ .../rules/expression/rewrite/TypeCoercionTest.java | 8 +- .../rewrite/logical/AggregateDisassembleTest.java | 4 +- .../rewrite/logical/NormalizeAggregateTest.java | 2 +- .../trees/expressions/ExpressionEqualsTest.java | 4 +- .../nereids/trees/expressions/GetDataTypeTest.java | 2 +- .../nereids/util/AnalyzeWhereSubqueryTest.java | 4 +- gensrc/script/doris_builtins_functions.py | 6 +- 82 files changed, 1175 insertions(+), 243 deletions(-) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/catalog/FuncSig.java copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ScalarFunction.java => AlwaysNotNullable.java} (74%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ScalarFunction.java => AlwaysNullable.java} (74%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ScalarFunction.java => ComputeNullable.java} (50%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ScalarFunction.java => PropagateNullable.java} (70%) create mode 100644 fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/SignatureSupplier.java rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/AggregateFunction.java (94%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/Avg.java (97%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/Count.java (92%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/Max.java (96%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/Min.java (96%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => agg}/Sum.java (97%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => scalar}/ScalarFunction.java (88%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => scalar}/Substring.java (91%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => scalar}/WeekOfYear.java (91%) rename fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/{ => scalar}/Year.java (92%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{CharType.java => ArrayType.java} (56%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{LargeIntType.java => BitmapType.java} (74%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DateTimeType.java => DateTimeV2Type.java} (70%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DateType.java => DateV2Type.java} (86%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DecimalType.java => DecimalV2Type.java} (70%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{FloatType.java => HllType.java} (75%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{LargeIntType.java => QuantileStateType.java} (71%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{VarcharType.java => TextType.java} (84%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DateTimeType.java => TimeType.java} (82%) copy fe/fe-core/src/main/java/org/apache/doris/nereids/types/{DateTimeType.java => TimeV2Type.java} (82%) create mode 100644 fe/fe-core/src/test/java/org/apache/doris/nereids/rules/analysis/GenerateScalarFunction.java --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org