This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 481fca67661 [revert](statistics)Still use sample analyze sql when
sample full table. (#50199)
481fca67661 is described below
commit 481fca67661c0f030c56900e4f7519d9bdd44a99
Author: James <[email protected]>
AuthorDate: Mon Apr 21 10:12:01 2025 +0800
[revert](statistics)Still use sample analyze sql when sample full table.
(#50199)
Still use sample analyze sql when sample full table.
---
.../main/java/org/apache/doris/statistics/OlapAnalysisTask.java | 6 +-----
.../java/org/apache/doris/statistics/OlapAnalysisTaskTest.java | 8 ++------
2 files changed, 3 insertions(+), 11 deletions(-)
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 b09a7afd604..3025904139c 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
@@ -267,11 +267,7 @@ public class OlapAnalysisTask extends BaseAnalysisTask {
// If table row count is less than the target sample row count, simple
scan the full table.
if (tableRowCount <= targetSampleRows) {
- params.put("scaleFactor", "1");
- params.put("sampleHints", "");
- params.put("ndvFunction", "ROUND(NDV(`${colName}`) *
${scaleFactor})");
scanFullTable = true;
- return;
}
Pair<List<Long>, Long> sampleTabletsInfo = getSampleTablets();
String tabletStr = sampleTabletsInfo.first.stream()
@@ -467,7 +463,7 @@ public class OlapAnalysisTask extends BaseAnalysisTask {
* @return True for single unique key column and single distribution
column.
*/
protected boolean useLinearAnalyzeTemplate() {
- if (partitionColumnSampleTooManyRows || scanFullTable) {
+ if (partitionColumnSampleTooManyRows) {
return true;
}
if (isSingleUniqueKey()) {
diff --git
a/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
b/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
index 34b904d5c9a..96d76a61908 100644
---
a/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
+++
b/fe/fe-core/src/test/java/org/apache/doris/statistics/OlapAnalysisTaskTest.java
@@ -326,10 +326,6 @@ public class OlapAnalysisTaskTest {
task.setPartitionColumnSampleTooManyRows(true);
Assertions.assertTrue(task.useLinearAnalyzeTemplate());
- task.setPartitionColumnSampleTooManyRows(false);
- task.setScanFullTable(true);
- Assertions.assertTrue(task.useLinearAnalyzeTemplate());
-
task.setScanFullTable(false);
task.setPartitionColumnSampleTooManyRows(false);
new MockUp<OlapAnalysisTask>() {
@@ -372,9 +368,9 @@ public class OlapAnalysisTaskTest {
task.col = new Column("test", PrimitiveType.INT);
task.getSampleParams(params, 10);
Assertions.assertTrue(task.scanFullTable());
- Assertions.assertEquals("1", params.get("scaleFactor"));
+ Assertions.assertEquals("1.0", params.get("scaleFactor"));
Assertions.assertEquals("", params.get("sampleHints"));
- Assertions.assertEquals("ROUND(NDV(`${colName}`) * ${scaleFactor})",
params.get("ndvFunction"));
+ Assertions.assertEquals("SUM(`t1`.`count`) * COUNT(1) /
(SUM(`t1`.`count`) - SUM(IF(`t1`.`count` = 1, 1, 0)) + SUM(IF(`t1`.`count` = 1,
1, 0)) * SUM(`t1`.`count`) / 10)", params.get("ndvFunction"));
params.clear();
task = new OlapAnalysisTask();
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]