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