This is an automated email from the ASF dual-hosted git repository.

lijibing pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 078af7bbdb9 Fix statistics p0 case. (#31330)
078af7bbdb9 is described below

commit 078af7bbdb949406a94ddaa8699dbed396e316bb
Author: Jibing-Li <64681310+jibing...@users.noreply.github.com>
AuthorDate: Fri Feb 23 19:58:41 2024 +0800

    Fix statistics p0 case. (#31330)
---
 .../suites/statistics/analyze_stats.groovy         |  1 +
 .../suites/statistics/test_analyze_mtmv.groovy     | 74 +++++++++++++++++++++-
 .../suites/statistics/test_analyze_mv.groovy       | 48 ++++++++++++++
 3 files changed, 121 insertions(+), 2 deletions(-)

diff --git a/regression-test/suites/statistics/analyze_stats.groovy 
b/regression-test/suites/statistics/analyze_stats.groovy
index c02fef4793e..055d8dfec58 100644
--- a/regression-test/suites/statistics/analyze_stats.groovy
+++ b/regression-test/suites/statistics/analyze_stats.groovy
@@ -2633,6 +2633,7 @@ PARTITION `p599` VALUES IN (599)
      );
    """
     sql """insert into string_min_max values (1,'name1'), (2, 'name2')"""
+    sql """analyze table string_min_max with sync"""
     explain {
         sql("select min(name), max(name) from string_min_max")
         contains "pushAggOp=NONE"
diff --git a/regression-test/suites/statistics/test_analyze_mtmv.groovy 
b/regression-test/suites/statistics/test_analyze_mtmv.groovy
index 6b8c606ac49..d72c718d2aa 100644
--- a/regression-test/suites/statistics/test_analyze_mtmv.groovy
+++ b/regression-test/suites/statistics/test_analyze_mtmv.groovy
@@ -22,8 +22,8 @@ suite("test_analyze_mtmv") {
             Thread.sleep(5000)
             def result = sql """SHOW DATA FROM ${table};"""
             logger.info("result " + result)
-           if (result[0][4] == expected) {
-               return;
+            if (result[0][4] == expected) {
+                return;
             }
         }
         throw new Exception("Row count report timeout.")
@@ -270,6 +270,13 @@ suite("test_analyze_mtmv") {
     wait_row_count_reported("mv1", "3")
     sql """analyze table mv1 with sync with sample rows 4000000"""
     result_sample = sql """show column stats mv1(l_shipdate)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mv1(l_shipdate)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_shipdate", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -284,6 +291,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column cached stats mv1(l_shipdate)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column cached stats mv1(l_shipdate)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_shipdate", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -298,6 +312,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mv1(o_orderdate)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mv1(o_orderdate)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("o_orderdate", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -312,6 +333,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column cached stats mv1(o_orderdate)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column cached stats mv1(o_orderdate)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("o_orderdate", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -326,6 +354,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mv1(l_partkey)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mv1(l_partkey)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_partkey", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -340,6 +375,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column cached stats mv1(l_partkey)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column cached stats mv1(l_partkey)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_partkey", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -354,6 +396,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mv1(l_suppkey)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mv1(l_suppkey)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_suppkey", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -368,6 +417,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column cached stats mv1(l_suppkey)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column cached stats mv1(l_suppkey)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("l_suppkey", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -382,6 +438,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mv1(sum_total)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mv1(sum_total)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("sum_total", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -396,6 +459,13 @@ suite("test_analyze_mtmv") {
     assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column cached stats mv1(sum_total)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mv1 with sync with sample rows 4000000"""
+        result_sample = sql """show column cached stats mv1(sum_total)"""
+        logger.info("result " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("sum_total", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
diff --git a/regression-test/suites/statistics/test_analyze_mv.groovy 
b/regression-test/suites/statistics/test_analyze_mv.groovy
index da8df344a68..b433766b55d 100644
--- a/regression-test/suites/statistics/test_analyze_mv.groovy
+++ b/regression-test/suites/statistics/test_analyze_mv.groovy
@@ -352,6 +352,13 @@ suite("test_analyze_mv") {
     assertEquals(12, result_sample.size())
 
     result_sample = sql """show column stats mvTestDup(key1)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mvTestDup(key1)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("key1", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -360,8 +367,16 @@ suite("test_analyze_mv") {
     assertEquals("1", result_sample[0][7])
     assertEquals("1001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mvTestDup(value1)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mvTestDup(value1)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("value1", result_sample[0][0])
     assertEquals("N/A", result_sample[0][1])
@@ -370,8 +385,16 @@ suite("test_analyze_mv") {
     assertEquals("3", result_sample[0][7])
     assertEquals("3001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats mvTestDup(mv_key1)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11] || "MANUAL" != result_sample[1][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats mvTestDup(mv_key1)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(2, result_sample.size())
     assertEquals("mv_key1", result_sample[0][0])
     assertTrue(result_sample[0][1] == 'mv1' && result_sample[1][1] == 'mv3' || 
result_sample[0][1] == 'mv3' && result_sample[1][1] == 'mv1')
@@ -384,8 +407,16 @@ suite("test_analyze_mv") {
     assertEquals("1", result_sample[0][7])
     assertEquals("1001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats 
mvTestDup(`mva_SUM__CAST(``value1`` AS BIGINT)`)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats 
mvTestDup(`mva_SUM__CAST(``value1`` AS BIGINT)`)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("mva_SUM__CAST(`value1` AS BIGINT)", result_sample[0][0])
     assertEquals("mv3", result_sample[0][1])
@@ -394,8 +425,16 @@ suite("test_analyze_mv") {
     assertEquals("6", result_sample[0][7])
     assertEquals("3001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats 
mvTestDup(`mva_MAX__``value2```)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats 
mvTestDup(`mva_MAX__``value2```)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("mva_MAX__`value2`", result_sample[0][0])
     assertEquals("mv3", result_sample[0][1])
@@ -404,8 +443,16 @@ suite("test_analyze_mv") {
     assertEquals("4", result_sample[0][7])
     assertEquals("4001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show column stats 
mvTestDup(`mva_MIN__``value3```)"""
+    logger.info("result " + result_sample)
+    if ("MANUAL" != result_sample[0][11]) {
+        logger.info("Overwrite by auto analyze, analyze it again.")
+        sql """analyze table mvTestDup with sync with sample rows 4000000"""
+        result_sample = sql """show column stats 
mvTestDup(`mva_MIN__``value3```)"""
+        logger.info("result after reanalyze " + result_sample)
+    }
     assertEquals(1, result_sample.size())
     assertEquals("mva_MIN__`value3`", result_sample[0][0])
     assertEquals("mv3", result_sample[0][1])
@@ -414,6 +461,7 @@ suite("test_analyze_mv") {
     assertEquals("5", result_sample[0][7])
     assertEquals("5001", result_sample[0][8])
     assertEquals("SAMPLE", result_sample[0][9])
+    assertEquals("MANUAL", result_sample[0][11])
 
     result_sample = sql """show analyze task status ${jobId}"""
     assertEquals(12, result_sample.size())


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org
For additional commands, e-mail: commits-h...@doris.apache.org

Reply via email to