summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <bar@bar.mysql.r18.ru>2003-03-07 13:39:53 +0400
committerunknown <bar@bar.mysql.r18.ru>2003-03-07 13:39:53 +0400
commit9f6256563c4bcff6384806fb5179e74f2e31fbb8 (patch)
treeaad2b3d8c731a6fa3ab1d7dc7fcd68a827d8313b
parentfb4ee80cfd5f8705dd3fdb5b592d78d4ab1e14b7 (diff)
downloadmariadb-git-9f6256563c4bcff6384806fb5179e74f2e31fbb8.tar.gz
item_func.cc, item_cmpfunc.cc, unireg.cc, table.cc, sql_base.cc:
some default_charset_info were removed sql/sql_base.cc: some default_charset_info were removed sql/table.cc: some default_charset_info were removed sql/unireg.cc: some default_charset_info were removed sql/item_cmpfunc.cc: some default_charset_info were removed sql/item_func.cc: some default_charset_info were removed
-rw-r--r--sql/item_cmpfunc.cc10
-rw-r--r--sql/item_func.cc2
-rw-r--r--sql/sql_base.cc5
-rw-r--r--sql/table.cc2
-rw-r--r--sql/unireg.cc6
5 files changed, 12 insertions, 13 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 3ca3a556658..ec3c7f22556 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -1114,7 +1114,7 @@ int in_vector::find(Item *item)
in_string::in_string(uint elements,qsort_cmp cmp_func)
:in_vector(elements, sizeof(String), cmp_func),
- tmp(buff, sizeof(buff), default_charset_info)
+ tmp(buff, sizeof(buff), &my_charset_bin)
{}
in_string::~in_string()
@@ -1137,7 +1137,7 @@ void in_string::set(uint pos,Item *item)
{
CHARSET_INFO *cs;
if (!(cs= item->charset()))
- cs= default_charset_info; // Should never happen for STR items
+ cs= &my_charset_bin; // Should never happen for STR items
str->set_charset(cs);
}
}
@@ -1840,7 +1840,7 @@ Item_func_regex::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
if (!regex_compiled && args[1]->const_item())
{
char buff[MAX_FIELD_WIDTH];
- String tmp(buff,sizeof(buff),default_charset_info);
+ String tmp(buff,sizeof(buff),&my_charset_bin);
String *res=args[1]->val_str(&tmp);
if (args[1]->null_value)
{ // Will always return NULL
@@ -1870,7 +1870,7 @@ Item_func_regex::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
longlong Item_func_regex::val_int()
{
char buff[MAX_FIELD_WIDTH];
- String *res, tmp(buff,sizeof(buff),default_charset_info);
+ String *res, tmp(buff,sizeof(buff),&my_charset_bin);
res=args[0]->val_str(&tmp);
if (args[0]->null_value)
@@ -1881,7 +1881,7 @@ longlong Item_func_regex::val_int()
if (!regex_is_const)
{
char buff2[MAX_FIELD_WIDTH];
- String *res2, tmp2(buff2,sizeof(buff2),default_charset_info);
+ String *res2, tmp2(buff2,sizeof(buff2),&my_charset_bin);
res2= args[1]->val_str(&tmp2);
if (args[1]->null_value)
diff --git a/sql/item_func.cc b/sql/item_func.cc
index 53d15e838b2..da5e9cbb89c 100644
--- a/sql/item_func.cc
+++ b/sql/item_func.cc
@@ -1545,7 +1545,7 @@ String *udf_handler::val_str(String *str,String *save_str)
str->length(res_length);
return str;
}
- save_str->set(res, res_length, default_charset_info);
+ save_str->set(res, res_length, str->charset());
return save_str;
}
diff --git a/sql/sql_base.cc b/sql/sql_base.cc
index d3a049a11da..79f0e7eb269 100644
--- a/sql/sql_base.cc
+++ b/sql/sql_base.cc
@@ -2292,8 +2292,7 @@ int mysql_create_index(THD *thd, TABLE_LIST *table_list, List<Key> &keys)
DBUG_ENTER("mysql_create_index");
bzero((char*) &create_info,sizeof(create_info));
create_info.db_type=DB_TYPE_DEFAULT;
- /* TODO: Fix to use database character set */
- create_info.table_charset=default_charset_info;
+ create_info.table_charset= thd->db_charset;
DBUG_RETURN(mysql_alter_table(thd,table_list->db,table_list->real_name,
&create_info, table_list,
fields, keys, drop, alter, 0, (ORDER*)0, FALSE,
@@ -2310,7 +2309,7 @@ int mysql_drop_index(THD *thd, TABLE_LIST *table_list, List<Alter_drop> &drop)
DBUG_ENTER("mysql_drop_index");
bzero((char*) &create_info,sizeof(create_info));
create_info.db_type=DB_TYPE_DEFAULT;
- create_info.table_charset=default_charset_info;
+ create_info.table_charset= thd->db_charset;
DBUG_RETURN(mysql_alter_table(thd,table_list->db,table_list->real_name,
&create_info, table_list,
fields, keys, drop, alter, 0, (ORDER*)0, FALSE,
diff --git a/sql/table.cc b/sql/table.cc
index dd5a957f984..08f6e29489d 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -1162,7 +1162,7 @@ rename_file_ext(const char * from,const char * to,const char * ext)
char *get_field(MEM_ROOT *mem, Field *field)
{
char buff[MAX_FIELD_WIDTH];
- String str(buff,sizeof(buff),default_charset_info);
+ String str(buff,sizeof(buff),&my_charset_bin);
field->val_str(&str,&str);
uint length=str.length();
if (!length)
diff --git a/sql/unireg.cc b/sql/unireg.cc
index 1cd38d4d161..fa843fe5d1e 100644
--- a/sql/unireg.cc
+++ b/sql/unireg.cc
@@ -486,7 +486,7 @@ static bool pack_fields(File file,List<create_field> &create_fields)
/* Write intervals */
if (int_count)
{
- String tmp((char*) buff,sizeof(buff), default_charset_info);
+ String tmp((char*) buff,sizeof(buff), &my_charset_bin);
tmp.length(0);
it.rewind();
int_count=0;
@@ -598,9 +598,9 @@ static bool make_empty_rec(File file,enum db_type table_type,
regfield->store((longlong) 1);
}
else if (type == Field::YES) // Old unireg type
- regfield->store(ER(ER_YES),(uint) strlen(ER(ER_YES)),default_charset_info);
+ regfield->store(ER(ER_YES),(uint) strlen(ER(ER_YES)),system_charset_info);
else if (type == Field::NO) // Old unireg type
- regfield->store(ER(ER_NO), (uint) strlen(ER(ER_NO)),default_charset_info);
+ regfield->store(ER(ER_NO), (uint) strlen(ER(ER_NO)),system_charset_info);
else
regfield->reset();
delete regfield;