summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <jimw@mysql.com>2005-09-02 12:42:00 -0700
committerunknown <jimw@mysql.com>2005-09-02 12:42:00 -0700
commit79ae20bc3a4a4353e1a8b2dd54cbf9eedc2741c4 (patch)
treef19bfa5806b4eb963afec8d537624bfb9ade439c /sql
parent196862dfd94a749ff703e212dc5b62d19dce451d (diff)
parentcbb1da77cf096e4746f0a28ec3b6125133cf9c4b (diff)
downloadmariadb-git-79ae20bc3a4a4353e1a8b2dd54cbf9eedc2741c4.tar.gz
Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into mysql.com:/home/jimw/my/mysql-5.0-clean mysql-test/t/variables.test: Auto merged sql/set_var.cc: Auto merged mysql-test/r/variables.result: Resolve conflict scripts/mysqld_multi.sh: Resolve conflict
Diffstat (limited to 'sql')
-rw-r--r--sql/set_var.cc14
1 files changed, 10 insertions, 4 deletions
diff --git a/sql/set_var.cc b/sql/set_var.cc
index 26912becc81..ea4c08cea27 100644
--- a/sql/set_var.cc
+++ b/sql/set_var.cc
@@ -1725,11 +1725,17 @@ Item *sys_var::item(THD *thd, enum_var_type var_type, LEX_STRING *base)
return new Item_int((int32) *(my_bool*) value_ptr(thd, var_type, base),1);
case SHOW_CHAR:
{
- Item_string *tmp;
+ Item *tmp;
pthread_mutex_lock(&LOCK_global_system_variables);
char *str= (char*) value_ptr(thd, var_type, base);
- tmp= new Item_string(str, strlen(str),
- system_charset_info, DERIVATION_SYSCONST);
+ if (str)
+ tmp= new Item_string(str, strlen(str),
+ system_charset_info, DERIVATION_SYSCONST);
+ else
+ {
+ tmp= new Item_null();
+ tmp->collation.set(system_charset_info, DERIVATION_SYSCONST);
+ }
pthread_mutex_unlock(&LOCK_global_system_variables);
return tmp;
}
@@ -2019,7 +2025,7 @@ byte *sys_var_character_set::value_ptr(THD *thd, enum_var_type type,
LEX_STRING *base)
{
CHARSET_INFO *cs= ci_ptr(thd,type)[0];
- return cs ? (byte*) cs->csname : (byte*) "NULL";
+ return cs ? (byte*) cs->csname : (byte*) NULL;
}