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: [email protected]
For additional commands, e-mail: [email protected]