mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
a fix (bug #10339: Incorrect error is displayed if try to set value of internal ' warning_count ').
This commit is contained in:
@ -526,3 +526,7 @@ show warnings;
|
|||||||
Level Code Message
|
Level Code Message
|
||||||
Warning 1329 No data to FETCH
|
Warning 1329 No data to FETCH
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
set @@warning_count=1;
|
||||||
|
ERROR HY000: Variable 'warning_count' is a read only variable
|
||||||
|
set @@global.error_count=1;
|
||||||
|
ERROR HY000: Variable 'error_count' is a read only variable
|
||||||
|
@ -395,3 +395,11 @@ select a into @x from t1;
|
|||||||
show warnings;
|
show warnings;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug #10339: read only variables.
|
||||||
|
#
|
||||||
|
|
||||||
|
--error 1238
|
||||||
|
set @@warning_count=1;
|
||||||
|
--error 1238
|
||||||
|
set @@global.error_count=1;
|
||||||
|
@ -2964,6 +2964,11 @@ bool not_all_support_one_shot(List<set_var_base> *var_list)
|
|||||||
|
|
||||||
int set_var::check(THD *thd)
|
int set_var::check(THD *thd)
|
||||||
{
|
{
|
||||||
|
if (var->is_readonly())
|
||||||
|
{
|
||||||
|
my_error(ER_INCORRECT_GLOBAL_LOCAL_VAR, MYF(0), var->name, "read only");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
if (var->check_type(type))
|
if (var->check_type(type))
|
||||||
{
|
{
|
||||||
int err= type == OPT_GLOBAL ? ER_LOCAL_VARIABLE : ER_GLOBAL_VARIABLE;
|
int err= type == OPT_GLOBAL ? ER_LOCAL_VARIABLE : ER_GLOBAL_VARIABLE;
|
||||||
|
@ -75,6 +75,7 @@ public:
|
|||||||
{ return option_limits == 0; }
|
{ return option_limits == 0; }
|
||||||
Item *item(THD *thd, enum_var_type type, LEX_STRING *base);
|
Item *item(THD *thd, enum_var_type type, LEX_STRING *base);
|
||||||
virtual bool is_struct() { return 0; }
|
virtual bool is_struct() { return 0; }
|
||||||
|
virtual bool is_readonly() const { return 0; }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -699,6 +700,7 @@ public:
|
|||||||
return (*value_ptr_func)(thd);
|
return (*value_ptr_func)(thd);
|
||||||
}
|
}
|
||||||
SHOW_TYPE type() { return show_type; }
|
SHOW_TYPE type() { return show_type; }
|
||||||
|
bool is_readonly() const { return 1; }
|
||||||
};
|
};
|
||||||
|
|
||||||
class sys_var_thd_time_zone :public sys_var_thd
|
class sys_var_thd_time_zone :public sys_var_thd
|
||||||
|
Reference in New Issue
Block a user