@@ -910,7 +910,9 @@ export type multiplicative_expr = binary_expr;
910910
911911export type multiplicative_operator = "*" | "/" | "%" | "||" ;
912912
913- export type primary = cast_expr | literal | aggr_func | window_func | func_call | case_expr | interval_expr | column_ref | param | or_and_where_expr | var_decl | { type : 'origin' ; value : string ; } ;
913+ export type column_ref_array_index = column_ref ;
914+
915+ export type primary = cast_expr | or_and_where_expr | var_decl | { type : 'origin' ; value : string ; } ;
914916
915917export type string_constants_escape = { type : 'origin' ; value : string ; } ;
916918
@@ -1027,7 +1029,7 @@ export type trim_rem = expr_list;
10271029
10281030export type trim_func_clause = { type : 'function' ; name : string ; args : expr_list ; } ;
10291031
1030- export type func_call = trim_func_clause | { type : 'function' ; name : string ; args : expr_list ; suffix : literal_string ; } | { type : 'function' ; name : string ; args : expr_list ; over ?: over_partition ; } | { type : 'function' ; name : string ; args : expr_list ; } | extract_func | { type : 'function' ; name : string ; over ?: on_update_current_timestamp ; } ;
1032+ export type func_call = trim_func_clause | { type : 'function' ; name : string ; args : expr_list ; suffix : literal_string ; } | { type : 'function' ; name : string ; args : expr_list ; over ?: over_partition ; } | extract_func | { type : 'function' ; name : string ; over ?: on_update_current_timestamp ; } | { type : 'function' ; name : string ; args : expr_list ; } ;
10311033
10321034export type extract_filed = 'string' ;
10331035
@@ -1039,18 +1041,24 @@ export type scalar_func = scalar_time_func | KW_CURRENT_USER | KW_USER | KW_SESS
10391041
10401042
10411043
1044+ export type cast_double_colon = {
1045+ as ?: alias_clause ,
1046+ symbol : '::' | 'as' ,
1047+ target : data_type ;
1048+ arrows ?: ( '->>' | '->' ) [ ] ;
1049+ property ?: ( literal_string | literal_numeric ) [ ] ;
1050+ } ;
1051+
1052+
1053+
10421054
10431055
10441056export type cast_expr = {
1045- as ?: alias_clause ,
10461057 type : 'cast' ;
10471058 expr : literal | aggr_func | func_call | case_expr | interval_expr | column_ref | param
10481059 | expr ;
1049- symbol : '::' | 'as' ,
10501060 keyword : 'cast' ;
1051- target : data_type ;
1052- arrows ?: ( '->>' | '->' ) [ ] ;
1053- property ?: ( literal_string | literal_numeric ) [ ] ;
1061+ ...cast_double_colon ;
10541062 } ;
10551063
10561064export type signedness = KW_SIGNED | KW_UNSIGNED ;
0 commit comments