@@ -349,7 +349,15 @@ export interface drop_index_stmt_node {
349349 options ?: 'cascade' | 'restrict' ;
350350 }
351351
352- export type drop_stmt = AstStatement < drop_stmt_node > | AstStatement < drop_index_stmt_node > ;
352+ export interface drop_view_stmt_node {
353+ type : 'drop' ;
354+ prefix ?: string ;
355+ keyword : 'view' ;
356+ name : table_ref_list ;
357+ options ?: view_options ;
358+ }
359+
360+ export type drop_stmt = AstStatement < drop_stmt_node > | AstStatement < drop_index_stmt_node > | AstStatement < drop_view_stmt_node > ;
353361
354362export type truncate_table_name = table_name & { suffix ?: string } ;
355363
@@ -609,6 +617,8 @@ export type reference_definition = {
609617
610618export type on_reference = { type : 'on delete' | 'on update' ; value : reference_option ; } ;
611619
620+ export type view_options = 'restrict' | 'cascade' ; ;
621+
612622export type reference_option = { type : 'function' ; name : string ; args : expr_list ; } | 'restrict' | 'cascade' | 'set null' | 'no action' | 'set default' | 'current_timestamp' ;
613623
614624
@@ -1359,7 +1369,13 @@ export type tablefunc_clause = { type: 'tablefunc'; name: proc_func_name; args:
13591369
13601370export type substring_funcs_clause = { type : 'function' ; name : 'substring' ; args : expr_list ; } ;
13611371
1362- export type func_call = trim_func_clause | tablefunc_clause | substring_funcs_clause | { type : 'function' ; name : proc_func_name ; args : expr_list ; suffix : literal_string ; } | { type : 'function' ; name : proc_func_name ; args : expr_list ; over ?: over_partition ; } | extract_func | { type : 'function' ; name : proc_func_name ; over ?: on_update_current_timestamp ; } | { type : 'function' ; name : proc_func_name ; args : expr_list ; } ;
1372+ export type make_interval_func_args_item = { type : 'func_arg' , value : { name : ident_name ; symbol : '=>' , value : literal_numeric ; } } ;
1373+
1374+ export type make_interval_func_args = make_interval_func_args_item [ ] | expr_list ;
1375+
1376+ export type make_interval_func_clause = { type : 'function' ; name : proc_func_name ; args : make_interval_func_args ; } ;
1377+
1378+ export type func_call = trim_func_clause | tablefunc_clause | substring_funcs_clause | make_interval_func_clause | { type : 'function' ; name : proc_func_name ; args : expr_list ; suffix : literal_string ; } | { type : 'function' ; name : proc_func_name ; args : expr_list ; over ?: over_partition ; } | extract_func | { type : 'function' ; name : proc_func_name ; over ?: on_update_current_timestamp ; } | { type : 'function' ; name : proc_func_name ; args : expr_list ; } ;
13631379
13641380export type extract_filed = 'string' ;
13651381
@@ -1432,6 +1448,10 @@ export type line_terminator = string;
14321448
14331449export type literal_numeric = number | { type : 'bigint' ; value : string ; } ;
14341450
1451+ type integer = never ;
1452+
1453+ type double_float = never ;
1454+
14351455export type int = string ;
14361456
14371457export type frac = string ;
@@ -1975,6 +1995,8 @@ export type enum_type = data_type;
19751995
19761996export type json_type = data_type ;
19771997
1998+ export type geometry_type_args = { length : string , scale ?: number | null } ;
1999+
19782000
19792001
19802002export type geometry_type = data_type ;
0 commit comments