summaryrefslogtreecommitdiff
path: root/sql/item_strfunc.h
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-08-11 11:51:33 +0300
committerunknown <bell@sanja.is.com.ua>2003-08-11 11:51:33 +0300
commite64769909ce410eb052c26ed09875b34a653c1aa (patch)
treecc66619bf32dd812402d0ab049143317f87a272c /sql/item_strfunc.h
parent6181294dab759a6f5197573f164ee061668b1d18 (diff)
parentb9aa175cb282ce92e733412a74e23ba750f8dd80 (diff)
downloadmariadb-git-e64769909ce410eb052c26ed09875b34a653c1aa.tar.gz
merge
sql/item.h: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_func.cc: Auto merged sql/item_strfunc.h: Auto merged sql/item_sum.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_derived.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_union.cc: Auto merged sql/table.h: Auto merged
Diffstat (limited to 'sql/item_strfunc.h')
-rw-r--r--sql/item_strfunc.h26
1 files changed, 12 insertions, 14 deletions
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 4225dd43b12..f64a145b136 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -153,7 +153,7 @@ public:
Item_str_conv(Item *item) :Item_str_func(item) {}
void fix_length_and_dec()
{
- set_charset(*args[0]);
+ collation.set(args[0]->collation);
max_length = args[0]->max_length;
}
};
@@ -335,12 +335,11 @@ public:
class Item_func_database :public Item_str_func
{
public:
- Item_func_database() { set_charset(DERIVATION_IMPLICIT); }
+ Item_func_database() { collation.set(system_charset_info,DERIVATION_IMPLICIT); }
String *val_str(String *);
void fix_length_and_dec()
{
max_length= MAX_FIELD_NAME * system_charset_info->mbmaxlen;
- set_charset(system_charset_info);
}
const char *func_name() const { return "database"; }
};
@@ -348,12 +347,11 @@ public:
class Item_func_user :public Item_str_func
{
public:
- Item_func_user() { set_charset(DERIVATION_IMPLICIT); }
+ Item_func_user() { collation.set(system_charset_info, DERIVATION_IMPLICIT); }
String *val_str(String *);
void fix_length_and_dec()
{
max_length= (USERNAME_LENGTH+HOSTNAME_LENGTH+1)*system_charset_info->mbmaxlen;
- set_charset(system_charset_info);
}
const char *func_name() const { return "user"; }
};
@@ -418,7 +416,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- set_charset(default_charset());
+ collation.set(default_charset());
max_length=args[0]->max_length+(args[0]->max_length-args[0]->decimals)/3;
}
const char *func_name() const { return "format"; }
@@ -432,7 +430,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- set_charset(default_charset());
+ collation.set(default_charset());
maybe_null=0; max_length=arg_count;
}
const char *func_name() const { return "char"; }
@@ -482,7 +480,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- set_charset(default_charset());
+ collation.set(default_charset());
decimals=0; max_length=64;
}
};
@@ -497,7 +495,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- set_charset(default_charset());
+ collation.set(default_charset());
decimals=0; max_length=args[0]->max_length*2;
}
};
@@ -518,7 +516,7 @@ public:
}
void fix_length_and_dec()
{
- set_charset(&my_charset_bin);
+ collation.set(&my_charset_bin);
max_length=args[0]->max_length;
}
void print(String *str) { print_op(str); }
@@ -534,7 +532,7 @@ public:
const char *func_name() const { return "load_file"; }
void fix_length_and_dec()
{
- set_charset(&my_charset_bin, DERIVATION_COERCIBLE);
+ collation.set(&my_charset_bin, DERIVATION_COERCIBLE);
maybe_null=1;
max_length=MAX_BLOB_WIDTH;
}
@@ -571,7 +569,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- set_charset(*args[0]);
+ collation.set(args[0]->collation);
max_length= args[0]->max_length * 2 + 2;
}
};
@@ -616,7 +614,7 @@ public:
void fix_length_and_dec()
{
max_length=40; // should be enough
- set_charset(default_charset());
+ collation.set(system_charset_info);
};
};
@@ -629,6 +627,6 @@ public:
void fix_length_and_dec()
{
max_length=40; // should be enough
- set_charset(default_charset());
+ collation.set(system_charset_info);
};
};