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 b2e70e938cc branch-2.1: [improve](statistics)Specify column name when 
insert into stat table.(#52441) (#52633)
b2e70e938cc is described below

commit b2e70e938cc6dad7cf61f557feca3dfb0df37784
Author: James <[email protected]>
AuthorDate: Fri Jul 4 14:21:01 2025 +0800

    branch-2.1: [improve](statistics)Specify column name when insert into stat 
table.(#52441) (#52633)
    
    backport: https://github.com/apache/doris/pull/52441
---
 .../src/main/java/org/apache/doris/statistics/AnalysisJob.java     | 2 +-
 .../main/java/org/apache/doris/statistics/StatisticConstants.java  | 5 +++++
 .../java/org/apache/doris/statistics/StatisticsRepository.java     | 7 ++++---
 .../src/test/java/org/apache/doris/statistics/AnalysisJobTest.java | 2 +-
 4 files changed, 11 insertions(+), 5 deletions(-)

diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJob.java 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJob.java
index dd33829046f..12978fc5e94 100644
--- a/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJob.java
+++ b/fe/fe-core/src/main/java/org/apache/doris/statistics/AnalysisJob.java
@@ -124,7 +124,7 @@ public class AnalysisJob {
         // buf could be empty when nothing need to do,r for example user 
submit an analysis task for table with no data
         // change
         if (!buf.isEmpty())  {
-            String insertStmt = "INSERT INTO " + 
StatisticConstants.FULL_QUALIFIED_STATS_TBL_NAME + " VALUES ";
+            String insertStmt = 
StatisticConstants.INSERT_INTO_COLUMN_STATS_PREFIX;
             StringJoiner values = new StringJoiner(",");
             for (ColStatsData data : buf) {
                 values.add(data.toSQL(true));
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticConstants.java 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticConstants.java
index f56aeea60a1..0aa3210094f 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticConstants.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticConstants.java
@@ -69,6 +69,11 @@ public class StatisticConstants {
     public static final String FULL_QUALIFIED_STATS_TBL_NAME = 
InternalCatalog.INTERNAL_CATALOG_NAME
             + "." + FeConstants.INTERNAL_DB_NAME + "." + STATISTIC_TBL_NAME;
 
+    public static final String INSERT_INTO_COLUMN_STATS_PREFIX =
+            "INSERT INTO " + FULL_QUALIFIED_STATS_TBL_NAME + "(`id`, 
`catalog_id`, `db_id`, `tbl_id`, `idx_id`, "
+                    + "`col_id`, `part_id`, `count`, `ndv`, `null_count`, 
`min`, `max`, "
+                    + "`data_size_in_bytes`, `update_time`) VALUES ";
+
     public static final int STATISTIC_INTERNAL_TABLE_REPLICA_NUM = 3;
 
     public static final int RETRY_LOAD_QUEUE_SIZE = 1000;
diff --git 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java
 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java
index 9eaf80ea893..240e1e81aae 100644
--- 
a/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java
+++ 
b/fe/fe-core/src/main/java/org/apache/doris/statistics/StatisticsRepository.java
@@ -74,9 +74,10 @@ public class StatisticsRepository {
             + FULL_QUALIFIED_COLUMN_HISTOGRAM_NAME
             + " WHERE `id` = '${id}' AND `catalog_id` = '${catalogId}' AND 
`db_id` = '${dbId}'";
 
-    private static final String INSERT_INTO_COLUMN_STATISTICS_FOR_ALTER = 
"INSERT INTO "
-            + FULL_QUALIFIED_COLUMN_STATISTICS_NAME + " VALUES('${id}', 
${catalogId}, ${dbId}, ${tblId}, '${idxId}',"
-            + "'${colId}', ${partId}, ${count}, ${ndv}, ${nullCount}, ${min}, 
${max}, ${dataSize}, NOW())";
+    private static final String INSERT_INTO_COLUMN_STATISTICS_FOR_ALTER =
+            StatisticConstants.INSERT_INTO_COLUMN_STATS_PREFIX
+                    + "('${id}', ${catalogId}, ${dbId}, ${tblId}, '${idxId}',"
+                    + "'${colId}', ${partId}, ${count}, ${ndv}, ${nullCount}, 
${min}, ${max}, ${dataSize}, NOW())";
 
     private static final String DELETE_TABLE_STATISTICS_TEMPLATE = "DELETE 
FROM " + FeConstants.INTERNAL_DB_NAME
             + "." + "${tblName}" + " WHERE ${condition} AND `catalog_id` = 
'${catalogId}' AND `db_id` = '${dbId}'";
diff --git 
a/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobTest.java 
b/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobTest.java
index a7d60d2ad38..5a1ac048abf 100644
--- a/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobTest.java
+++ b/fe/fe-core/src/test/java/org/apache/doris/statistics/AnalysisJobTest.java
@@ -238,7 +238,7 @@ public class AnalysisJobTest {
         job.writeBuf();
         Assertions.assertEquals(0, job.queryFinished.size());
         Assertions.assertEquals(0, job.buf.size());
-        Assertions.assertEquals("ffd6aa73b79f9228c737a6da0f4b2834", 
job.stmtExecutor.getContext().getSqlHash());
+        Assertions.assertEquals("d8c3a1696769a1862331eec30d2c1ecb", 
job.stmtExecutor.getContext().getSqlHash());
     }
 
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to