summaryrefslogtreecommitdiff
path: root/sql/item_func.h
diff options
context:
space:
mode:
authorAlexander Barkov <bar@mariadb.org>2015-03-12 11:40:37 +0400
committerAlexander Barkov <bar@mariadb.org>2015-03-12 11:40:37 +0400
commite91bc2e91d649d4650fc4d8961edc3280d1203fe (patch)
treece7b3e77ea1a132e2f20edb0fd7ea58fe9c9a3ff /sql/item_func.h
parent80f03abcca0d902a876d10e6c1dc8c4c6d3b2bfa (diff)
downloadmariadb-git-e91bc2e91d649d4650fc4d8961edc3280d1203fe.tar.gz
MDEV-7759 NULLIF(x,y) is not equal to CASE WHEN x=y THEN NULL ELSE x END
Diffstat (limited to 'sql/item_func.h')
-rw-r--r--sql/item_func.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/sql/item_func.h b/sql/item_func.h
index 3c46d6549a0..84454ad2290 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -398,6 +398,15 @@ public:
walk(&Item::call_bool_func_processor, FALSE, (uchar*) &info);
}
void convert_const_compared_to_int_field(THD *thd);
+ /**
+ Prepare arguments and setup a comparator.
+ Used in Item_func_xxx with two arguments and a comparator,
+ e.g. Item_bool_func2 and Item_func_nullif.
+ args[0] or args[1] can be modified:
+ - converted to character set and collation of the operation
+ - or replaced to an Item_int_with_ref
+ */
+ bool setup_args_and_comparator(THD *thd, Arg_comparator *cmp);
};