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

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


The following commit(s) were added to refs/heads/master by this push:
     new 37f79089873 [chore](Nereids) remove built-in deprecated sql dialect 
convertor (#41204)
37f79089873 is described below

commit 37f790898730a054a9d63efe1bd346b3d4777a86
Author: morrySnow <101034200+morrys...@users.noreply.github.com>
AuthorDate: Wed Sep 25 10:27:20 2024 +0800

    [chore](Nereids) remove built-in deprecated sql dialect convertor (#41204)
---
 .../nereids/analyzer/PlaceholderExpression.java    | 101 ---------------
 .../nereids/parser/AbstractFnCallTransformer.java  |  45 -------
 .../nereids/parser/AbstractFnCallTransformers.java | 108 ----------------
 .../nereids/parser/CommonFnCallTransformer.java    | 138 ---------------------
 .../nereids/parser/ComplexFnCallTransformer.java   |  26 ----
 .../doris/nereids/parser/LogicalPlanBuilder.java   |   1 +
 .../nereids/trees/expressions/Expression.java      |   2 -
 .../functions/ExplicitlyCastableSignature.java     |   2 +-
 .../expressions/functions/IdenticalSignature.java  |   2 +-
 .../functions/ImplicitlyCastableSignature.java     |   2 +-
 .../functions/NullOrIdenticalSignature.java        |   2 +-
 .../expressions/visitor/ExpressionVisitor.java     |   9 --
 .../trees/plans/commands/info/CreateTableInfo.java |   1 -
 .../plans/commands/info}/PartitionTableInfo.java   |   9 +-
 .../org/apache/doris/nereids/types/ArrayType.java  |   2 +-
 .../org/apache/doris/nereids/types/MapType.java    |   2 +-
 .../org/apache/doris/nereids/types/StructType.java |   2 +-
 .../coercion}/ComplexDataType.java                 |   2 +-
 .../doris/nereids/util/TypeCoercionUtils.java      |   2 +-
 19 files changed, 11 insertions(+), 447 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/PlaceholderExpression.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/PlaceholderExpression.java
deleted file mode 100644
index 9b2dcde49bd..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/PlaceholderExpression.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.analyzer;
-
-import 
org.apache.doris.nereids.parser.CommonFnCallTransformer.PlaceholderCollector;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.AlwaysNotNullable;
-import org.apache.doris.nereids.trees.expressions.visitor.ExpressionVisitor;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
-
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
-
-/**
- * Expression placeHolder, the expression in PlaceHolderExpression will be 
collected by
- *
- * @see PlaceholderCollector
- */
-public class PlaceholderExpression extends Expression implements 
AlwaysNotNullable {
-
-    private final ImmutableSet<Class<? extends Expression>> delegateClazzSet;
-    /**
-     * start from 1, set the index of this placeholderExpression in 
sourceFnTransformedArguments
-     * this placeholderExpression will be replaced later
-     */
-    private final int position;
-
-    public PlaceholderExpression(List<Expression> children, Class<? extends 
Expression> delegateClazz, int position) {
-        super(children);
-        this.delegateClazzSet = ImmutableSet.of(
-                Objects.requireNonNull(delegateClazz, "delegateClazz should 
not be null"));
-        this.position = position;
-    }
-
-    public PlaceholderExpression(List<Expression> children,
-                                 Set<Class<? extends Expression>> 
delegateClazzSet, int position) {
-        super(children);
-        this.delegateClazzSet = ImmutableSet.copyOf(delegateClazzSet);
-        this.position = position;
-    }
-
-    public static PlaceholderExpression of(Class<? extends Expression> 
delegateClazz, int position) {
-        return new PlaceholderExpression(ImmutableList.of(), delegateClazz, 
position);
-    }
-
-    public static PlaceholderExpression of(Set<Class<? extends Expression>> 
delegateClazzSet, int position) {
-        return new PlaceholderExpression(ImmutableList.of(), delegateClazzSet, 
position);
-    }
-
-    @Override
-    public <R, C> R accept(ExpressionVisitor<R, C> visitor, C context) {
-        visitor.visitPlaceholderExpression(this, context);
-        return visitor.visit(this, context);
-    }
-
-    public Set<Class<? extends Expression>> getDelegateClazzSet() {
-        return delegateClazzSet;
-    }
-
-    public int getPosition() {
-        return position;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) {
-            return true;
-        }
-        if (o == null || getClass() != o.getClass()) {
-            return false;
-        }
-        if (!super.equals(o)) {
-            return false;
-        }
-        PlaceholderExpression that = (PlaceholderExpression) o;
-        return position == that.position && Objects.equals(delegateClazzSet, 
that.delegateClazzSet);
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(super.hashCode(), delegateClazzSet, position);
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformer.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformer.java
deleted file mode 100644
index fe8167f080e..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformer.java
+++ /dev/null
@@ -1,45 +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.parser;
-
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.Function;
-
-import java.util.List;
-
-/**
- * Abstract function transformer, dialect function transformer should extend 
this.
- */
-public abstract class AbstractFnCallTransformer {
-
-    /**
-     * Check source function signature is the same between function from SQL 
and
-     * definition in function call transformer.
-     * Check the targetArgs param matches the definition in function call 
transformer.
-     */
-    protected abstract boolean check(String sourceFnName,
-                                     List<Expression> 
sourceFnTransformedArguments,
-                                     ParserContext context);
-
-    /**
-     * After check, do transform for function mapping.
-     */
-    protected abstract Function transform(String sourceFnName,
-                                          List<Expression> 
sourceFnTransformedArguments,
-                                          ParserContext context);
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformers.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformers.java
deleted file mode 100644
index 4386123c428..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/AbstractFnCallTransformers.java
+++ /dev/null
@@ -1,108 +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.parser;
-
-import org.apache.doris.nereids.analyzer.UnboundFunction;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.Function;
-
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableListMultimap;
-import com.google.common.collect.Iterables;
-
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * The abstract holder for {@link AbstractFnCallTransformer},
- * and supply transform facade ability.
- */
-public abstract class AbstractFnCallTransformers {
-
-    private final ImmutableListMultimap<String, AbstractFnCallTransformer> 
transformerMap;
-    private final ImmutableListMultimap<String, AbstractFnCallTransformer> 
complexTransformerMap;
-    private final ImmutableListMultimap.Builder<String, 
AbstractFnCallTransformer> transformerBuilder =
-            ImmutableListMultimap.builder();
-    private final ImmutableListMultimap.Builder<String, 
AbstractFnCallTransformer> complexTransformerBuilder =
-            ImmutableListMultimap.builder();
-
-    protected AbstractFnCallTransformers() {
-        registerTransformers();
-        transformerMap = transformerBuilder.build();
-        registerComplexTransformers();
-        // build complex transformer map in the end
-        complexTransformerMap = complexTransformerBuilder.build();
-    }
-
-    /**
-     * Function transform facade
-     */
-    public Function transform(String sourceFnName, List<Expression> 
sourceFnTransformedArguments,
-            ParserContext context) {
-        List<AbstractFnCallTransformer> transformers = 
getTransformers(sourceFnName);
-        return doTransform(transformers, sourceFnName, 
sourceFnTransformedArguments, context);
-    }
-
-    private Function doTransform(List<AbstractFnCallTransformer> transformers,
-            String sourceFnName,
-            List<Expression> sourceFnTransformedArguments,
-            ParserContext context) {
-        for (AbstractFnCallTransformer transformer : transformers) {
-            if (transformer.check(sourceFnName, sourceFnTransformedArguments, 
context)) {
-                Function transformedFunction =
-                        transformer.transform(sourceFnName, 
sourceFnTransformedArguments, context);
-                if (transformedFunction == null) {
-                    continue;
-                }
-                return transformedFunction;
-            }
-        }
-        return null;
-    }
-
-    protected void doRegister(
-            String sourceFnNme,
-            String targetFnName,
-            List<? extends Expression> targetFnArguments) {
-
-        List<Expression> castedTargetFnArguments = targetFnArguments
-                .stream()
-                .map(each -> (Expression) each)
-                .collect(Collectors.toList());
-        transformerBuilder.put(sourceFnNme, new CommonFnCallTransformer(new 
UnboundFunction(
-                targetFnName, castedTargetFnArguments)));
-    }
-
-    protected void doRegister(
-            String sourceFnNme,
-            AbstractFnCallTransformer transformer) {
-        complexTransformerBuilder.put(sourceFnNme, transformer);
-    }
-
-    private List<AbstractFnCallTransformer> getTransformers(String 
sourceFnName) {
-        ImmutableList<AbstractFnCallTransformer> fnCallTransformers =
-                transformerMap.get(sourceFnName);
-        ImmutableList<AbstractFnCallTransformer> complexFnCallTransformers =
-                complexTransformerMap.get(sourceFnName);
-        return ImmutableList.copyOf(Iterables.concat(fnCallTransformers, 
complexFnCallTransformers));
-    }
-
-    protected abstract void registerTransformers();
-
-    protected abstract void registerComplexTransformers();
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/CommonFnCallTransformer.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/CommonFnCallTransformer.java
deleted file mode 100644
index fa054160674..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/CommonFnCallTransformer.java
+++ /dev/null
@@ -1,138 +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.parser;
-
-import org.apache.doris.nereids.analyzer.PlaceholderExpression;
-import org.apache.doris.nereids.analyzer.UnboundFunction;
-import org.apache.doris.nereids.trees.expressions.Expression;
-import org.apache.doris.nereids.trees.expressions.functions.Function;
-import 
org.apache.doris.nereids.trees.expressions.visitor.DefaultExpressionVisitor;
-
-import com.google.common.collect.Lists;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-/**
- * Common function transformer,
- * can transform functions which the size and type of target arguments are 
both the same with the source function,
- * or source function is a variable-arguments function.
- */
-public class CommonFnCallTransformer extends AbstractFnCallTransformer {
-    private final UnboundFunction targetFunction;
-    private final List<PlaceholderExpression> targetArguments;
-
-    // true means the arguments of this function is dynamic, for example:
-    // - named_struct('f1', 1, 'f2', 'a', 'f3', "abc")
-    // - struct(1, 'a', 'abc');
-    private final boolean variableArguments;
-
-    /**
-     * Common function transformer, mostly this handle common function.
-     */
-    public CommonFnCallTransformer(UnboundFunction targetFunction, boolean 
variableArguments) {
-        this.targetFunction = targetFunction;
-        PlaceholderCollector placeHolderCollector = new PlaceholderCollector();
-        placeHolderCollector.visit(targetFunction, null);
-        this.targetArguments = 
placeHolderCollector.getPlaceholderExpressions();
-        this.variableArguments = variableArguments;
-    }
-
-    public CommonFnCallTransformer(UnboundFunction targetFunction) {
-        this.targetFunction = targetFunction;
-        PlaceholderCollector placeHolderCollector = new PlaceholderCollector();
-        placeHolderCollector.visit(targetFunction, null);
-        this.targetArguments = 
placeHolderCollector.getPlaceholderExpressions();
-        this.variableArguments = false;
-    }
-
-    @Override
-    protected boolean check(String sourceFnName,
-            List<Expression> sourceFnTransformedArguments,
-            ParserContext context) {
-        // if variableArguments=true, we can not recognize if the type of all 
arguments is valid or not,
-        // because:
-        //     1. the argument size is not sure
-        //     2. there are some functions which can accept different types of 
arguments,
-        //        for example: struct(1, 'a', 'abc')
-        // so just return true here.
-        if (variableArguments) {
-            return true;
-        }
-        List<Class<? extends Expression>> sourceFnTransformedArgClazz = 
sourceFnTransformedArguments.stream()
-                .map(Expression::getClass)
-                .collect(Collectors.toList());
-        if (sourceFnTransformedArguments.size() != targetArguments.size()) {
-            return false;
-        }
-        for (PlaceholderExpression targetArgument : targetArguments) {
-            // replace the arguments of target function by the position of 
target argument
-            int position = targetArgument.getPosition();
-            Class<? extends Expression> sourceArgClazz = 
sourceFnTransformedArgClazz.get(position - 1);
-            boolean valid = false;
-            for (Class<? extends Expression> targetArgClazz : 
targetArgument.getDelegateClazzSet()) {
-                if (targetArgClazz.isAssignableFrom(sourceArgClazz)) {
-                    valid = true;
-                    break;
-                }
-            }
-            if (!valid) {
-                return false;
-            }
-        }
-        return true;
-    }
-
-    @Override
-    protected Function transform(String sourceFnName,
-            List<Expression> sourceFnTransformedArguments,
-            ParserContext context) {
-        if (variableArguments) {
-            // not support adjust the order of arguments when 
variableArguments=true
-            return targetFunction.withChildren(sourceFnTransformedArguments);
-        }
-        List<Expression> sourceFnTransformedArgumentsInorder = 
Lists.newArrayList();
-        for (PlaceholderExpression placeholderExpression : targetArguments) {
-            Expression expression = 
sourceFnTransformedArguments.get(placeholderExpression.getPosition() - 1);
-            sourceFnTransformedArgumentsInorder.add(expression);
-        }
-        return 
targetFunction.withChildren(sourceFnTransformedArgumentsInorder);
-    }
-
-    /**
-     * This is the collector for placeholder expression, which placeholder 
expression
-     * identify the expression that we want to use later but current now is 
not confirmed.
-     */
-    public static final class PlaceholderCollector extends 
DefaultExpressionVisitor<Void, Void> {
-
-        private final List<PlaceholderExpression> placeholderExpressions = new 
ArrayList<>();
-
-        public PlaceholderCollector() {}
-
-        @Override
-        public Void visitPlaceholderExpression(PlaceholderExpression 
placeholderExpression, Void context) {
-            placeholderExpressions.add(placeholderExpression);
-            return null;
-        }
-
-        public List<PlaceholderExpression> getPlaceholderExpressions() {
-            return placeholderExpressions;
-        }
-    }
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/ComplexFnCallTransformer.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/ComplexFnCallTransformer.java
deleted file mode 100644
index ebd71b63fde..00000000000
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/ComplexFnCallTransformer.java
+++ /dev/null
@@ -1,26 +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.parser;
-
-/**
- * Complex complex function transformer
- */
-public abstract class ComplexFnCallTransformer extends 
AbstractFnCallTransformer {
-
-    protected abstract String getSourceFnName();
-}
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
index 3b4c8ef0674..453df5da2b7 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/LogicalPlanBuilder.java
@@ -429,6 +429,7 @@ import 
org.apache.doris.nereids.trees.plans.commands.info.LessThanPartition;
 import 
org.apache.doris.nereids.trees.plans.commands.info.MTMVPartitionDefinition;
 import org.apache.doris.nereids.trees.plans.commands.info.PartitionDefinition;
 import 
org.apache.doris.nereids.trees.plans.commands.info.PartitionDefinition.MaxValue;
+import org.apache.doris.nereids.trees.plans.commands.info.PartitionTableInfo;
 import org.apache.doris.nereids.trees.plans.commands.info.PauseMTMVInfo;
 import org.apache.doris.nereids.trees.plans.commands.info.RefreshMTMVInfo;
 import org.apache.doris.nereids.trees.plans.commands.info.ResumeMTMVInfo;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
index 5bb8355477b..6063ad2b1cd 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/Expression.java
@@ -18,7 +18,6 @@
 package org.apache.doris.nereids.trees.expressions;
 
 import org.apache.doris.common.Config;
-import org.apache.doris.nereids.analyzer.PlaceholderExpression;
 import org.apache.doris.nereids.analyzer.Unbound;
 import org.apache.doris.nereids.analyzer.UnboundVariable;
 import org.apache.doris.nereids.exceptions.AnalysisException;
@@ -335,7 +334,6 @@ public abstract class Expression extends 
AbstractTreeNode<Expression> implements
                 || this instanceof Lambda
                 || this instanceof MaxValue
                 || this instanceof OrderExpression
-                || this instanceof PlaceholderExpression
                 || this instanceof Properties
                 || this instanceof SubqueryExpr
                 || this instanceof UnboundVariable
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java
index a8a831ae1b1..8e3491259a5 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ExplicitlyCastableSignature.java
@@ -19,10 +19,10 @@ package 
org.apache.doris.nereids.trees.expressions.functions;
 
 import org.apache.doris.catalog.FunctionSignature;
 import org.apache.doris.catalog.Type;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.types.DataType;
 import org.apache.doris.nereids.types.NullType;
 import org.apache.doris.nereids.types.coercion.AnyDataType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 import org.apache.doris.nereids.types.coercion.FollowToAnyDataType;
 
 import java.util.List;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/IdenticalSignature.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/IdenticalSignature.java
index a81065e95f1..229bc9f0d66 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/IdenticalSignature.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/IdenticalSignature.java
@@ -18,9 +18,9 @@
 package org.apache.doris.nereids.trees.expressions.functions;
 
 import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.types.DataType;
 import org.apache.doris.nereids.types.coercion.AnyDataType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 import org.apache.doris.nereids.types.coercion.FollowToAnyDataType;
 
 import java.util.List;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ImplicitlyCastableSignature.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ImplicitlyCastableSignature.java
index c189dd9bf4a..5ce2290bafa 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ImplicitlyCastableSignature.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/ImplicitlyCastableSignature.java
@@ -19,11 +19,11 @@ package 
org.apache.doris.nereids.trees.expressions.functions;
 
 import org.apache.doris.catalog.FunctionSignature;
 import org.apache.doris.catalog.Type;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.types.ArrayType;
 import org.apache.doris.nereids.types.DataType;
 import org.apache.doris.nereids.types.NullType;
 import org.apache.doris.nereids.types.coercion.AnyDataType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 import org.apache.doris.nereids.types.coercion.FollowToAnyDataType;
 import org.apache.doris.qe.SessionVariable;
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/NullOrIdenticalSignature.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/NullOrIdenticalSignature.java
index 8cc4eef2492..10881f7b31b 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/NullOrIdenticalSignature.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/functions/NullOrIdenticalSignature.java
@@ -18,10 +18,10 @@
 package org.apache.doris.nereids.trees.expressions.functions;
 
 import org.apache.doris.catalog.FunctionSignature;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.types.DataType;
 import org.apache.doris.nereids.types.NullType;
 import org.apache.doris.nereids.types.coercion.AnyDataType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 
 import java.util.List;
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ExpressionVisitor.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ExpressionVisitor.java
index 294e96319e5..ab367a2bf73 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ExpressionVisitor.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/expressions/visitor/ExpressionVisitor.java
@@ -17,7 +17,6 @@
 
 package org.apache.doris.nereids.trees.expressions.visitor;
 
-import org.apache.doris.nereids.analyzer.PlaceholderExpression;
 import org.apache.doris.nereids.analyzer.UnboundAlias;
 import org.apache.doris.nereids.analyzer.UnboundFunction;
 import org.apache.doris.nereids.analyzer.UnboundSlot;
@@ -537,12 +536,4 @@ public abstract class ExpressionVisitor<R, C>
     public R visitUnboundVariable(UnboundVariable unboundVariable, C context) {
         return visit(unboundVariable, context);
     }
-
-    /* 
********************************************************************************************
-     * Placeholder expressions
-     * 
********************************************************************************************/
-
-    public R visitPlaceholderExpression(PlaceholderExpression 
placeholderExpression, C context) {
-        return visit(placeholderExpression, context);
-    }
 }
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java
index 9022e9deb7d..c2daeaa6ec4 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/CreateTableInfo.java
@@ -55,7 +55,6 @@ import org.apache.doris.nereids.analyzer.UnboundSlot;
 import org.apache.doris.nereids.exceptions.AnalysisException;
 import org.apache.doris.nereids.glue.translator.ExpressionTranslator;
 import org.apache.doris.nereids.glue.translator.PlanTranslatorContext;
-import org.apache.doris.nereids.parser.PartitionTableInfo;
 import org.apache.doris.nereids.properties.PhysicalProperties;
 import org.apache.doris.nereids.rules.analysis.ExpressionAnalyzer;
 import org.apache.doris.nereids.rules.expression.ExpressionRewriteContext;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/PartitionTableInfo.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/PartitionTableInfo.java
similarity index 96%
rename from 
fe/fe-core/src/main/java/org/apache/doris/nereids/parser/PartitionTableInfo.java
rename to 
fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/PartitionTableInfo.java
index e9f7fdcfee3..71aab1a04cb 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/parser/PartitionTableInfo.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/trees/plans/commands/info/PartitionTableInfo.java
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-package org.apache.doris.nereids.parser;
+package org.apache.doris.nereids.trees.plans.commands.info;
 
 import org.apache.doris.analysis.AllPartitionDesc;
 import org.apache.doris.analysis.Expr;
@@ -34,13 +34,6 @@ import org.apache.doris.nereids.analyzer.UnboundSlot;
 import org.apache.doris.nereids.exceptions.AnalysisException;
 import org.apache.doris.nereids.trees.expressions.Expression;
 import org.apache.doris.nereids.trees.expressions.literal.Literal;
-import org.apache.doris.nereids.trees.plans.commands.info.ColumnDefinition;
-import org.apache.doris.nereids.trees.plans.commands.info.CreateTableInfo;
-import org.apache.doris.nereids.trees.plans.commands.info.FixedRangePartition;
-import org.apache.doris.nereids.trees.plans.commands.info.InPartition;
-import org.apache.doris.nereids.trees.plans.commands.info.LessThanPartition;
-import org.apache.doris.nereids.trees.plans.commands.info.PartitionDefinition;
-import org.apache.doris.nereids.trees.plans.commands.info.StepPartition;
 import org.apache.doris.qe.ConnectContext;
 
 import com.google.common.collect.Maps;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/ArrayType.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/ArrayType.java
index 4acdb500137..9a34ab740d3 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/ArrayType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/ArrayType.java
@@ -18,7 +18,7 @@
 package org.apache.doris.nereids.types;
 
 import org.apache.doris.catalog.Type;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 
 import java.util.Objects;
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java
index 2fe81f048ee..fb8346987f7 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/MapType.java
@@ -18,8 +18,8 @@
 package org.apache.doris.nereids.types;
 
 import org.apache.doris.catalog.Type;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.annotation.Developing;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 
 import java.util.Objects;
 
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java
index b9ad1999704..20f0947b321 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/StructType.java
@@ -18,9 +18,9 @@
 package org.apache.doris.nereids.types;
 
 import org.apache.doris.catalog.Type;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.annotation.Developing;
 import org.apache.doris.nereids.exceptions.AnalysisException;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 
 import com.google.common.base.Suppliers;
 import com.google.common.collect.ImmutableList;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/ComplexDataType.java
 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/coercion/ComplexDataType.java
similarity index 94%
rename from 
fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/ComplexDataType.java
rename to 
fe/fe-core/src/main/java/org/apache/doris/nereids/types/coercion/ComplexDataType.java
index 45389c95892..9ce68fc2c01 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/analyzer/ComplexDataType.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/types/coercion/ComplexDataType.java
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-package org.apache.doris.nereids.analyzer;
+package org.apache.doris.nereids.types.coercion;
 
 /** ComplexDataType */
 public interface ComplexDataType {
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java
index 968d70b52da..ca9d79fbc01 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/nereids/util/TypeCoercionUtils.java
@@ -21,7 +21,6 @@ import org.apache.doris.analysis.FunctionCallExpr;
 import org.apache.doris.catalog.ScalarType;
 import org.apache.doris.catalog.Type;
 import org.apache.doris.common.Config;
-import org.apache.doris.nereids.analyzer.ComplexDataType;
 import org.apache.doris.nereids.annotation.Developing;
 import org.apache.doris.nereids.exceptions.AnalysisException;
 import org.apache.doris.nereids.trees.expressions.Add;
@@ -102,6 +101,7 @@ import org.apache.doris.nereids.types.VarcharType;
 import org.apache.doris.nereids.types.VariantType;
 import org.apache.doris.nereids.types.coercion.AnyDataType;
 import org.apache.doris.nereids.types.coercion.CharacterType;
+import org.apache.doris.nereids.types.coercion.ComplexDataType;
 import org.apache.doris.nereids.types.coercion.FollowToAnyDataType;
 import org.apache.doris.nereids.types.coercion.FractionalType;
 import org.apache.doris.nereids.types.coercion.IntegralType;


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


Reply via email to