fix bug: column with multi default
This commit is contained in:
@ -130,7 +130,7 @@ extern void obsql_oracle_parse_fatal_error(int32_t errcode, yyscan_t yyscanner,
|
||||
//%nonassoc STRING_VALUE
|
||||
%left '(' ')'
|
||||
%nonassoc SQL_CACHE SQL_NO_CACHE CHARSET DATABASE_ID REPLICA_NUM/*for shift/reduce conflict between opt_query_expresion_option_list and SQL_CACHE*/
|
||||
%nonassoc HIGHER_PARENS TRANSACTION SIZE AUTO SKEWONLY /*for simple_expr conflict*/
|
||||
%nonassoc HIGHER_PARENS TRANSACTION SIZE AUTO SKEWONLY DEFAULT/*for simple_expr conflict*/
|
||||
%left '.'
|
||||
%right NOT NOT2
|
||||
%right BINARY COLLATE
|
||||
@ -421,7 +421,7 @@ END_P SET_VAR DELIMITER
|
||||
%type <node> opt_float_precision opt_number_precision
|
||||
%type <node> opt_equal_mark opt_default_mark read_only_or_write not not2 opt_disk_alias
|
||||
%type <node> int_or_decimal
|
||||
%type <node> opt_column_attribute_list column_attribute column_attribute_list
|
||||
%type <node> opt_column_attribute_list column_attribute column_attribute_list opt_column_default_value opt_column_default_value_list
|
||||
%type <node> show_stmt from_or_in columns_or_fields database_or_schema index_or_indexes_or_keys opt_from_or_in_database_clause opt_show_condition opt_desc_column_option opt_status opt_storage
|
||||
%type <node> prepare_stmt stmt_name preparable_stmt
|
||||
%type <node> variable_set_stmt var_and_val_list var_and_val to_or_eq set_expr_or_default sys_var_and_val_list sys_var_and_val opt_set_sys_var opt_global_sys_vars_set
|
||||
@ -6183,9 +6183,9 @@ not NULLX
|
||||
malloc_terminal_node($$, result->malloc_pool_, T_CONSTR_NULL);
|
||||
$$->sql_str_off_ = $1->sql_str_off_;
|
||||
}
|
||||
| DEFAULT now_or_signed_literal
|
||||
| opt_column_default_value_list %prec LOWER_PARENS
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CONSTR_DEFAULT, 1, $2);
|
||||
$$ = $1;
|
||||
}
|
||||
| ORIG_DEFAULT now_or_signed_literal
|
||||
{
|
||||
@ -6244,6 +6244,23 @@ not NULLX
|
||||
}
|
||||
;
|
||||
|
||||
opt_column_default_value_list:
|
||||
opt_column_default_value_list opt_column_default_value
|
||||
{
|
||||
UNUSED($1);
|
||||
$$ = $2;
|
||||
}
|
||||
| opt_column_default_value
|
||||
{
|
||||
$$ = $1;
|
||||
}
|
||||
|
||||
opt_column_default_value:
|
||||
DEFAULT now_or_signed_literal
|
||||
{
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_CONSTR_DEFAULT, 1, $2);
|
||||
}
|
||||
|
||||
now_or_signed_literal:
|
||||
cur_timestamp_func
|
||||
{
|
||||
|
Reference in New Issue
Block a user