diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java index 5ab5f6b9e8..be638a9dad 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AlterColumnStatsStmt.java @@ -20,6 +20,7 @@ package org.apache.doris.analysis; import org.apache.doris.catalog.Database; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.PartitionType; import org.apache.doris.catalog.Table; import org.apache.doris.common.AnalysisException; import org.apache.doris.common.ErrorCode; @@ -148,7 +149,7 @@ public class AlterColumnStatsStmt extends DdlStmt { } if (optPartitionNames != null) { - if (!olapTable.isPartitioned()) { + if (olapTable.getPartitionInfo().getType().equals(PartitionType.UNPARTITIONED)) { throw new AnalysisException("Not a partitioned table: " + olapTable.getName()); } @@ -162,7 +163,7 @@ public class AlterColumnStatsStmt extends DdlStmt { } partitionNames.addAll(optPartitionNames.getPartitionNames()); } else { - if (olapTable.isPartitioned()) { + if (!olapTable.getPartitionInfo().getType().equals(PartitionType.UNPARTITIONED)) { throw new AnalysisException("For partitioned tables, partitions should be specified"); } } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsManager.java index 158300e90e..3e58ca3a39 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsManager.java @@ -26,6 +26,7 @@ import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Database; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; +import org.apache.doris.catalog.PartitionType; import org.apache.doris.catalog.Table; import org.apache.doris.catalog.Type; import org.apache.doris.common.AnalysisException; @@ -91,7 +92,8 @@ public class StatisticsManager { List partitionNames = stmt.getPartitionNames(); Map statsTypeToValue = stmt.getStatsTypeToValue(); - if ((partitionNames.isEmpty()) && table.isPartitioned()) { + if ((partitionNames.isEmpty()) && table instanceof OlapTable + && !((OlapTable) table).getPartitionInfo().getType().equals(PartitionType.UNPARTITIONED)) { throw new AnalysisException("Partitioned table must specify partition name."); }