Commit d039d345 authored by unknown's avatar unknown

Manual merge


sql/item_cmpfunc.cc:
  Auto merged
mysql-test/r/func_if.result:
  Manual merge.
parents 1a0bddb8 a4535bc8
...@@ -108,3 +108,16 @@ id date_ord text ...@@ -108,3 +108,16 @@ id date_ord text
2 16-03-2005 Day 2 2 16-03-2005 Day 2
1 05-03-2005 Day 1 1 05-03-2005 Day 1
DROP TABLE t1; DROP TABLE t1;
CREATE TABLE t1 (a CHAR(10));
INSERT INTO t1 VALUES ('aaa'), (NULL), (''), ('bbb');
SELECT a, NULLIF(a,'') FROM t1;
a NULLIF(a,'')
aaa aaa
NULL NULL
NULL
bbb bbb
SELECT a, NULLIF(a,'') FROM t1 WHERE NULLIF(a,'') IS NULL;
a NULLIF(a,'')
NULL NULL
NULL
DROP TABLE t1;
...@@ -25,10 +25,9 @@ explain extended select if(u=1,st,binary st) s from t1 where st like "%a%" order ...@@ -25,10 +25,9 @@ explain extended select if(u=1,st,binary st) s from t1 where st like "%a%" order
# #
# NULLIF test # NULLIF test
# #
select nullif(u, 1) from t1; select nullif(u=0, 'test') from t1;
explain extended select nullif(u, 1) from t1; explain extended select nullif(u=0, 'test') from t1;
drop table t1; drop table t1;
select nullif(1,'test');
# #
# Bug 2629 # Bug 2629
...@@ -63,15 +62,13 @@ drop table t1; ...@@ -63,15 +62,13 @@ drop table t1;
SELECT NULLIF(5,5) IS NULL, NULLIF(5,5) IS NOT NULL; SELECT NULLIF(5,5) IS NULL, NULLIF(5,5) IS NOT NULL;
# #
# Bug #9669 Ordering on IF function with FROM_UNIXTIME function fails # Test for bug #11142: evaluation of NULLIF when the first argument is NULL
# #
CREATE TABLE `t1` (
`id` int(11) NOT NULL ,
`date` int(10) default NULL,
`text` varchar(32) NOT NULL
);
INSERT INTO t1 VALUES (1,1110000000,'Day 1'),(2,1111000000,'Day 2'),(3,1112000000,'Day 3');
SELECT id, IF(date IS NULL, '-', FROM_UNIXTIME(date, '%d-%m-%Y')) AS date_ord, text FROM t1 ORDER BY date_ord ASC;
SELECT id, IF(date IS NULL, '-', FROM_UNIXTIME(date, '%d-%m-%Y')) AS date_ord, text FROM t1 ORDER BY date_ord DESC;
DROP TABLE t1;
CREATE TABLE t1 (a CHAR(10));
INSERT INTO t1 VALUES ('aaa'), (NULL), (''), ('bbb');
SELECT a, NULLIF(a,'') FROM t1;
SELECT a, NULLIF(a,'') FROM t1 WHERE NULLIF(a,'') IS NULL;
DROP TABLE t1;
...@@ -1406,9 +1406,7 @@ Item_func_nullif::val_decimal(my_decimal * decimal_value) ...@@ -1406,9 +1406,7 @@ Item_func_nullif::val_decimal(my_decimal * decimal_value)
bool bool
Item_func_nullif::is_null() Item_func_nullif::is_null()
{ {
if (!cmp.compare()) return (null_value= (!cmp.compare() ? 1 : args[0]->null_value));
return (null_value=1);
return 0;
} }
/* /*
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment