summaryrefslogtreecommitdiff
path: root/sql/item_cmpfunc.cc
diff options
context:
space:
mode:
authorunknown <bell@sanja.is.com.ua>2003-07-03 11:59:57 +0300
committerunknown <bell@sanja.is.com.ua>2003-07-03 11:59:57 +0300
commit01eb6a4a223ece65c7ff1c9124f4d4b528d579b9 (patch)
tree649a5b402d0e779673e8295b10098046a53e6799 /sql/item_cmpfunc.cc
parent69be8b9d64e0a4e3f3374fd2cb3124b7deaa25a3 (diff)
parent9f6614292b8061063e709147b1282dda84c7f018 (diff)
downloadmariadb-git-01eb6a4a223ece65c7ff1c9124f4d4b528d579b9.tar.gz
merged
mysql-test/r/subselect.result: Auto merged mysql-test/t/subselect.test: Auto merged sql/item.cc: Auto merged sql/item_cmpfunc.cc: Auto merged sql/item_cmpfunc.h: Auto merged sql/item_func.cc: Auto merged sql/item_subselect.cc: Auto merged sql/mysql_priv.h: Auto merged sql/sql_lex.cc: Auto merged sql/sql_lex.h: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged sql/sql_yacc.yy: Auto merged
Diffstat (limited to 'sql/item_cmpfunc.cc')
-rw-r--r--sql/item_cmpfunc.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/sql/item_cmpfunc.cc b/sql/item_cmpfunc.cc
index 8eb456c6227..22e03ec7d28 100644
--- a/sql/item_cmpfunc.cc
+++ b/sql/item_cmpfunc.cc
@@ -388,12 +388,7 @@ bool Item_in_optimizer::fix_fields(THD *thd, struct st_table_list *tables,
return 1;
if (args[0]->maybe_null)
maybe_null=1;
- /*
- TODO: Check if following is right
- (set_charset set type of result, not how compare should be used)
- */
- if (args[0]->binary())
- set_charset(&my_charset_bin);
+
with_sum_func= args[0]->with_sum_func;
used_tables_cache= args[0]->used_tables();
const_item_cache= args[0]->const_item();
@@ -938,7 +933,7 @@ Item *Item_func_case::find_item(String *str)
if ((tmp=args[i]->val_str(str))) // If not null
{
/* QQ: COERCIBILITY */
- if (first_expr_is_binary || args[i]->binary())
+ if (first_expr_is_binary || (args[i]->charset()->state & MY_CS_BINSORT))
{
if (sortcmp(tmp,first_expr_str,&my_charset_bin)==0)
return args[i+1];
@@ -1049,7 +1044,7 @@ Item_func_case::fix_fields(THD *thd, TABLE_LIST *tables, Item **ref)
used_tables_cache|=(first_expr)->used_tables();
const_item_cache&= (first_expr)->const_item();
with_sum_func= with_sum_func || (first_expr)->with_sum_func;
- first_expr_is_binary= first_expr->binary();
+ first_expr_is_binary= first_expr->charset()->state & MY_CS_BINSORT;
}
if (else_expr)
{