Kikyou1997 commented on code in PR #13883:
URL: https://github.com/apache/doris/pull/13883#discussion_r1013630081


##########
fe/fe-core/src/main/java/org/apache/doris/catalog/Env.java:
##########
@@ -5197,4 +5216,53 @@ public int getFollowerCount() {
         }
         return count;
     }
+
+    public AnalysisJobScheduler getAnalysisJobScheduler() {
+        return analysisJobScheduler;
+    }
+
+    // TODO:
+    //  1. handle partition level analysis statement properly
+    //  2. support sample job
+    //  3. support period job
+    public void createAnalysisJob(AnalyzeStmt analyzeStmt) {
+        String catalogName = analyzeStmt.getCatalogName();
+        String db = analyzeStmt.getDBName();
+        String tbl = analyzeStmt.getTblName();
+        List<String> colNames = analyzeStmt.getOptColumnNames();
+        String persistAnalysisJobSQLTemplate = "INSERT INTO " + 
StatisticConstants.STATISTIC_DB_NAME + "."
+                + StatisticConstants.ANALYSIS_JOB_TABLE + " VALUES(${jobId}, 
'${catalogName}', '${dbName}',"
+                + "'${tblName}','${colName}', '${jobType}', '${analysisType}', 
'${message}', '${lastExecTimeInMs}',"
+                + "'${state}', '${scheduleType}')";
+        if (colNames != null) {
+            for (String colName : colNames) {
+                AnalysisJobInfo analysisJobInfo = new 
AnalysisJobInfo(Env.getCurrentEnv().getNextId(), catalogName, db,
+                        tbl, colName, AnalysisJobInfo.JobType.MANUAL, 
ScheduleType.ONCE);
+                analysisJobInfo.analysisType = AnalysisType.FULL;
+                Map<String, String> params = new HashMap<>();
+                params.put("jobId", String.valueOf(analysisJobInfo.jobId));
+                params.put("catalogName", analysisJobInfo.catalogName);
+                params.put("dbName", analysisJobInfo.dbName);
+                params.put("tblName", analysisJobInfo.tblName);
+                params.put("colName", analysisJobInfo.colName);
+                params.put("jobType", analysisJobInfo.jobType.toString());
+                params.put("analysisType", 
analysisJobInfo.analysisType.toString());
+                params.put("message", "");
+                params.put("lastExecTimeInMs", "0");
+                params.put("state", JobState.PENDING.toString());
+                params.put("scheduleType", 
analysisJobInfo.scheduleType.toString());

Review Comment:
   I think so I would do this in another PR



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


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

Reply via email to