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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]