Commit bd36057b authored by unknown's avatar unknown

Merge mysql.com:/home/hf/work/mrg/mysql-5.0-opt

into  mysql.com:/home/hf/work/mrg/mysql-5.1-opt


mysql-test/r/func_in.result:
  Auto merged
mysql-test/t/func_in.test:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
parents 941f2fb9 a4a23fb9
...@@ -477,6 +477,11 @@ a ...@@ -477,6 +477,11 @@ a
Warnings: Warnings:
Warning 1292 Incorrect date value: '19772-07-29' for column 'a' at row 1 Warning 1292 Incorrect date value: '19772-07-29' for column 'a' at row 1
DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4;
CREATE TABLE t1 (id int not null);
INSERT INTO t1 VALUES (1),(2);
SELECT id FROM t1 WHERE id IN(4564, (SELECT IF(1=0,1,1/0)) );
id
DROP TABLE t1;
End of 5.0 tests End of 5.0 tests
create table t1(f1 char(1)); create table t1(f1 char(1));
insert into t1 values ('a'),('b'),('1'); insert into t1 values ('a'),('b'),('1');
......
...@@ -361,6 +361,17 @@ SELECT * FROM t4 WHERE a IN ('1972-02-06','19772-07-29'); ...@@ -361,6 +361,17 @@ SELECT * FROM t4 WHERE a IN ('1972-02-06','19772-07-29');
DROP TABLE t1,t2,t3,t4; DROP TABLE t1,t2,t3,t4;
#
# BUG#27362: IN with a decimal expression that may return NULL
#
CREATE TABLE t1 (id int not null);
INSERT INTO t1 VALUES (1),(2);
SELECT id FROM t1 WHERE id IN(4564, (SELECT IF(1=0,1,1/0)) );
DROP TABLE t1;
--echo End of 5.0 tests --echo End of 5.0 tests
......
...@@ -2458,7 +2458,8 @@ void in_decimal::set(uint pos, Item *item) ...@@ -2458,7 +2458,8 @@ void in_decimal::set(uint pos, Item *item)
dec->len= DECIMAL_BUFF_LENGTH; dec->len= DECIMAL_BUFF_LENGTH;
dec->fix_buffer_pointer(); dec->fix_buffer_pointer();
my_decimal *res= item->val_decimal(dec); my_decimal *res= item->val_decimal(dec);
if (res != dec) /* if item->val_decimal() is evaluated to NULL then res == 0 */
if (!item->null_value && res != dec)
my_decimal2decimal(res, dec); my_decimal2decimal(res, dec);
} }
......
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