diff options
author | unknown <bar@bar.mysql.r18.ru> | 2002-12-19 09:38:28 +0400 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2002-12-19 09:38:28 +0400 |
commit | b29cc128bfb15a4a81eda0031b0f2e74c862d250 (patch) | |
tree | 00579db9d15214c70bc9b6f49d87a5618c0228e5 | |
parent | a5ba7824e9ce7d73c45758afdd005114ab7ffa05 (diff) | |
download | mariadb-git-b29cc128bfb15a4a81eda0031b0f2e74c862d250.tar.gz |
thd_charset has been moved to variables structure
-rw-r--r-- | sql/field.cc | 14 | ||||
-rw-r--r-- | sql/item.cc | 2 | ||||
-rw-r--r-- | sql/item_strfunc.cc | 4 | ||||
-rw-r--r-- | sql/protocol.cc | 4 | ||||
-rw-r--r-- | sql/sql_analyse.cc | 4 | ||||
-rw-r--r-- | sql/sql_class.cc | 2 | ||||
-rw-r--r-- | sql/sql_class.h | 4 | ||||
-rw-r--r-- | sql/sql_db.cc | 2 | ||||
-rw-r--r-- | sql/sql_show.cc | 2 | ||||
-rw-r--r-- | sql/sql_yacc.yy | 4 |
10 files changed, 21 insertions, 21 deletions
diff --git a/sql/field.cc b/sql/field.cc index abcfd6158ac..a1633370fba 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -1091,7 +1091,7 @@ longlong Field_tiny::val_int(void) String *Field_tiny::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { - CHARSET_INFO *cs=current_thd->thd_charset; + CHARSET_INFO *cs=current_thd->variables.thd_charset; uint length; uint mlength=max(field_length+1,5*cs->mbmaxlen); val_buffer->alloc(mlength); @@ -1330,7 +1330,7 @@ longlong Field_short::val_int(void) String *Field_short::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { - CHARSET_INFO *cs=current_thd->thd_charset; + CHARSET_INFO *cs=current_thd->variables.thd_charset; uint length; uint mlength=max(field_length+1,7*cs->mbmaxlen); val_buffer->alloc(mlength); @@ -1574,7 +1574,7 @@ longlong Field_medium::val_int(void) String *Field_medium::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { - CHARSET_INFO *cs=current_thd->thd_charset; + CHARSET_INFO *cs=current_thd->variables.thd_charset; uint length; uint mlength=max(field_length+1,10*cs->mbmaxlen); val_buffer->alloc(mlength); @@ -1810,7 +1810,7 @@ longlong Field_long::val_int(void) String *Field_long::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { - CHARSET_INFO *cs=current_thd->thd_charset; + CHARSET_INFO *cs=current_thd->variables.thd_charset; uint length; uint mlength=max(field_length+1,12*cs->mbmaxlen); val_buffer->alloc(mlength); @@ -2035,7 +2035,7 @@ longlong Field_longlong::val_int(void) String *Field_longlong::val_str(String *val_buffer, String *val_ptr __attribute__((unused))) { - CHARSET_INFO *cs=current_thd->thd_charset; + CHARSET_INFO *cs=current_thd->variables.thd_charset; uint length; uint mlength=max(field_length+1,22*cs->mbmaxlen); val_buffer->alloc(mlength); @@ -4432,14 +4432,14 @@ int Field_blob::store(const char *from,uint len,CHARSET_INFO *cs) int Field_blob::store(double nr) { - value.set(nr,2,current_thd->thd_charset); + value.set(nr,2,current_thd->variables.thd_charset); return Field_blob::store(value.ptr(),(uint) value.length(), value.charset()); } int Field_blob::store(longlong nr) { - value.set(nr,current_thd->thd_charset); + value.set(nr,current_thd->variables.thd_charset); return Field_blob::store(value.ptr(), (uint) value.length(), value.charset()); } diff --git a/sql/item.cc b/sql/item.cc index d05578c800a..fbe0e27a01c 100644 --- a/sql/item.cc +++ b/sql/item.cc @@ -151,7 +151,7 @@ bool Item::get_time(TIME *ltime) CHARSET_INFO * Item::thd_charset() const { - return current_thd->thd_charset; + return current_thd->variables.thd_charset; } Item_field::Item_field(Field *f) :Item_ident(NullS,f->table_name,f->field_name) diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 473c4538ab1..0b9658a5c2a 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -1383,14 +1383,14 @@ String *Item_func_database::val_str(String *str) str->length(0); else str->copy((const char*) thd->db,(uint) strlen(thd->db), - system_charset_info, thd->thd_charset); + system_charset_info, thd->variables.thd_charset); return str; } String *Item_func_user::val_str(String *str) { THD *thd=current_thd; - CHARSET_INFO *cs=thd->thd_charset; + CHARSET_INFO *cs=thd->variables.thd_charset; const char *host=thd->host ? thd->host : thd->ip ? thd->ip : ""; uint32 res_length=(strlen(thd->user)+strlen(host)+10) * cs->mbmaxlen; diff --git a/sql/protocol.cc b/sql/protocol.cc index 88bfe6831c4..9d7dc66b452 100644 --- a/sql/protocol.cc +++ b/sql/protocol.cc @@ -687,7 +687,7 @@ bool Protocol_simple::store(float from, uint32 decimals, String *buffer) DBUG_ASSERT(field_types == 0 || field_types[field_pos++] == MYSQL_TYPE_FLOAT); #endif - buffer->set((double) from, decimals, thd->thd_charset); + buffer->set((double) from, decimals, thd->variables.thd_charset); return net_store_data(packet,(char*) buffer->ptr(), buffer->length()); } @@ -697,7 +697,7 @@ bool Protocol_simple::store(double from, uint32 decimals, String *buffer) DBUG_ASSERT(field_types == 0 || field_types[field_pos++] == MYSQL_TYPE_DOUBLE); #endif - buffer->set(from, decimals, thd->thd_charset); + buffer->set(from, decimals, thd->variables.thd_charset); return net_store_data(packet,(char*) buffer->ptr(), buffer->length()); } diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc index acd67ad66d7..c1d49fdab51 100644 --- a/sql/sql_analyse.cc +++ b/sql/sql_analyse.cc @@ -898,14 +898,14 @@ int collect_real(double *element, element_count count __attribute__((unused)), TREE_INFO *info) { char buff[MAX_FIELD_WIDTH]; - String s(buff, sizeof(buff),current_thd->thd_charset); + String s(buff, sizeof(buff),current_thd->variables.thd_charset); if (info->found) info->str->append(','); else info->found = 1; info->str->append('\''); - s.set(*element, info->item->decimals, current_thd->thd_charset); + s.set(*element, info->item->decimals, current_thd->variables.thd_charset); info->str->append(s); info->str->append('\''); return 0; diff --git a/sql/sql_class.cc b/sql/sql_class.cc index 345a2e6f34d..9e0489edb28 100644 --- a/sql/sql_class.cc +++ b/sql/sql_class.cc @@ -105,7 +105,6 @@ THD::THD():user_time(0), fatal_error(0), cond_count=0; warn_id= 0; db_charset=default_charset_info; - thd_charset=default_charset_info; mysys_var=0; #ifndef DBUG_OFF dbug_sentry=THD_SENTRY_MAGIC; @@ -190,6 +189,7 @@ void THD::init(void) { pthread_mutex_lock(&LOCK_global_system_variables); variables= global_system_variables; + variables.thd_charset=default_charset_info; pthread_mutex_unlock(&LOCK_global_system_variables); server_status= SERVER_STATUS_AUTOCOMMIT; options= thd_startup_options; diff --git a/sql/sql_class.h b/sql/sql_class.h index 50ab7919998..7ca66d9ffb7 100644 --- a/sql/sql_class.h +++ b/sql/sql_class.h @@ -373,7 +373,8 @@ struct system_variables my_bool log_warnings; my_bool low_priority_updates; - CONVERT *convert_set; + CONVERT *convert_set; + CHARSET_INFO *thd_charset; }; @@ -487,7 +488,6 @@ public: table_map used_tables; USER_CONN *user_connect; CHARSET_INFO *db_charset; - CHARSET_INFO *thd_charset; List<Item> *possible_loops; // Items that may cause loops in subselects List <MYSQL_ERROR> warn_list; uint warn_count[(uint) MYSQL_ERROR::WARN_LEVEL_END]; diff --git a/sql/sql_db.cc b/sql/sql_db.cc index bca133bd63a..311bf29aee7 100644 --- a/sql/sql_db.cc +++ b/sql/sql_db.cc @@ -599,7 +599,7 @@ bool mysql_change_db(THD *thd, const char *name) strmov(path+unpack_dirname(path,path), MY_DB_OPT_FILE); load_db_opt(path, &create); thd->db_charset=create.table_charset; - thd->thd_charset=thd->db_charset ? thd->db_charset : default_charset_info; + thd->variables.thd_charset=thd->db_charset ? thd->db_charset : default_charset_info; DBUG_RETURN(0); } diff --git a/sql/sql_show.cc b/sql/sql_show.cc index 791e08dffda..ebade0111b0 100644 --- a/sql/sql_show.cc +++ b/sql/sql_show.cc @@ -713,7 +713,7 @@ mysqld_show_fields(THD *thd, TABLE_LIST *table_list,const char *wild, { byte *pos; uint flags=field->flags; - String type(tmp,sizeof(tmp),current_thd->thd_charset); + String type(tmp,sizeof(tmp),current_thd->variables.thd_charset); uint col_access; bool null_default_value=0; diff --git a/sql/sql_yacc.yy b/sql/sql_yacc.yy index bf1fe751719..55f165c0739 100644 --- a/sql/sql_yacc.yy +++ b/sql/sql_yacc.yy @@ -3600,13 +3600,13 @@ opt_ignore_lines: /* Common definitions */ text_literal: - TEXT_STRING { $$ = new Item_string($1.str,$1.length,YYTHD->thd_charset); } + TEXT_STRING { $$ = new Item_string($1.str,$1.length,YYTHD->variables.thd_charset); } | UNDERSCORE_CHARSET TEXT_STRING { $$ = new Item_string($2.str,$2.length,Lex->charset); } | text_literal TEXT_STRING { ((Item_string*) $1)->append($2.str,$2.length); }; text_string: - TEXT_STRING { $$= new String($1.str,$1.length,YYTHD->thd_charset); } + TEXT_STRING { $$= new String($1.str,$1.length,YYTHD->variables.thd_charset); } | HEX_NUM { Item *tmp = new Item_varbinary($1.str,$1.length); |