Commit f2539a49 authored by unknown's avatar unknown

Addition to the fix for #11207 (SET GLOBAL TRANSACTION ISOLATION LEVEL)


sql/sql_yacc.yy:
  exact types specified for opt_var_type and similar
parent d1b163ec
......@@ -88,6 +88,7 @@ inline Item *is_truth_value(Item *A, bool v1, bool v2)
udf_func *udf;
LEX_USER *lex_user;
struct sys_var_with_base variable;
enum enum_var_type var_type;
Key::Keytype key_type;
enum ha_key_alg key_alg;
enum db_type db_type;
......@@ -696,11 +697,11 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
%type <num>
type int_type real_type order_dir lock_option
udf_type if_exists opt_local opt_table_options table_options
table_option opt_if_not_exists opt_no_write_to_binlog opt_var_type
opt_var_ident_type delete_option opt_temporary all_or_any opt_distinct
table_option opt_if_not_exists opt_no_write_to_binlog
delete_option opt_temporary all_or_any opt_distinct
opt_ignore_leaves fulltext_options spatial_type union_option
start_transaction_opts opt_chain opt_release
union_opt select_derived_init option_type option_type2
union_opt select_derived_init option_type2
%type <ulong_num>
ulong_num raid_types merge_insert_types
......@@ -732,6 +733,9 @@ bool my_yyoverflow(short **a, YYSTYPE **b, ulong *yystacksize);
expr_list udf_expr_list udf_expr_list2 when_list
ident_list ident_list_arg
%type <var_type>
option_type opt_var_type opt_var_ident_type
%type <key_type>
key_type opt_unique_or_fulltext constraint_key_type
......@@ -4356,7 +4360,7 @@ simple_expr:
yyerror(ER(ER_SYNTAX_ERROR));
YYABORT;
}
if (!($$= get_system_var(YYTHD, (enum_var_type) $3, $4, $5)))
if (!($$= get_system_var(YYTHD, $3, $4, $5)))
YYABORT;
Lex->variables_used= 1;
}
......@@ -6395,7 +6399,7 @@ show_param:
LEX *lex= Lex;
lex->sql_command= SQLCOM_SELECT;
lex->orig_sql_command= SQLCOM_SHOW_STATUS;
lex->option_type= (enum_var_type) $1;
lex->option_type= $1;
if (prepare_schema_table(YYTHD, lex, 0, SCH_STATUS))
YYABORT;
}
......@@ -6410,7 +6414,7 @@ show_param:
LEX *lex= Lex;
lex->sql_command= SQLCOM_SELECT;
lex->orig_sql_command= SQLCOM_SHOW_VARIABLES;
lex->option_type= (enum_var_type) $1;
lex->option_type= $1;
if (prepare_schema_table(YYTHD, lex, 0, SCH_VARIABLES))
YYABORT;
}
......@@ -7783,7 +7787,7 @@ sys_option_value:
else if ($2.var)
{ /* System variable */
if ($1)
lex->option_type= (enum_var_type)$1;
lex->option_type= $1;
lex->var_list.push_back(new set_var(lex->option_type, $2.var,
&$2.base_name, $4));
}
......@@ -7818,7 +7822,7 @@ sys_option_value:
{
LEX *lex=Lex;
if ($1)
lex->option_type= (enum_var_type)$1;
lex->option_type= $1;
lex->var_list.push_back(new set_var(lex->option_type,
find_sys_var("tx_isolation"),
&null_lex_str,
......@@ -7834,8 +7838,7 @@ option_value:
| '@' '@' opt_var_ident_type internal_variable_name equal set_expr_or_default
{
LEX *lex=Lex;
lex->var_list.push_back(new set_var((enum_var_type) $3, $4.var,
&$4.base_name, $6));
lex->var_list.push_back(new set_var($3, $4.var, &$4.base_name, $6));
}
| charset old_or_new_charset_name_or_default
{
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment