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