summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.cc
diff options
context:
space:
mode:
authorunknown <monty@mashka.mysql.fi>2002-11-25 17:33:51 +0200
committerunknown <monty@mashka.mysql.fi>2002-11-25 17:33:51 +0200
commit1b9becc35824401f22b4e7c2b2f9b3dab5348fe9 (patch)
tree5b47ce28ff625bae821d7bbc89fc86a74bc810a1 /sql/item_strfunc.cc
parent0985653c1f820badb4ab642fe8e9f1287fd20656 (diff)
downloadmariadb-git-1b9becc35824401f22b4e7c2b2f9b3dab5348fe9.tar.gz
Fixed CAST( xxx as CHAR)
sql/item.h: Made some virtual functions non virtual (as they are not used virtually) sql/item_strfunc.cc: Optimizations. sql/item_strfunc.h: Fixed BINARY handling sql/sql_string.h: Indentation cleanups
Diffstat (limited to 'sql/item_strfunc.cc')
-rw-r--r--sql/item_strfunc.cc11
1 files changed, 7 insertions, 4 deletions
diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc
index 1a561c9eb34..34c89a49e8a 100644
--- a/sql/item_strfunc.cc
+++ b/sql/item_strfunc.cc
@@ -1363,17 +1363,19 @@ String *Item_func_decode::val_str(String *str)
String *Item_func_database::val_str(String *str)
{
- if (!current_thd->db)
+ THD *thd= current_thd;
+ if (!thd->db)
str->length(0);
else
- str->copy((const char*) current_thd->db,(uint) strlen(current_thd->db), system_charset_info, thd_charset());
+ str->copy((const char*) thd->db,(uint) strlen(thd->db),
+ system_charset_info, thd->thd_charset);
return str;
}
String *Item_func_user::val_str(String *str)
{
THD *thd=current_thd;
- CHARSET_INFO *cs=thd_charset();
+ CHARSET_INFO *cs=thd->thd_charset;
const char *host=thd->host ? thd->host : thd->ip ? thd->ip : "";
uint32 res_length=(strlen(thd->user)+strlen(host)+10) * cs->mbmaxlen;
@@ -2128,7 +2130,8 @@ String *Item_func_charset::val_str(String *str)
if ((null_value=(args[0]->null_value || !res->charset())))
return 0;
- str->copy(res->charset()->name,strlen(res->charset()->name),my_charset_latin1,thd_charset());
+ str->copy(res->charset()->name,strlen(res->charset()->name),
+ my_charset_latin1, thd_charset());
return str;
}