This is an automated email from the ASF dual-hosted git repository. kxiao pushed a commit to branch branch-2.0-beta in repository https://gitbox.apache.org/repos/asf/doris.git
commit 2121aa64601804bd272ecf2ba0cbe0bc5a3595ff Author: AKIRA <33112463+kikyou1...@users.noreply.github.com> AuthorDate: Fri Jun 9 17:16:11 2023 +0900 [enhancement](stats) Forbid unknown stats check for internal_column (#20535) Ignore internal columns when enable new optimizer and forbid unknown stats --- .../org/apache/doris/nereids/stats/StatsCalculator.java | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java index 77499198f2..34ed4c242e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java +++ b/fe/fe-core/src/main/java/org/apache/doris/nereids/stats/StatsCalculator.java @@ -17,6 +17,7 @@ package org.apache.doris.nereids.stats; +import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.SchemaTable; @@ -562,7 +563,7 @@ public class StatsCalculator extends DefaultPlanVisitor<Statistics, Void> { .build(); } if (cache.isUnKnown) { - if (forbidUnknownColStats && !ignoreUnknownColStatsCheck(table, slotReference)) { + if (forbidUnknownColStats && !ignoreUnknownColStatsCheck(table, slotReference.getColumn().get())) { if (StatisticsUtil.statsTblAvailable()) { throw new AnalysisException(String.format("Found unknown stats for column:%s.%s.\n" + "It may caused by:\n" @@ -980,17 +981,16 @@ public class StatsCalculator extends DefaultPlanVisitor<Statistics, Void> { return groupExpression.childStatistics(1); } - private boolean ignoreUnknownColStatsCheck(TableIf tableIf, SlotReference slot) { + private boolean ignoreUnknownColStatsCheck(TableIf tableIf, Column c) { if (tableIf instanceof SchemaTable) { return true; } if (tableIf instanceof OlapTable) { OlapTable olapTable = (OlapTable) tableIf; - return StatisticConstants.STATISTICS_DB_BLACK_LIST.contains(olapTable.getQualifiedDbName()); - } - if (slot.getColumn().isPresent() && slot.getColumn().get().isVisible()) { - return true; + if (StatisticConstants.STATISTICS_DB_BLACK_LIST.contains(olapTable.getQualifiedDbName())) { + return true; + } } - return false; + return !c.isVisible(); } } --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org