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