weizhengte commented on code in PR #18801: URL: https://github.com/apache/doris/pull/18801#discussion_r1171028185
########## fe/fe-core/src/main/cup/sql_parser.cup: ########## @@ -2812,30 +2817,45 @@ show_create_reporitory_stmt ::= // analyze statment analyze_stmt ::= - KW_ANALYZE opt_sync:sync KW_TABLE table_name:tbl opt_col_list:cols opt_properties:properties - {: - boolean is_whole_tbl = (cols == null); - boolean is_histogram = false; - boolean is_increment = false; - RESULT = new AnalyzeStmt(tbl, sync, cols, properties, is_whole_tbl, is_histogram, is_increment); - :} - | KW_ANALYZE opt_sync:sync KW_INCREMENTAL KW_TABLE table_name:tbl opt_col_list:cols opt_partition_names:partitionNames opt_properties:properties - {: - boolean is_whole_tbl = (cols == null); - boolean is_histogram = false; - boolean is_increment = true; - RESULT = new AnalyzeStmt(tbl, sync, cols, properties, is_whole_tbl, is_histogram, is_increment); - :} - | KW_ANALYZE opt_sync:sync KW_TABLE table_name:tbl KW_UPDATE KW_HISTOGRAM KW_ON ident_list:cols opt_partition_names:partitionNames opt_properties:properties + // statistics + KW_ANALYZE opt_sync:sync KW_TABLE table_name:tbl opt_col_list:cols + opt_with_analysis_properties:withAnalysisProperties opt_properties:properties {: - boolean is_whole_tbl = false; - boolean is_histogram = true; - boolean is_increment = false; - RESULT = new AnalyzeStmt(tbl, sync, cols, properties, is_whole_tbl, is_histogram, is_increment); + if (properties == null) { + properties = Maps.newHashMap(); + } + for (Map<String, String> property : withAnalysisProperties) { + properties.putAll(property); + } + if (!properties.containsKey("sync")) { + properties.put("sync", String.valueOf(sync)); + } + // Rule: If no type is specified, see if there is a specified column + if (!properties.containsKey("analysis.type")) { + if ((cols == null)) { + properties.put("analysis.type", "INDEX"); + } else { + properties.put("analysis.type", "COLUMN"); + } + } + RESULT = new AnalyzeStmt(tbl, cols, properties); :} - | KW_ANALYZE opt_sync:sync KW_TABLE table_name:tbl KW_UPDATE KW_HISTOGRAM + // histogram + | KW_ANALYZE opt_sync:sync KW_TABLE table_name:tbl opt_col_list:cols KW_UPDATE KW_HISTOGRAM Review Comment: I will sort out these syntaxs later, and discuss them again, and remove the redundant ones -- 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