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

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/branch-2.0 by this push:
     new a82a3b7e020 [FIX](Nereids)delete array funcs for nereids (#29762)
a82a3b7e020 is described below

commit a82a3b7e020ff31cedda59d5ffbac24b43f2a737
Author: amory <[email protected]>
AuthorDate: Wed Jan 10 18:21:28 2024 +0800

    [FIX](Nereids)delete array funcs for nereids (#29762)
---
 .../doris/catalog/BuiltinScalarFunctions.java      |  46 ------
 .../rules/expression/ExpressionOptimization.java   |   2 -
 .../rules/ArrayContainToArrayOverlap.java          |  99 -------------
 .../expressions/functions/scalar/ArrayAvg.java     |  86 -----------
 .../expressions/functions/scalar/ArrayCompact.java | 101 -------------
 .../functions/scalar/ArrayContains.java            | 106 --------------
 .../functions/scalar/ArrayDifference.java          |  87 -----------
 .../functions/scalar/ArrayDistinct.java            | 102 -------------
 .../functions/scalar/ArrayEnumerate.java           |  99 -------------
 .../expressions/functions/scalar/ArrayExcept.java  | 114 ---------------
 .../functions/scalar/ArrayIntersect.java           | 114 ---------------
 .../expressions/functions/scalar/ArrayJoin.java    | 162 ---------------------
 .../expressions/functions/scalar/ArrayMax.java     | 100 -------------
 .../expressions/functions/scalar/ArrayMin.java     | 100 -------------
 .../expressions/functions/scalar/ArrayPopback.java |  98 -------------
 .../functions/scalar/ArrayPosition.java            | 103 -------------
 .../expressions/functions/scalar/ArrayProduct.java |  86 -----------
 .../expressions/functions/scalar/ArrayRange.java   |  93 ------------
 .../expressions/functions/scalar/ArrayRemove.java  | 115 ---------------
 .../expressions/functions/scalar/ArraySize.java    |  69 ---------
 .../expressions/functions/scalar/ArraySlice.java   | 148 -------------------
 .../expressions/functions/scalar/ArraySort.java    | 103 -------------
 .../expressions/functions/scalar/ArraySum.java     |  86 -----------
 .../expressions/functions/scalar/ArrayUnion.java   | 114 ---------------
 .../functions/scalar/ArrayWithConstant.java        |  98 -------------
 .../functions/scalar/ArraysOverlap.java            | 114 ---------------
 .../expressions/visitor/ScalarFunctionVisitor.java | 115 ---------------
 27 files changed, 2660 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
index e87f1ebaa96..5b7e6102bfc 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/catalog/BuiltinScalarFunctions.java
@@ -27,29 +27,6 @@ import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncrypt;
 import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncryptV2;
 import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AppendTrailingCharIfAbsent;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Array;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayAvg;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCompact;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayContains;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayDifference;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayDistinct;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayEnumerate;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayExcept;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayIntersect;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayJoin;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayMax;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayMin;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopback;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPosition;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayProduct;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRange;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRemove;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySize;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySlice;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySort;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySum;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayUnion;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayWithConstant;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Ascii;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Asin;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Atan;
@@ -389,29 +366,6 @@ public class BuiltinScalarFunctions implements 
FunctionHelper {
             scalar(AesEncryptV2.class, "aes_encrypt_v2"),
             scalar(AppendTrailingCharIfAbsent.class, 
"append_trailing_char_if_absent"),
             scalar(Array.class, "array"),
-            scalar(ArrayAvg.class, "array_avg"),
-            scalar(ArrayCompact.class, "array_compact"),
-            scalar(ArrayContains.class, "array_contains"),
-            scalar(ArrayDifference.class, "array_difference"),
-            scalar(ArrayDistinct.class, "array_distinct"),
-            scalar(ArrayEnumerate.class, "array_enumerate"),
-            scalar(ArrayExcept.class, "array_except"),
-            scalar(ArrayIntersect.class, "array_intersect"),
-            scalar(ArrayJoin.class, "array_join"),
-            scalar(ArrayMax.class, "array_max"),
-            scalar(ArrayMin.class, "array_min"),
-            scalar(ArrayPopback.class, "array_popback"),
-            scalar(ArrayPosition.class, "array_position"),
-            scalar(ArrayProduct.class, "array_product"),
-            scalar(ArrayRange.class, "array_range"),
-            scalar(ArrayRemove.class, "array_remove"),
-            scalar(ArraySize.class, "array_size"),
-            scalar(ArraySlice.class, "array_slice"),
-            scalar(ArraySort.class, "array_sort"),
-            scalar(ArraySum.class, "array_sum"),
-            scalar(ArrayUnion.class, "array_union"),
-            scalar(ArrayWithConstant.class, "array_with_constant"),
-            scalar(ArraysOverlap.class, "arrays_overlap"),
             scalar(Ascii.class, "ascii"),
             scalar(Asin.class, "asin"),
             scalar(Atan.class, "atan"),
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionOptimization.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionOptimization.java
index e7b3a308f0f..c9009ae0511 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionOptimization.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/ExpressionOptimization.java
@@ -17,7 +17,6 @@
 
 package org.apache.doris.nereids.rules.expression;
 
-import 
org.apache.doris.nereids.rules.expression.rules.ArrayContainToArrayOverlap;
 import org.apache.doris.nereids.rules.expression.rules.CaseWhenToIf;
 import org.apache.doris.nereids.rules.expression.rules.DateFunctionRewrite;
 import org.apache.doris.nereids.rules.expression.rules.DistinctPredicatesRule;
@@ -46,7 +45,6 @@ public class ExpressionOptimization extends ExpressionRewrite 
{
             SimplifyRange.INSTANCE,
             DateFunctionRewrite.INSTANCE,
             OrToIn.INSTANCE,
-            ArrayContainToArrayOverlap.INSTANCE,
             CaseWhenToIf.INSTANCE,
             TopnToMax.INSTANCE
     );
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/ArrayContainToArrayOverlap.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/ArrayContainToArrayOverlap.java
deleted file mode 100644
index 7309ef111c9..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/rules/expression/rules/ArrayContainToArrayOverlap.java
+++ /dev/null
@@ -1,99 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.rules.expression.rules;
-
-import org.apache.doris.nereids.rules.expression.ExpressionRewriteContext;
-import org.apache.doris.nereids.rules.expression.ExpressionRewriteRule;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.Or;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayContains;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap;
-import org.apache.doris.nereids.trees.expressions.literal.ArrayLiteral;
-import org.apache.doris.nereids.trees.expressions.literal.Literal;
-import 
org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionRewriter;
-import org.apache.doris.nereids.util.ExpressionUtils;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-/**
- * array_contains ( c_array, '1' )
- *  OR array_contains ( c_array, '2' )
- * =========================================>
- * array_overlap(c_array, ['1', '2'])
- */
-public class ArrayContainToArrayOverlap extends 
DefaultExpressionRewriter<ExpressionRewriteContext> implements
-        ExpressionRewriteRule<ExpressionRewriteContext> {
-
-    public static final ArrayContainToArrayOverlap INSTANCE = new 
ArrayContainToArrayOverlap();
-
-    private static final int REWRITE_PREDICATE_THRESHOLD = 2;
-
-    @Override
-    public Expression rewrite(Expression expr, ExpressionRewriteContext ctx) {
-        return expr.accept(this, ctx);
-    }
-
-    @Override
-    public Expression visitOr(Or or, ExpressionRewriteContext ctx) {
-        List<Expression> disjuncts = ExpressionUtils.extractDisjunction(or);
-        Map<Boolean, List<Expression>> containFuncAndOtherFunc = 
disjuncts.stream()
-                
.collect(Collectors.partitioningBy(this::isValidArrayContains));
-        Map<Expression, Set<Literal>> containLiteralSet = new HashMap<>();
-        List<Expression> contains = containFuncAndOtherFunc.get(true);
-        List<Expression> others = containFuncAndOtherFunc.get(false);
-
-        contains.forEach(containFunc ->
-                containLiteralSet.computeIfAbsent(containFunc.child(0), k -> 
new HashSet<>())
-                            .add((Literal) containFunc.child(1)));
-
-        Builder<Expression> newDisjunctsBuilder = new 
ImmutableList.Builder<>();
-        containLiteralSet.forEach((left, literalSet) -> {
-            if (literalSet.size() > REWRITE_PREDICATE_THRESHOLD) {
-                newDisjunctsBuilder.add(
-                        new ArraysOverlap(left,
-                                new 
ArrayLiteral(ImmutableList.copyOf(literalSet))));
-            }
-        });
-
-        contains.stream()
-                .filter(e -> !canCovertToArrayOverlap(e, containLiteralSet))
-                .forEach(newDisjunctsBuilder::add);
-        others.stream()
-                .map(e -> e.accept(this, null))
-                .forEach(newDisjunctsBuilder::add);
-        return ExpressionUtils.or(newDisjunctsBuilder.build());
-    }
-
-    private boolean isValidArrayContains(Expression expression) {
-        return expression instanceof ArrayContains && expression.child(1) 
instanceof Literal;
-    }
-
-    private boolean canCovertToArrayOverlap(Expression expression, 
Map<Expression, Set<Literal>> containLiteralSet) {
-        return expression instanceof ArrayContains
-                && containLiteralSet.getOrDefault(expression.child(0),
-                    new HashSet<>()).size() > REWRITE_PREDICATE_THRESHOLD;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayAvg.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayAvg.java
deleted file mode 100644
index 781d583149e..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayAvg.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_avg'. This class is generated by GenerateFunction.
- */
-public class ArrayAvg extends CompatibleTypeArrayFunction
-        implements UnaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(DecimalV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(DecimalV3Type.WILDCARD).args(ArrayType.of(DecimalV3Type.WILDCARD))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayAvg(Expression arg) {
-        super("array_avg", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayAvg withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayAvg(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayAvg(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayCompact.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayCompact.java
deleted file mode 100644
index 2cb565c3627..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayCompact.java
+++ /dev/null
@@ -1,101 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_compact'. This class is generated by GenerateFunction.
- */
-public class ArrayCompact extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE)).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE)).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE)).args(ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE)).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayCompact(Expression arg) {
-        super("array_compact", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayCompact withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayCompact(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayCompact(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayContains.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayContains.java
deleted file mode 100644
index 1f5e7808f99..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayContains.java
+++ /dev/null
@@ -1,106 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_contains'. This class is generated by 
GenerateFunction.
- */
-public class ArrayContains extends ScalarFunction
-        implements BinaryExpression, ExplicitlyCastableSignature, 
AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE),
 BooleanType.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE),
 TinyIntType.INSTANCE),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
SmallIntType.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE),
 IntegerType.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE),
 BigIntType.INSTANCE),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
LargeIntType.INSTANCE),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
DateTimeType.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(DateType.INSTANCE),
 DateType.INSTANCE),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
DateTimeV2Type.SYSTEM_DEFAULT),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(DateV2Type.INSTANCE),
 DateV2Type.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE),
 FloatType.INSTANCE),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE),
 DoubleType.INSTANCE),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
DecimalV2Type.SYSTEM_DEFAULT),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
DecimalV3Type.WILDCARD),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(StringType.INSTANCE),
 StringType.INSTANCE)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayContains(Expression arg0, Expression arg1) {
-        super("array_contains", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayContains withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayContains(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayContains(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDifference.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDifference.java
deleted file mode 100644
index c883852cd36..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDifference.java
+++ /dev/null
@@ -1,87 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_difference'. This class is generated by 
GenerateFunction.
- */
-public class ArrayDifference extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayDifference(Expression arg) {
-        super("array_difference", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayDifference withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayDifference(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayDifference(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDistinct.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDistinct.java
deleted file mode 100644
index a6a97ca3894..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayDistinct.java
+++ /dev/null
@@ -1,102 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_distinct'. This class is generated by 
GenerateFunction.
- */
-public class ArrayDistinct extends CompatibleTypeArrayFunction
-        implements UnaryExpression, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE)).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE)).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE)).args(ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE)).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE)).args(ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayDistinct(Expression arg) {
-        super("array_distinct", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayDistinct withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayDistinct(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayDistinct(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayEnumerate.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayEnumerate.java
deleted file mode 100644
index c3c85004f9c..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayEnumerate.java
+++ /dev/null
@@ -1,99 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_enumerate'. This class is generated by 
GenerateFunction.
- */
-public class ArrayEnumerate extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DateType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayEnumerate(Expression arg) {
-        super("array_enumerate", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayEnumerate withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayEnumerate(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayEnumerate(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayExcept.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayExcept.java
deleted file mode 100644
index dd3c10677ef..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayExcept.java
+++ /dev/null
@@ -1,114 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_except'. This class is generated by GenerateFunction.
- */
-public class ArrayExcept extends CompatibleTypeArrayFunction
-        implements BinaryExpression, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
ArrayType.of(BooleanType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
ArrayType.of(TinyIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
ArrayType.of(SmallIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
ArrayType.of(IntegerType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
ArrayType.of(BigIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
ArrayType.of(LargeIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
ArrayType.of(FloatType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
ArrayType.of(DateTimeType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), 
ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE))
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
ArrayType.of(DateV2Type.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayExcept(Expression arg0, Expression arg1) {
-        super("array_except", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayExcept withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayExcept(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayExcept(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayIntersect.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayIntersect.java
deleted file mode 100644
index 2603ce35a9e..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayIntersect.java
+++ /dev/null
@@ -1,114 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_intersect'. This class is generated by 
GenerateFunction.
- */
-public class ArrayIntersect extends CompatibleTypeArrayFunction
-        implements BinaryExpression, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
ArrayType.of(BooleanType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
ArrayType.of(TinyIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
ArrayType.of(SmallIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
ArrayType.of(IntegerType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
ArrayType.of(BigIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
ArrayType.of(LargeIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
ArrayType.of(FloatType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
ArrayType.of(DateTimeType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), 
ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE))
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
ArrayType.of(DateV2Type.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayIntersect(Expression arg0, Expression arg1) {
-        super("array_intersect", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayIntersect withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayIntersect(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayIntersect(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayJoin.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayJoin.java
deleted file mode 100644
index aa83dbc0649..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayJoin.java
+++ /dev/null
@@ -1,162 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_join'. This class is generated by GenerateFunction.
- */
-public class ArrayJoin extends ScalarFunction
-        implements ExplicitlyCastableSignature, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(FloatType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(StringType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT),
-                            VarcharType.SYSTEM_DEFAULT,
-                            VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(FloatType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT),
-                            VarcharType.SYSTEM_DEFAULT,
-                            VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(VarcharType.SYSTEM_DEFAULT)
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT),
-                            VarcharType.SYSTEM_DEFAULT,
-                            VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(StringType.INSTANCE)
-                    .args(ArrayType.of(StringType.INSTANCE), 
VarcharType.SYSTEM_DEFAULT, VarcharType.SYSTEM_DEFAULT)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayJoin(Expression arg0, Expression arg1) {
-        super("array_join", arg0, arg1);
-    }
-
-    /**
-     * constructor with 3 arguments.
-     */
-    public ArrayJoin(Expression arg0, Expression arg1, Expression arg2) {
-        super("array_join", arg0, arg1, arg2);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayJoin withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2
-                || children.size() == 3);
-        if (children.size() == 2) {
-            return new ArrayJoin(children.get(0), children.get(1));
-        } else {
-            return new ArrayJoin(children.get(0), children.get(1), 
children.get(2));
-        }
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayJoin(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMax.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMax.java
deleted file mode 100644
index 55b3f3fade6..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMax.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DataType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_max'. This class is generated by GenerateFunction.
- */
-public class ArrayMax extends CompatibleTypeArrayFunction
-        implements UnaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(TinyIntType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(SmallIntType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(IntegerType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(LargeIntType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(FloatType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(DecimalV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(DecimalV3Type.WILDCARD).args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            
FunctionSignature.ret(DateType.INSTANCE).args(ArrayType.of(DateType.INSTANCE)),
-            
FunctionSignature.ret(DateTimeType.INSTANCE).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(DateV2Type.INSTANCE).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(DateTimeV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayMax(Expression arg) {
-        super("array_max", arg);
-    }
-
-    @Override
-    public DataType getDataType() {
-        return ((ArrayType) (child().getDataType())).getItemType();
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayMax withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayMax(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayMax(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMin.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMin.java
deleted file mode 100644
index 5106f441a04..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayMin.java
+++ /dev/null
@@ -1,100 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DataType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_min'. This class is generated by GenerateFunction.
- */
-public class ArrayMin extends CompatibleTypeArrayFunction
-        implements UnaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BooleanType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(TinyIntType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(SmallIntType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(IntegerType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(LargeIntType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(FloatType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(DecimalV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(DecimalV3Type.WILDCARD).args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            
FunctionSignature.ret(DateType.INSTANCE).args(ArrayType.of(DateType.INSTANCE)),
-            
FunctionSignature.ret(DateTimeType.INSTANCE).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(DateV2Type.INSTANCE).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(DateTimeV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayMin(Expression arg) {
-        super("array_min", arg);
-    }
-
-    @Override
-    public DataType getDataType() {
-        return ((ArrayType) (child().getDataType())).getItemType();
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayMin withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayMin(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayMin(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPopback.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPopback.java
deleted file mode 100644
index 628b0de33e4..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPopback.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_popback'. This class is generated by GenerateFunction.
- */
-public class ArrayPopback extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE)).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE)).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE)).args(ArrayType.of(DateType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE)).args(ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayPopback(Expression arg) {
-        super("array_popback", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayPopback withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayPopback(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayPopback(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPosition.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPosition.java
deleted file mode 100644
index 6c3a0c77ddd..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayPosition.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_position'. This class is generated by 
GenerateFunction.
- */
-public class ArrayPosition extends ScalarFunction
-        implements BinaryExpression, ExplicitlyCastableSignature, 
AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE),
 BooleanType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE),
 TinyIntType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE),
 SmallIntType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE),
 IntegerType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE),
 BigIntType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE),
 LargeIntType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(DateTimeType.INSTANCE),
 DateTimeType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(DateType.INSTANCE),
 DateType.INSTANCE),
-            FunctionSignature.ret(BigIntType.INSTANCE)
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
DateTimeV2Type.SYSTEM_DEFAULT),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(DateV2Type.INSTANCE),
 DateV2Type.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE),
 FloatType.INSTANCE),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE),
 DoubleType.INSTANCE),
-            FunctionSignature.ret(BigIntType.INSTANCE)
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
DecimalV2Type.SYSTEM_DEFAULT),
-            FunctionSignature.ret(BigIntType.INSTANCE)
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
DecimalV3Type.WILDCARD),
-            FunctionSignature.ret(BigIntType.INSTANCE)
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(StringType.INSTANCE),
 StringType.INSTANCE)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayPosition(Expression arg0, Expression arg1) {
-        super("array_position", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayPosition withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayPosition(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayPosition(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayProduct.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayProduct.java
deleted file mode 100644
index c77519eebb3..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayProduct.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_product'. This class is generated by GenerateFunction.
- */
-public class ArrayProduct extends CompatibleTypeArrayFunction
-        implements UnaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(DecimalV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(DecimalV3Type.WILDCARD).args(ArrayType.of(DecimalV3Type.WILDCARD))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayProduct(Expression arg) {
-        super("array_product", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayProduct withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArrayProduct(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayProduct(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRange.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRange.java
deleted file mode 100644
index 70d0d4a0ef8..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRange.java
+++ /dev/null
@@ -1,93 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.IntegerType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_range'. This class is generated by GenerateFunction.
- */
-public class ArrayRange extends ScalarFunction
-        implements ExplicitlyCastableSignature, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(IntegerType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(IntegerType.INSTANCE,
 IntegerType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(IntegerType.INSTANCE, IntegerType.INSTANCE, 
IntegerType.INSTANCE)
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArrayRange(Expression arg) {
-        super("array_range", arg);
-    }
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayRange(Expression arg0, Expression arg1) {
-        super("array_range", arg0, arg1);
-    }
-
-    /**
-     * constructor with 3 arguments.
-     */
-    public ArrayRange(Expression arg0, Expression arg1, Expression arg2) {
-        super("array_range", arg0, arg1, arg2);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayRange withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1
-                || children.size() == 2
-                || children.size() == 3);
-        if (children.size() == 1) {
-            return new ArrayRange(children.get(0));
-        } else if (children.size() == 2) {
-            return new ArrayRange(children.get(0), children.get(1));
-        } else {
-            return new ArrayRange(children.get(0), children.get(1), 
children.get(2));
-        }
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayRange(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRemove.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRemove.java
deleted file mode 100644
index 2eeb78f69a4..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayRemove.java
+++ /dev/null
@@ -1,115 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_remove'. This class is generated by GenerateFunction.
- */
-public class ArrayRemove extends ScalarFunction
-        implements BinaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
BooleanType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
TinyIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
SmallIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
IntegerType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
LargeIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
FloatType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
DoubleType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
DecimalV2Type.SYSTEM_DEFAULT),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
DecimalV3Type.WILDCARD),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
DateTimeType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), DateType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
DateTimeV2Type.SYSTEM_DEFAULT),
-            FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE))
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
DateV2Type.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
VarcharType.SYSTEM_DEFAULT),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
StringType.INSTANCE)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayRemove(Expression arg0, Expression arg1) {
-        super("array_remove", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayRemove withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayRemove(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayRemove(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySize.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySize.java
deleted file mode 100644
index db5e937f1ec..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySize.java
+++ /dev/null
@@ -1,69 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_size'. This class is generated by GenerateFunction.
- */
-public class ArraySize extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.SYSTEM_DEFAULT)
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArraySize(Expression arg) {
-        super("array_size", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArraySize withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArraySize(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArraySize(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySlice.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySlice.java
deleted file mode 100644
index 1c0d4b19043..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySlice.java
+++ /dev/null
@@ -1,148 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_slice'. This class is generated by GenerateFunction.
- */
-public class ArraySlice extends ScalarFunction
-        implements ExplicitlyCastableSignature, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
BigIntType.INSTANCE, BigIntType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
BigIntType.INSTANCE, BigIntType.INSTANCE)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArraySlice(Expression arg0, Expression arg1) {
-        super("array_slice", arg0, arg1);
-    }
-
-    /**
-     * constructor with 3 arguments.
-     */
-    public ArraySlice(Expression arg0, Expression arg1, Expression arg2) {
-        super("array_slice", arg0, arg1, arg2);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArraySlice withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2
-                || children.size() == 3);
-        if (children.size() == 2) {
-            return new ArraySlice(children.get(0), children.get(1));
-        } else {
-            return new ArraySlice(children.get(0), children.get(1), 
children.get(2));
-        }
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArraySlice(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySort.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySort.java
deleted file mode 100644
index ebafa5894cc..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySort.java
+++ /dev/null
@@ -1,103 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_sort'. This class is generated by GenerateFunction.
- */
-public class ArraySort extends ScalarFunction
-        implements UnaryExpression, ExplicitlyCastableSignature, 
PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE)).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE)).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE)).args(ArrayType.of(DateTimeType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE)).args(ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE)).args(ArrayType.of(DateV2Type.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE)).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE)).args(ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArraySort(Expression arg) {
-        super("array_sort", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArraySort withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArraySort(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArraySort(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySum.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySum.java
deleted file mode 100644
index 2d346ff4055..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraySum.java
+++ /dev/null
@@ -1,86 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.UnaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.TinyIntType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_sum'. This class is generated by GenerateFunction.
- */
-public class ArraySum extends CompatibleTypeArrayFunction
-        implements UnaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BooleanType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(TinyIntType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(SmallIntType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(IntegerType.INSTANCE)),
-            
FunctionSignature.ret(BigIntType.INSTANCE).args(ArrayType.of(BigIntType.INSTANCE)),
-            
FunctionSignature.ret(LargeIntType.INSTANCE).args(ArrayType.of(LargeIntType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(FloatType.INSTANCE)),
-            
FunctionSignature.ret(DoubleType.INSTANCE).args(ArrayType.of(DoubleType.INSTANCE)),
-            
FunctionSignature.ret(DecimalV2Type.SYSTEM_DEFAULT).args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            
FunctionSignature.ret(DecimalV3Type.WILDCARD).args(ArrayType.of(DecimalV3Type.WILDCARD))
-    );
-
-    /**
-     * constructor with 1 argument.
-     */
-    public ArraySum(Expression arg) {
-        super("array_sum", arg);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArraySum withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 1);
-        return new ArraySum(children.get(0));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArraySum(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayUnion.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayUnion.java
deleted file mode 100644
index 1872c04e88f..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayUnion.java
+++ /dev/null
@@ -1,114 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.PropagateNullable;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_union'. This class is generated by GenerateFunction.
- */
-public class ArrayUnion extends CompatibleTypeArrayFunction
-        implements BinaryExpression, PropagateNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE))
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
ArrayType.of(BooleanType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE))
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
ArrayType.of(TinyIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE))
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
ArrayType.of(SmallIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE))
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
ArrayType.of(IntegerType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE))
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
ArrayType.of(BigIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE))
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
ArrayType.of(LargeIntType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE))
-                    .args(ArrayType.of(FloatType.INSTANCE), 
ArrayType.of(FloatType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE))
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE))
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
ArrayType.of(DateTimeType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateType.INSTANCE))
-                    .args(ArrayType.of(DateType.INSTANCE), 
ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(DateV2Type.INSTANCE))
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
ArrayType.of(DateV2Type.INSTANCE)),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(ArrayType.of(StringType.INSTANCE))
-                    .args(ArrayType.of(StringType.INSTANCE), 
ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayUnion(Expression arg0, Expression arg1) {
-        super("array_union", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayUnion withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayUnion(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayUnion(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayWithConstant.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayWithConstant.java
deleted file mode 100644
index f687e86c423..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArrayWithConstant.java
+++ /dev/null
@@ -1,98 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNotNullable;
-import 
org.apache.doris.nereids.trees.expressions.functions.ExplicitlyCastableSignature;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'array_with_constant'. This class is generated by 
GenerateFunction.
- */
-public class ArrayWithConstant extends ScalarFunction
-        implements BinaryExpression, ExplicitlyCastableSignature, 
AlwaysNotNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            
FunctionSignature.ret(ArrayType.of(BooleanType.INSTANCE)).args(BigIntType.INSTANCE,
 BooleanType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(TinyIntType.INSTANCE)).args(BigIntType.INSTANCE,
 TinyIntType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(SmallIntType.INSTANCE)).args(BigIntType.INSTANCE,
 SmallIntType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(IntegerType.INSTANCE)).args(BigIntType.INSTANCE,
 IntegerType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(BigIntType.INSTANCE)).args(BigIntType.INSTANCE,
 BigIntType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(LargeIntType.INSTANCE)).args(BigIntType.INSTANCE,
 LargeIntType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(DateTimeType.INSTANCE)).args(BigIntType.INSTANCE,
 DateTimeType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(DateType.INSTANCE)).args(BigIntType.INSTANCE,
 DateType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(FloatType.INSTANCE)).args(BigIntType.INSTANCE,
 FloatType.INSTANCE),
-            
FunctionSignature.ret(ArrayType.of(DoubleType.INSTANCE)).args(BigIntType.INSTANCE,
 DoubleType.INSTANCE),
-            FunctionSignature.ret(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT))
-                    .args(BigIntType.INSTANCE, DecimalV2Type.SYSTEM_DEFAULT),
-            FunctionSignature.ret(ArrayType.of(DecimalV3Type.WILDCARD))
-                    .args(BigIntType.INSTANCE, DecimalV3Type.WILDCARD),
-            FunctionSignature.ret(ArrayType.of(VarcharType.SYSTEM_DEFAULT))
-                    .args(BigIntType.INSTANCE, VarcharType.SYSTEM_DEFAULT),
-            
FunctionSignature.ret(ArrayType.of(StringType.INSTANCE)).args(BigIntType.INSTANCE,
 StringType.INSTANCE)
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArrayWithConstant(Expression arg0, Expression arg1) {
-        super("array_with_constant", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArrayWithConstant withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArrayWithConstant(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArrayWithConstant(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraysOverlap.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraysOverlap.java
deleted file mode 100644
index a9ba1ab04e3..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/scalar/ArraysOverlap.java
+++ /dev/null
@@ -1,114 +0,0 @@
-// Licensed to the Apache Software Foundation (ASF) under one
-// or more contributor license agreements.  See the NOTICE file
-// distributed with this work for additional information
-// regarding copyright ownership.  The ASF licenses this file
-// to you under the Apache License, Version 2.0 (the
-// "License"); you may not use this file except in compliance
-// with the License.  You may obtain a copy of the License at
-//
-//   http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing,
-// software distributed under the License is distributed on an
-// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-// KIND, either express or implied.  See the License for the
-// specific language governing permissions and limitations
-// under the License.
-
-package org.apache.doris.nereids.trees.expressions.functions.scalar;
-
-import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNullable;
-import org.apache.doris.nereids.trees.expressions.shape.BinaryExpression;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-import org.apache.doris.nereids.types.ArrayType;
-import org.apache.doris.nereids.types.BigIntType;
-import org.apache.doris.nereids.types.BooleanType;
-import org.apache.doris.nereids.types.DateTimeType;
-import org.apache.doris.nereids.types.DateTimeV2Type;
-import org.apache.doris.nereids.types.DateType;
-import org.apache.doris.nereids.types.DateV2Type;
-import org.apache.doris.nereids.types.DecimalV2Type;
-import org.apache.doris.nereids.types.DecimalV3Type;
-import org.apache.doris.nereids.types.DoubleType;
-import org.apache.doris.nereids.types.FloatType;
-import org.apache.doris.nereids.types.IntegerType;
-import org.apache.doris.nereids.types.LargeIntType;
-import org.apache.doris.nereids.types.SmallIntType;
-import org.apache.doris.nereids.types.StringType;
-import org.apache.doris.nereids.types.TinyIntType;
-import org.apache.doris.nereids.types.VarcharType;
-
-import com.google.common.base.Preconditions;
-import com.google.common.collect.ImmutableList;
-
-import java.util.List;
-
-/**
- * ScalarFunction 'arrays_overlap'. This class is generated by 
GenerateFunction.
- */
-public class ArraysOverlap extends CompatibleTypeArrayFunction
-        implements BinaryExpression, AlwaysNullable {
-
-    public static final List<FunctionSignature> SIGNATURES = ImmutableList.of(
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(BooleanType.INSTANCE), 
ArrayType.of(BooleanType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(TinyIntType.INSTANCE), 
ArrayType.of(TinyIntType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(SmallIntType.INSTANCE), 
ArrayType.of(SmallIntType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(IntegerType.INSTANCE), 
ArrayType.of(IntegerType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(BigIntType.INSTANCE), 
ArrayType.of(BigIntType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(LargeIntType.INSTANCE), 
ArrayType.of(LargeIntType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateTimeType.INSTANCE), 
ArrayType.of(DateTimeType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateType.INSTANCE), 
ArrayType.of(DateType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DateTimeV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DateV2Type.INSTANCE), 
ArrayType.of(DateV2Type.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(FloatType.INSTANCE), 
ArrayType.of(FloatType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DoubleType.INSTANCE), 
ArrayType.of(DoubleType.INSTANCE)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT), 
ArrayType.of(DecimalV2Type.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(DecimalV3Type.WILDCARD), 
ArrayType.of(DecimalV3Type.WILDCARD)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(VarcharType.SYSTEM_DEFAULT), 
ArrayType.of(VarcharType.SYSTEM_DEFAULT)),
-            FunctionSignature.ret(BooleanType.INSTANCE)
-                    .args(ArrayType.of(StringType.INSTANCE), 
ArrayType.of(StringType.INSTANCE))
-    );
-
-    /**
-     * constructor with 2 arguments.
-     */
-    public ArraysOverlap(Expression arg0, Expression arg1) {
-        super("arrays_overlap", arg0, arg1);
-    }
-
-    /**
-     * withChildren.
-     */
-    @Override
-    public ArraysOverlap withChildren(List<Expression> children) {
-        Preconditions.checkArgument(children.size() == 2);
-        return new ArraysOverlap(children.get(0), children.get(1));
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        return visitor.visitArraysOverlap(this, context);
-    }
-
-    @Override
-    public List<FunctionSignature> getSignatures() {
-        return SIGNATURES;
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java
index 5a12d755c50..dd783e45438 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ScalarFunctionVisitor.java
@@ -29,29 +29,6 @@ import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncrypt;
 import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AesEncryptV2;
 import 
org.apache.doris.nereids.trees.expressions.functions.scalar.AppendTrailingCharIfAbsent;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Array;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayAvg;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayCompact;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayContains;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayDifference;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayDistinct;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayEnumerate;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayExcept;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayIntersect;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayJoin;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayMax;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayMin;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPopback;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayPosition;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayProduct;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRange;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayRemove;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySize;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySlice;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySort;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArraySum;
-import org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayUnion;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArrayWithConstant;
-import 
org.apache.doris.nereids.trees.expressions.functions.scalar.ArraysOverlap;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Ascii;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Asin;
 import org.apache.doris.nereids.trees.expressions.functions.scalar.Atan;
@@ -402,98 +379,6 @@ public interface ScalarFunctionVisitor<R, C> {
         return visitScalarFunction(array, context);
     }
 
-    default R visitArrayAvg(ArrayAvg arrayAvg, C context) {
-        return visitScalarFunction(arrayAvg, context);
-    }
-
-    default R visitArrayCompact(ArrayCompact arrayCompact, C context) {
-        return visitScalarFunction(arrayCompact, context);
-    }
-
-    default R visitArrayContains(ArrayContains arrayContains, C context) {
-        return visitScalarFunction(arrayContains, context);
-    }
-
-    default R visitArrayDifference(ArrayDifference arrayDifference, C context) 
{
-        return visitScalarFunction(arrayDifference, context);
-    }
-
-    default R visitArrayDistinct(ArrayDistinct arrayDistinct, C context) {
-        return visitScalarFunction(arrayDistinct, context);
-    }
-
-    default R visitArrayEnumerate(ArrayEnumerate arrayEnumerate, C context) {
-        return visitScalarFunction(arrayEnumerate, context);
-    }
-
-    default R visitArrayExcept(ArrayExcept arrayExcept, C context) {
-        return visitScalarFunction(arrayExcept, context);
-    }
-
-    default R visitArrayIntersect(ArrayIntersect arrayIntersect, C context) {
-        return visitScalarFunction(arrayIntersect, context);
-    }
-
-    default R visitArrayJoin(ArrayJoin arrayJoin, C context) {
-        return visitScalarFunction(arrayJoin, context);
-    }
-
-    default R visitArrayMax(ArrayMax arrayMax, C context) {
-        return visitScalarFunction(arrayMax, context);
-    }
-
-    default R visitArrayMin(ArrayMin arrayMin, C context) {
-        return visitScalarFunction(arrayMin, context);
-    }
-
-    default R visitArrayPopback(ArrayPopback arrayPopback, C context) {
-        return visitScalarFunction(arrayPopback, context);
-    }
-
-    default R visitArrayPosition(ArrayPosition arrayPosition, C context) {
-        return visitScalarFunction(arrayPosition, context);
-    }
-
-    default R visitArrayProduct(ArrayProduct arrayProduct, C context) {
-        return visitScalarFunction(arrayProduct, context);
-    }
-
-    default R visitArrayRange(ArrayRange arrayRange, C context) {
-        return visitScalarFunction(arrayRange, context);
-    }
-
-    default R visitArrayRemove(ArrayRemove arrayRemove, C context) {
-        return visitScalarFunction(arrayRemove, context);
-    }
-
-    default R visitArraySize(ArraySize arraySize, C context) {
-        return visitScalarFunction(arraySize, context);
-    }
-
-    default R visitArraySlice(ArraySlice arraySlice, C context) {
-        return visitScalarFunction(arraySlice, context);
-    }
-
-    default R visitArraySort(ArraySort arraySort, C context) {
-        return visitScalarFunction(arraySort, context);
-    }
-
-    default R visitArraySum(ArraySum arraySum, C context) {
-        return visitScalarFunction(arraySum, context);
-    }
-
-    default R visitArrayUnion(ArrayUnion arrayUnion, C context) {
-        return visitScalarFunction(arrayUnion, context);
-    }
-
-    default R visitArrayWithConstant(ArrayWithConstant arrayWithConstant, C 
context) {
-        return visitScalarFunction(arrayWithConstant, context);
-    }
-
-    default R visitArraysOverlap(ArraysOverlap arraysOverlap, C context) {
-        return visitScalarFunction(arraysOverlap, context);
-    }
-
     default R visitAscii(Ascii ascii, C context) {
         return visitScalarFunction(ascii, context);
     }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to