From 5bddbcd93397cbbf2904d577528fc16692e981cd Mon Sep 17 00:00:00 2001 From: zclllyybb Date: Fri, 19 Apr 2024 21:25:07 +0800 Subject: [PATCH] [chore](errmsg) Fix confusing error message and clang tidy hints (#33893) --- .clang-tidy | 2 ++ .../java/org/apache/doris/analysis/PartitionDesc.java | 10 +++++++--- .../doris/nereids/parser/PartitionTableInfo.java | 10 +++++++--- 3 files changed, 16 insertions(+), 6 deletions(-) diff --git a/.clang-tidy b/.clang-tidy index f572f100ce..1f77a9e316 100644 --- a/.clang-tidy +++ b/.clang-tidy @@ -23,6 +23,8 @@ Checks: | -readability-inconsistent-declaration-parameter-name, -readability-isolate-declaration, -readability-named-parameter, + -readability-avoid-const-params-in-decls, + -readability-convert-member-functions-to-static, portability-simd-intrinsics, performance-type-promotion-in-math-fn, performance-faster-string-find, diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/PartitionDesc.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/PartitionDesc.java index 697394b320..81bec35888 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/PartitionDesc.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/PartitionDesc.java @@ -185,9 +185,13 @@ public class PartitionDesc { boolean found = false; for (ColumnDef columnDef : columnDefs) { if (columnDef.getName().equals(partitionCol)) { - if (!columnDef.isKey() && (columnDef.getAggregateType() != AggregateType.NONE - || enableUniqueKeyMergeOnWrite)) { - throw new AnalysisException("The partition column could not be aggregated column"); + if (!columnDef.isKey()) { + if (columnDef.getAggregateType() != AggregateType.NONE) { + throw new AnalysisException("The partition column could not be aggregated column"); + } + if (enableUniqueKeyMergeOnWrite) { + throw new AnalysisException("Merge-on-Write table's partition column must be KEY column"); + } } if (columnDef.getType().isFloatingPointType()) { throw new AnalysisException("Floating point type column can not be partition column"); 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/parser/PartitionTableInfo.java index dee77d5ad8..616b077cb1 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/parser/PartitionTableInfo.java @@ -121,9 +121,13 @@ public class PartitionTableInfo { private void validatePartitionColumn(ColumnDefinition column, ConnectContext ctx, boolean isEnableMergeOnWrite, boolean isExternal) { - if (!column.isKey() - && (!column.getAggType().equals(AggregateType.NONE) || isEnableMergeOnWrite)) { - throw new AnalysisException("The partition column could not be aggregated column"); + if (!column.isKey()) { // value column + if (!column.getAggType().equals(AggregateType.NONE)) { // agg column + throw new AnalysisException("The partition column could not be aggregated column"); + } + if (isEnableMergeOnWrite) { // MoW table + throw new AnalysisException("Merge-on-Write table's partition column must be KEY column"); + } } if (column.getType().isFloatLikeType()) { throw new AnalysisException("Floating point type column can not be partition column");