summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
authorunknown <gkodinov/kgeorge@rakia.gmz>2007-01-23 19:48:53 +0200
committerunknown <gkodinov/kgeorge@rakia.gmz>2007-01-23 19:48:53 +0200
commit72ae6eab28291dc96483effc61b54f34c630ae83 (patch)
treef333078af7f86d402796bd3686f0eb2af79cab48 /mysql-test
parent4b2c3ac40d392b6027b8360b22bbe52d80b2e82a (diff)
parentd74a7b9def7a9fdbfe72325a4ba05f8647e252e4 (diff)
downloadmariadb-git-72ae6eab28291dc96483effc61b54f34c630ae83.tar.gz
Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt
into rakia.gmz:/home/kgeorge/mysql/autopush/B6172-5.1-opt
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/r/func_math.result45
-rw-r--r--mysql-test/t/func_math.test24
2 files changed, 59 insertions, 10 deletions
diff --git a/mysql-test/r/func_math.result b/mysql-test/r/func_math.result
index 9a2c55b802d..565c283ee83 100644
--- a/mysql-test/r/func_math.result
+++ b/mysql-test/r/func_math.result
@@ -177,11 +177,46 @@ drop table t1;
select abs(-2) * -2;
abs(-2) * -2
-4
-create table t1 (i int);
-insert into t1 values (1);
-select rand(i) from t1;
-ERROR HY000: Incorrect arguments to RAND
-drop table t1;
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(1),(1),(2);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+858 656
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1 WHERE a = 1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+INSERT INTO t1 VALUES (3);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+858 656
+354 906
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+FROM t1 WHERE a = 1;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(a) * 1000 AS UNSIGNED)
+656 405
+122 405
+645 405
+PREPARE stmt FROM
+"SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(?) * 1000 AS UNSIGNED)
+ FROM t1 WHERE a = 1";
+set @var=2;
+EXECUTE stmt USING @var;
+CAST(RAND(2) * 1000 AS UNSIGNED) CAST(RAND(?) * 1000 AS UNSIGNED)
+656 656
+122 122
+645 645
+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));
diff --git a/mysql-test/t/func_math.test b/mysql-test/t/func_math.test
index 09aa5751301..639ced6a1c0 100644
--- a/mysql-test/t/func_math.test
+++ b/mysql-test/t/func_math.test
@@ -115,11 +115,25 @@ select abs(-2) * -2;
#
# Bug #6172 RAND(a) should only accept constant values as arguments
#
-create table t1 (i int);
-insert into t1 values (1);
---error 1210
-select rand(i) from t1;
-drop table t1;
+CREATE TABLE t1 (a INT);
+
+INSERT INTO t1 VALUES (1),(1),(1),(2);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+ FROM t1;
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+ FROM t1 WHERE a = 1;
+INSERT INTO t1 VALUES (3);
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+ FROM t1;
+SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(a) * 1000 AS UNSIGNED)
+ FROM t1 WHERE a = 1;
+PREPARE stmt FROM
+ "SELECT CAST(RAND(2) * 1000 AS UNSIGNED), CAST(RAND(?) * 1000 AS UNSIGNED)
+ FROM t1 WHERE a = 1";
+set @var=2;
+EXECUTE stmt USING @var;
+
+DROP TABLE t1;
#
# Bug #14009: use of abs() on null value causes problems with filesort