diff options
author | unknown <bar@bar.mysql.r18.ru> | 2003-03-13 15:34:46 +0400 |
---|---|---|
committer | unknown <bar@bar.mysql.r18.ru> | 2003-03-13 15:34:46 +0400 |
commit | bfaa1d9a2b23e859809ec6f2c9c8303bd47b4932 (patch) | |
tree | 4a17e16683d05adb365b758c5cb48b74c293d367 /sql | |
parent | dd93a7994ae99a05e57bee815eae718ef88c00ca (diff) | |
download | mariadb-git-bfaa1d9a2b23e859809ec6f2c9c8303bd47b4932.tar.gz |
filesort.cc, sql_analyse.cc, item_func.cc, item_strfunc.cc, field.cc:
Unnesessary binary() calls have been removed
sql/field.cc:
Unnesessary binary() calls have been removed
sql/item_strfunc.cc:
Unnesessary binary() calls have been removed
sql/item_func.cc:
Unnesessary binary() calls have been removed
sql/sql_analyse.cc:
Unnesessary binary() calls have been removed
sql/filesort.cc:
Unnesessary binary() calls have been removed
Diffstat (limited to 'sql')
-rw-r--r-- | sql/field.cc | 2 | ||||
-rw-r--r-- | sql/filesort.cc | 31 | ||||
-rw-r--r-- | sql/item_func.cc | 4 | ||||
-rw-r--r-- | sql/item_strfunc.cc | 10 | ||||
-rw-r--r-- | sql/sql_analyse.cc | 8 |
5 files changed, 24 insertions, 31 deletions
diff --git a/sql/field.cc b/sql/field.cc index 5a8cbdfbb1c..133d7a6c21a 100644 --- a/sql/field.cc +++ b/sql/field.cc @@ -5163,7 +5163,7 @@ void Field_set::sql_type(String &res) const bool Field::eq_def(Field *field) { - if (real_type() != field->real_type() || binary() != field->binary() || + if (real_type() != field->real_type() || charset() != field->charset() || pack_length() != field->pack_length()) return 0; return 1; diff --git a/sql/filesort.cc b/sql/filesort.cc index 6bc0fc957a9..cc7b15f1f4a 100644 --- a/sql/filesort.cc +++ b/sql/filesort.cc @@ -507,8 +507,7 @@ static void make_sortkey(register SORTPARAM *param, if (res->ptr() != (char*) to) memcpy(to,res->ptr(),length); bzero((char *)to+length,diff); - if (!item->binary()) - my_tosort(cs, (char*) to,length); + my_tosort(cs, (char*) to,length); } break; } @@ -918,6 +917,7 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset) { reg2 uint length; THD *thd= current_thd; + CHARSET_INFO *cs; *multi_byte_charset= 0; length=0; @@ -926,20 +926,17 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset) sortorder->need_strxnfrm= 0; if (sortorder->field) { + if (sortorder->field->type() == FIELD_TYPE_BLOB) sortorder->length= thd->variables.max_sort_length; else { sortorder->length=sortorder->field->pack_length(); - if (!sortorder->field->binary()) + if (use_strnxfrm((cs=sortorder->field->charset()))) { - CHARSET_INFO *cs=sortorder->field->charset(); - if (use_strnxfrm(cs)) - { - sortorder->need_strxnfrm= 1; - *multi_byte_charset= 1; - sortorder->length= sortorder->length*cs->strxfrm_multiply; - } + sortorder->need_strxnfrm= 1; + *multi_byte_charset= 1; + sortorder->length= sortorder->length*cs->strxfrm_multiply; } } if (sortorder->field->maybe_null()) @@ -950,15 +947,11 @@ sortlength(SORT_FIELD *sortorder, uint s_length, bool *multi_byte_charset) switch ((sortorder->result_type=sortorder->item->result_type())) { case STRING_RESULT: sortorder->length=sortorder->item->max_length; - if (!sortorder->item->binary()) - { - CHARSET_INFO *cs=sortorder->item->charset(); - if (use_strnxfrm(cs)) - { - sortorder->length= sortorder->length*cs->strxfrm_multiply; - sortorder->need_strxnfrm= 1; - *multi_byte_charset= 1; - } + if (use_strnxfrm((cs=sortorder->item->charset()))) + { + sortorder->length= sortorder->length*cs->strxfrm_multiply; + sortorder->need_strxnfrm= 1; + *multi_byte_charset= 1; } break; case INT_RESULT: diff --git a/sql/item_func.cc b/sql/item_func.cc index da5e9cbb89c..0361fd0db65 100644 --- a/sql/item_func.cc +++ b/sql/item_func.cc @@ -1024,7 +1024,7 @@ longlong Item_func_char_length::val_int() return 0; /* purecov: inspected */ } null_value=0; - return (longlong) (!args[0]->binary()) ? res->numchars() : res->length(); + return (longlong) res->numchars(); } longlong Item_func_coercibility::val_int() @@ -1156,7 +1156,7 @@ longlong Item_func_ord::val_int() null_value=0; if (!res->length()) return 0; #ifdef USE_MB - if (use_mb(res->charset()) && !args[0]->binary()) + if (use_mb(res->charset())) { register const char *str=res->ptr(); register uint32 n=0, l=my_ismbchar(res->charset(),str,str+res->length()); diff --git a/sql/item_strfunc.cc b/sql/item_strfunc.cc index 5738f217063..f049c13c974 100644 --- a/sql/item_strfunc.cc +++ b/sql/item_strfunc.cc @@ -650,7 +650,7 @@ String *Item_func_reverse::val_str(String *str) ptr = (char *) res->ptr(); end=ptr+res->length(); #ifdef USE_MB - if (use_mb(res->charset()) && !binary()) + if (use_mb(res->charset())) { String tmpstr; tmpstr.copy(*res); @@ -1015,7 +1015,7 @@ String *Item_func_substr_index::val_str(String *str) return &empty_string; // Wrong parameters #ifdef USE_MB - if (use_mb(res->charset()) && !binary()) + if (use_mb(res->charset())) { const char *ptr=res->ptr(); const char *strend = ptr+res->length(); @@ -1169,7 +1169,7 @@ String *Item_func_rtrim::val_str(String *str) { char chr=(*remove_str)[0]; #ifdef USE_MB - if (use_mb(res->charset()) && !binary()) + if (use_mb(res->charset())) { while (ptr < end) { @@ -1186,7 +1186,7 @@ String *Item_func_rtrim::val_str(String *str) { const char *r_ptr=remove_str->ptr(); #ifdef USE_MB - if (use_mb(res->charset()) && !binary()) + if (use_mb(res->charset())) { loop: while (ptr + remove_length < end) @@ -1237,7 +1237,7 @@ String *Item_func_trim::val_str(String *str) while (ptr+remove_length <= end && !memcmp(ptr,r_ptr,remove_length)) ptr+=remove_length; #ifdef USE_MB - if (use_mb(res->charset()) && !binary()) + if (use_mb(res->charset())) { char *p=ptr; register uint32 l; diff --git a/sql/sql_analyse.cc b/sql/sql_analyse.cc index 36464126ae5..d121a151011 100644 --- a/sql/sql_analyse.cc +++ b/sql/sql_analyse.cc @@ -732,7 +732,7 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows) { if (must_be_blob) { - if (item->binary()) + if (item->charset() == &my_charset_bin) answer->append("TINYBLOB", 8); else answer->append("TINYTEXT", 8); @@ -750,21 +750,21 @@ void field_str::get_opt_type(String *answer, ha_rows total_rows) } else if (max_length < (1L << 16)) { - if (item->binary()) + if (item->charset() == &my_charset_bin) answer->append("BLOB", 4); else answer->append("TEXT", 4); } else if (max_length < (1L << 24)) { - if (item->binary()) + if (item->charset() == &my_charset_bin) answer->append("MEDIUMBLOB", 10); else answer->append("MEDIUMTEXT", 10); } else { - if (item->binary()) + if (item->charset() == &my_charset_bin) answer->append("LONGBLOB", 8); else answer->append("LONGTEXT", 8); |