This is an automated email from the ASF dual-hosted git repository. lijibing pushed a commit to branch high-priority-column in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/high-priority-column by this push: new 2f8eb492d76 Support auto analyze mv (#32433) 2f8eb492d76 is described below commit 2f8eb492d7657e9116ec99819c4fbc2864388b65 Author: Jibing-Li <64681310+jibing...@users.noreply.github.com> AuthorDate: Tue Mar 19 10:19:23 2024 +0800 Support auto analyze mv (#32433) --- .../src/main/java/org/apache/doris/catalog/OlapTable.java | 11 +++++++++++ .../org/apache/doris/statistics/StatisticsAutoCollector.java | 11 +++++++++++ 2 files changed, 22 insertions(+) diff --git a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java index 4ac54827cee..4a7f4a837c2 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/catalog/OlapTable.java @@ -762,6 +762,17 @@ public class OlapTable extends Table implements MTMVRelatedTableIf { return columns; } + public List<Column> getMvColumns(boolean full) { + List<Column> columns = Lists.newArrayList(); + for (Long indexId : indexIdToMeta.keySet()) { + if (indexId == baseIndexId) { + continue; + } + columns.addAll(getSchemaByIndexId(indexId, full)); + } + return columns; + } + public List<Column> getBaseSchemaKeyColumns() { return getKeyColumnsByIndexId(baseIndexId); } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java index 43ee1af2032..41765b14c30 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsAutoCollector.java @@ -18,6 +18,7 @@ package org.apache.doris.statistics; import org.apache.doris.analysis.TableName; +import org.apache.doris.catalog.Column; import org.apache.doris.catalog.Env; import org.apache.doris.catalog.OlapTable; import org.apache.doris.catalog.TableIf; @@ -123,6 +124,7 @@ public class StatisticsAutoCollector extends MasterDaemon { } protected void processOneJob(TableIf table, Set<String> columns, JobPriority priority) throws DdlException { + appendMvColumn(table, columns); columns = columns.stream().filter(c -> StatisticsUtil.needAnalyzeColumn(table, c)).collect(Collectors.toSet()); appendPartitionColumns(table, columns); if (columns.isEmpty()) { @@ -145,6 +147,15 @@ public class StatisticsAutoCollector extends MasterDaemon { } } + protected void appendMvColumn(TableIf table, Set<String> columns) { + if (!(table instanceof OlapTable)) { + return; + } + OlapTable olapTable = (OlapTable) table; + Set<String> mvColumns = olapTable.getMvColumns(false).stream().map(Column::getName).collect(Collectors.toSet()); + columns.addAll(mvColumns); + } + protected boolean supportAutoAnalyze(TableIf tableIf) { if (tableIf == null) { return false; --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org