diff options
author | unknown <monty@mashka.mysql.fi> | 2002-11-25 17:33:51 +0200 |
---|---|---|
committer | unknown <monty@mashka.mysql.fi> | 2002-11-25 17:33:51 +0200 |
commit | 1b9becc35824401f22b4e7c2b2f9b3dab5348fe9 (patch) | |
tree | 5b47ce28ff625bae821d7bbc89fc86a74bc810a1 /sql/item_strfunc.cc | |
parent | 0985653c1f820badb4ab642fe8e9f1287fd20656 (diff) | |
download | mariadb-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.cc | 11 |
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; } |