Commit 49c39906 authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-5.0

into  mysql.com:/home/jimw/my/mysql-5.0-clean


sql/item_func.cc:
  Auto merged
parents d662bff9 2901910d
...@@ -170,6 +170,12 @@ insert into t1 values (1); ...@@ -170,6 +170,12 @@ insert into t1 values (1);
select rand(i) from t1; select rand(i) from t1;
ERROR HY000: Incorrect arguments to RAND ERROR HY000: Incorrect arguments to RAND
drop table t1; drop table t1;
create table t1 (a varchar(90), ts datetime not null, index (a)) engine=innodb default charset=utf8;
insert into t1 values ('http://www.foo.com/', now());
select a from t1 where a='http://www.foo.com/' order by abs(timediff(ts, 0));
a
http://www.foo.com/
drop table t1;
set sql_mode='traditional'; set sql_mode='traditional';
select ln(-1); select ln(-1);
ln(-1) ln(-1)
......
...@@ -176,7 +176,7 @@ Table Create Table ...@@ -176,7 +176,7 @@ Table Create Table
t1 CREATE TABLE `t1` ( t1 CREATE TABLE `t1` (
`round(15.4,-1)` decimal(3,0) unsigned NOT NULL default '0', `round(15.4,-1)` decimal(3,0) unsigned NOT NULL default '0',
`truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0', `truncate(-5678.123451,-3)` decimal(4,0) NOT NULL default '0',
`abs(-1.1)` decimal(2,1) NOT NULL default '0.0', `abs(-1.1)` decimal(2,1) default NULL,
`-(-1.1)` decimal(2,1) NOT NULL default '0.0' `-(-1.1)` decimal(2,1) NOT NULL default '0.0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1 ) ENGINE=MyISAM DEFAULT CHARSET=latin1
drop table t1; drop table t1;
......
...@@ -116,6 +116,16 @@ insert into t1 values (1); ...@@ -116,6 +116,16 @@ insert into t1 values (1);
select rand(i) from t1; select rand(i) from t1;
drop table t1; drop table t1;
#
# Bug #14009: use of abs() on null value causes problems with filesort
#
# InnoDB is required to reproduce the fault, but it is okay if we default to
# MyISAM when testing.
create table t1 (a varchar(90), ts datetime not null, index (a)) engine=innodb default charset=utf8;
insert into t1 values ('http://www.foo.com/', now());
select a from t1 where a='http://www.foo.com/' order by abs(timediff(ts, 0));
drop table t1;
# End of 4.1 tests # End of 4.1 tests
# #
......
...@@ -636,6 +636,7 @@ void Item_func_num1::fix_num_length_and_dec() ...@@ -636,6 +636,7 @@ void Item_func_num1::fix_num_length_and_dec()
{ {
decimals= args[0]->decimals; decimals= args[0]->decimals;
max_length= args[0]->max_length; max_length= args[0]->max_length;
maybe_null= 1;
} }
......
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