summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormonty@mashka.mysql.fi <>2003-10-14 16:34:09 +0300
committermonty@mashka.mysql.fi <>2003-10-14 16:34:09 +0300
commite71b53a8fec86ee65c136a9447b56361cbf918fb (patch)
treefdb204f80367a263e33eecdadf745cf9da5f66e1
parent461d1627b3323935345b13fe523f93dc74de9f36 (diff)
parent2d3840f55073f2b8504fe3f543270fb6b18fc1ea (diff)
downloadmariadb-git-e71b53a8fec86ee65c136a9447b56361cbf918fb.tar.gz
merge with 4.0 to get fix for SET enum_system_variable=NULL
-rw-r--r--.bzrignore1
-rw-r--r--mysql-test/r/variables.result2
-rw-r--r--mysql-test/t/variables.test2
-rw-r--r--sql/set_var.cc11
4 files changed, 11 insertions, 5 deletions
diff --git a/.bzrignore b/.bzrignore
index 3dc7f26cfbe..27f32040bc8 100644
--- a/.bzrignore
+++ b/.bzrignore
@@ -515,6 +515,7 @@ scripts/fill_func_tables.sql
scripts/fill_help_tables
scripts/fill_help_tables.sql
scripts/make_binary_distribution
+scripts/make_sharedlib_distribution
scripts/make_win_src_distribution
scripts/msql2mysql
scripts/mysql_config
diff --git a/mysql-test/r/variables.result b/mysql-test/r/variables.result
index 30eb18dc7ed..3674d058bee 100644
--- a/mysql-test/r/variables.result
+++ b/mysql-test/r/variables.result
@@ -234,6 +234,8 @@ set myisam_max_sort_file_size=100;
ERROR HY000: Variable 'myisam_max_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL
set myisam_max_extra_sort_file_size=100;
ERROR HY000: Variable 'myisam_max_extra_sort_file_size' is a GLOBAL variable and should be set with SET GLOBAL
+set @@SQL_WARNINGS=NULL;
+ERROR HY000: Variable 'sql_warnings' can't be set to the value of 'NULL'
set autocommit=1;
set big_tables=1;
select @@autocommit, @@big_tables;
diff --git a/mysql-test/t/variables.test b/mysql-test/t/variables.test
index 7b5456e1895..396fb3ac722 100644
--- a/mysql-test/t/variables.test
+++ b/mysql-test/t/variables.test
@@ -150,6 +150,8 @@ select @@global.sql_auto_is_null;
set myisam_max_sort_file_size=100;
--error 1229
set myisam_max_extra_sort_file_size=100;
+--error 1231
+set @@SQL_WARNINGS=NULL;
# Test setting all variables
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 8f1193263ee..1a2c5d6ac9e 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -464,9 +464,9 @@ sys_var *sys_variables[]=
&sys_quote_show_create,
&sys_rand_seed1,
&sys_rand_seed2,
+ &sys_range_alloc_block_size,
&sys_read_buff_size,
&sys_read_rnd_buff_size,
- &sys_range_alloc_block_size,
#ifdef HAVE_REPLICATION
&sys_relay_log_purge,
#endif
@@ -657,11 +657,11 @@ struct show_var_st init_vars[]= {
{"secure_auth", (char*) &sys_secure_auth, SHOW_SYS},
#endif /* HAVE_QUERY_CACHE */
{sys_query_prealloc_size.name, (char*) &sys_query_prealloc_size, SHOW_SYS},
+ {sys_range_alloc_block_size.name, (char*) &sys_range_alloc_block_size,
+ SHOW_SYS},
{sys_read_buff_size.name, (char*) &sys_read_buff_size, SHOW_SYS},
{sys_readonly.name, (char*) &sys_readonly, SHOW_SYS},
{sys_read_rnd_buff_size.name,(char*) &sys_read_rnd_buff_size, SHOW_SYS},
- {sys_range_alloc_block_size.name, (char*) &sys_range_alloc_block_size,
- SHOW_SYS},
#ifdef HAVE_REPLICATION
{sys_relay_log_purge.name, (char*) &sys_relay_log_purge, SHOW_SYS},
#endif
@@ -1107,7 +1107,8 @@ byte *sys_var_thd_bool::value_ptr(THD *thd, enum_var_type type,
bool sys_var::check_enum(THD *thd, set_var *var, TYPELIB *enum_names)
{
- char buff[80], *value;
+ char buff[80];
+ const char *value;
String str(buff, sizeof(buff), system_charset_info), *res;
if (var->value->result_type() == STRING_RESULT)
@@ -1117,7 +1118,7 @@ bool sys_var::check_enum(THD *thd, set_var *var, TYPELIB *enum_names)
(ulong) find_type(res->c_ptr(), enum_names, 3)-1))
< 0)
{
- value=res->c_ptr();
+ value= res ? res->c_ptr() : "NULL";
goto err;
}
}