Commit a8dbdbe9 authored by unknown's avatar unknown

workaround (bug #9613: Some read-only variables are selectable, others are not).


sql/set_var.cc:
  workaround (bug #9613: Some read-only variables are selectable, others are not).
  sys_have_innodb variable added.
parent 7b8ab0e1
...@@ -491,3 +491,6 @@ SHOW VARIABLES LIKE 'table_cache'; ...@@ -491,3 +491,6 @@ SHOW VARIABLES LIKE 'table_cache';
Variable_name Value Variable_name Value
table_cache 1 table_cache 1
SET GLOBAL table_cache=DEFAULT; SET GLOBAL table_cache=DEFAULT;
select @@have_innodb;
@@have_innodb
#
...@@ -381,3 +381,10 @@ SHOW VARIABLES LIKE 'table_cache'; ...@@ -381,3 +381,10 @@ SHOW VARIABLES LIKE 'table_cache';
SET GLOBAL table_cache=DEFAULT; SET GLOBAL table_cache=DEFAULT;
# End of 4.1 tests # End of 4.1 tests
#
# Bug #9613: @@have_innodb
#
--replace_column 1 #
select @@have_innodb;
...@@ -118,6 +118,7 @@ static KEY_CACHE *create_key_cache(const char *name, uint length); ...@@ -118,6 +118,7 @@ static KEY_CACHE *create_key_cache(const char *name, uint length);
void fix_sql_mode_var(THD *thd, enum_var_type type); void fix_sql_mode_var(THD *thd, enum_var_type type);
static byte *get_error_count(THD *thd); static byte *get_error_count(THD *thd);
static byte *get_warning_count(THD *thd); static byte *get_warning_count(THD *thd);
static byte *get_have_innodb(THD *thd);
/* /*
Variable definition list Variable definition list
...@@ -484,6 +485,8 @@ sys_var_thd_time_zone sys_time_zone("time_zone"); ...@@ -484,6 +485,8 @@ sys_var_thd_time_zone sys_time_zone("time_zone");
/* Read only variables */ /* Read only variables */
sys_var_const_str sys_os("version_compile_os", SYSTEM_TYPE); sys_var_const_str sys_os("version_compile_os", SYSTEM_TYPE);
sys_var_readonly sys_have_innodb("have_innodb", OPT_GLOBAL,
SHOW_CHAR, get_have_innodb);
/* Global read-only variable describing server license */ /* Global read-only variable describing server license */
sys_var_const_str sys_license("license", STRINGIFY_ARG(LICENSE)); sys_var_const_str sys_license("license", STRINGIFY_ARG(LICENSE));
...@@ -529,6 +532,7 @@ sys_var *sys_variables[]= ...@@ -529,6 +532,7 @@ sys_var *sys_variables[]=
&sys_ft_boolean_syntax, &sys_ft_boolean_syntax,
&sys_foreign_key_checks, &sys_foreign_key_checks,
&sys_group_concat_max_len, &sys_group_concat_max_len,
&sys_have_innodb,
&sys_identity, &sys_identity,
&sys_init_connect, &sys_init_connect,
&sys_init_slave, &sys_init_slave,
...@@ -2614,6 +2618,12 @@ static byte *get_error_count(THD *thd) ...@@ -2614,6 +2618,12 @@ static byte *get_error_count(THD *thd)
} }
static byte *get_have_innodb(THD *thd)
{
return (byte*) show_comp_option_name[have_innodb];
}
/**************************************************************************** /****************************************************************************
Main handling of variables: Main handling of variables:
- Initialisation - Initialisation
......
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