summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <kaa@polly.(none)>2007-10-21 21:49:30 +0400
committerunknown <kaa@polly.(none)>2007-10-21 21:49:30 +0400
commite259d46103f743de343c78e4a88b13ebd274e05a (patch)
treed0a17901d9ed2d7e6d02a4df7cec6357779e99ee /sql
parent666efa1c43344a0b4dbe815e57333647d4d8f2b3 (diff)
parent04311fabaa11105743ce124de283cd504c978cc4 (diff)
downloadmariadb-git-e259d46103f743de343c78e4a88b13ebd274e05a.tar.gz
Merge polly.(none):/home/kaa/src/opt/bug28550/my50-bug28550
into polly.(none):/home/kaa/src/opt/bug28550/my51-bug28550 mysql-test/t/func_str.test: Auto merged sql/item.cc: Auto merged sql/item.h: Auto merged sql/item_strfunc.h: Auto merged mysql-test/r/func_str.result: Manual merge.
Diffstat (limited to 'sql')
-rw-r--r--sql/item.cc13
-rw-r--r--sql/item.h1
-rw-r--r--sql/item_strfunc.h2
3 files changed, 15 insertions, 1 deletions
diff --git a/sql/item.cc b/sql/item.cc
index 6fe1fbd62e2..ad3079b6e1a 100644
--- a/sql/item.cc
+++ b/sql/item.cc
@@ -4903,6 +4903,19 @@ warn:
}
+void Item_hex_string::print(String *str)
+{
+ char *end= (char*) str_value.ptr() + str_value.length(),
+ *ptr= end - min(str_value.length(), sizeof(longlong));
+ str->append("0x");
+ for (; ptr != end ; ptr++)
+ {
+ str->append(_dig_vec_lower[((uchar) *ptr) >> 4]);
+ str->append(_dig_vec_lower[((uchar) *ptr) & 0x0F]);
+ }
+}
+
+
bool Item_hex_string::eq(const Item *arg, bool binary_cmp) const
{
if (arg->basic_const_item() && arg->type() == type())
diff --git a/sql/item.h b/sql/item.h
index 38dd0599a35..c8294eabb6a 100644
--- a/sql/item.h
+++ b/sql/item.h
@@ -2024,6 +2024,7 @@ public:
enum_field_types field_type() const { return MYSQL_TYPE_VARCHAR; }
// to prevent drop fixed flag (no need parent cleanup call)
void cleanup() {}
+ void print(String *str);
bool eq(const Item *item, bool binary_cmp) const;
virtual Item *safe_charset_converter(CHARSET_INFO *tocs);
bool check_partition_func_processor(uchar *int_arg) {return FALSE;}
diff --git a/sql/item_strfunc.h b/sql/item_strfunc.h
index 30a9ba4492d..1a264fa2c01 100644
--- a/sql/item_strfunc.h
+++ b/sql/item_strfunc.h
@@ -508,7 +508,7 @@ public:
String *val_str(String *);
void fix_length_and_dec()
{
- max_length= arg_count * collation.collation->mbmaxlen;
+ max_length= arg_count * 4;
}
const char *func_name() const { return "char"; }
};