From 9a04ddb3ba59bbebdfe02b02e56d417e3aa6332f Mon Sep 17 00:00:00 2001 From: Jibing Li Date: Tue, 2 Apr 2024 19:24:36 +0800 Subject: [PATCH] fix p0 --- .../main/java/org/apache/doris/analysis/AnalyzeProperties.java | 2 ++ .../src/main/java/org/apache/doris/catalog/OlapTable.java | 3 +-- .../main/java/org/apache/doris/datasource/ExternalTable.java | 3 +-- .../main/java/org/apache/doris/statistics/AnalysisManager.java | 2 +- .../java/org/apache/doris/statistics/OlapAnalysisTask.java | 3 +-- .../external_table_p2/hive/test_hive_statistic_auto.groovy | 2 +- regression-test/suites/statistics/analyze_stats.groovy | 2 +- 7 files changed, 8 insertions(+), 9 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeProperties.java b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeProperties.java index 94083989ca7b83..f78c63ebea1a83 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeProperties.java +++ b/fe/fe-core/src/main/java/org/apache/doris/analysis/AnalyzeProperties.java @@ -44,6 +44,7 @@ public class AnalyzeProperties { public static final String PROPERTY_PERIOD_SECONDS = "period.seconds"; public static final String PROPERTY_FORCE_FULL = "force.full"; public static final String PROPERTY_PARTITION_COLUMN_FROM_SQL = "partition.column.from.sql"; + public static final String PROPERTY_USE_AUTO_ANALYZER = "use.auto.analyzer"; public static final AnalyzeProperties DEFAULT_PROP = new AnalyzeProperties(new HashMap() { { @@ -72,6 +73,7 @@ public class AnalyzeProperties { .add(PROPERTY_PERIOD_CRON) .add(PROPERTY_FORCE_FULL) .add(PROPERTY_PARTITION_COLUMN_FROM_SQL) + .add(PROPERTY_USE_AUTO_ANALYZER) .build(); public AnalyzeProperties(Map properties) { 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 5bbf10c4acd796..d8f55accb74fea 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 @@ -99,7 +99,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Objects; import java.util.Optional; @@ -1319,7 +1318,7 @@ public Set> getColumnIndexPairs(Set columns) { if (col == null || StatisticsUtil.isUnsupportedType(col.getType())) { continue; } - ret.add(Pair.of(getIndexNameById(meta.getIndexId()), column.toLowerCase(Locale.ROOT))); + ret.add(Pair.of(getIndexNameById(meta.getIndexId()), column)); } } return ret; diff --git a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java index bb5b5089a2f996..7fff8850d65c06 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java +++ b/fe/fe-core/src/main/java/org/apache/doris/datasource/ExternalTable.java @@ -47,7 +47,6 @@ import java.io.DataOutput; import java.io.IOException; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Optional; import java.util.Set; @@ -320,7 +319,7 @@ public Set> getColumnIndexPairs(Set columns) { continue; } // External table put table name as index name. - ret.add(Pair.of(String.valueOf(name), column.toLowerCase(Locale.ROOT))); + ret.add(Pair.of(String.valueOf(name), column)); } return ret; } diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java index e3391756bc483f..ebd92a841d1016 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisManager.java @@ -218,7 +218,7 @@ public List buildAnalysisInfosForDB(DatabaseIf db, Analyz // Each analyze stmt corresponding to an analysis job. public void createAnalysisJob(AnalyzeTblStmt stmt, boolean proxy) throws DdlException { // Using auto analyzer if user specifies. - if (stmt.getAnalyzeProperties().getProperties().containsKey("use.auto.analyzer")) { + if ("true".equalsIgnoreCase(stmt.getAnalyzeProperties().getProperties().get("use.auto.analyzer"))) { Env.getCurrentEnv().getStatisticsAutoCollector() .processOneJob(stmt.getTable(), stmt.getTable().getColumnIndexPairs(stmt.getColumnNames()), JobPriority.HIGH); diff --git a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java index 08d770454bc136..c1f7765ea5487e 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java +++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/OlapAnalysisTask.java @@ -228,8 +228,7 @@ protected void doFull() throws Exception { params.put("tblName", String.valueOf(tbl.getName())); params.put("index", getIndex()); StringSubstitutor stringSubstitutor = new StringSubstitutor(params); - String collectColStats = stringSubstitutor.replace(FULL_ANALYZE_TEMPLATE); - runQuery(collectColStats); + runQuery(stringSubstitutor.replace(FULL_ANALYZE_TEMPLATE)); } protected String getIndex() { diff --git a/regression-test/suites/external_table_p2/hive/test_hive_statistic_auto.groovy b/regression-test/suites/external_table_p2/hive/test_hive_statistic_auto.groovy index 8a7591daeb1b1e..eddf0bd8e7c16c 100644 --- a/regression-test/suites/external_table_p2/hive/test_hive_statistic_auto.groovy +++ b/regression-test/suites/external_table_p2/hive/test_hive_statistic_auto.groovy @@ -32,7 +32,7 @@ suite("test_hive_statistic_auto", "p2,external,hive,external_remote,external_rem logger.info("catalog " + catalog_name + " created") // Test analyze table without init. - sql """analyze database ${catalog_name}.statistics PROPERTIES("use.auto.analyzer"="true")""" + sql """analyze table ${catalog_name}.statistics.statistics PROPERTIES("use.auto.analyzer"="true")""" sql """use ${catalog_name}.statistics""" for (int i = 0; i < 10; i++) { diff --git a/regression-test/suites/statistics/analyze_stats.groovy b/regression-test/suites/statistics/analyze_stats.groovy index 7c6231aa48fd02..bcbec86b1a77b9 100644 --- a/regression-test/suites/statistics/analyze_stats.groovy +++ b/regression-test/suites/statistics/analyze_stats.groovy @@ -2774,7 +2774,7 @@ PARTITION `p599` VALUES IN (599) // Test auto analyze with job type SYSTEM sql """drop stats trigger_test""" - sql """analyze database trigger PROPERTIES("use.auto.analyzer"="true")""" + sql """analyze table trigger_test PROPERTIES("use.auto.analyzer"="true")""" int i = 0; for (0; i < 10; i++) { result = sql """show column stats trigger_test"""