You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by kx...@apache.org on 2023/06/09 16:17:56 UTC

[doris] 04/13: [enhancement](stats) Forbid unknown stats check for internal_column (#20535)

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 <33...@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-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org