diff options
author | unknown <sanja@montyprogram.com> | 2012-03-14 12:09:03 +0200 |
---|---|---|
committer | unknown <sanja@montyprogram.com> | 2012-03-14 12:09:03 +0200 |
commit | e638e605895fb572047ec8027e91c5438d77cbf4 (patch) | |
tree | fb10a936ec3580009b6744ff87fa8c903c1b31b3 | |
parent | 32d45425e9f0742b9dc6042a1ce038af66bb27a1 (diff) | |
download | mariadb-git-e638e605895fb572047ec8027e91c5438d77cbf4.tar.gz |
test suite for LP bug#694450
-rw-r--r-- | mysql-test/r/group_by.result | 18 | ||||
-rw-r--r-- | mysql-test/t/group_by.test | 19 |
2 files changed, 37 insertions, 0 deletions
diff --git a/mysql-test/r/group_by.result b/mysql-test/r/group_by.result index 820a828d604..d322952af2b 100644 --- a/mysql-test/r/group_by.result +++ b/mysql-test/r/group_by.result @@ -1941,3 +1941,21 @@ Warning 1292 Truncated incorrect INTEGER value: 'jxW<' DROP TABLE t1; SET SQL_BIG_TABLES=0; # End of 5.1 tests +# +# LP bug#694450 Wrong result with non-standard GROUP BY + ORDER BY +# +SET SESSION SQL_MODE='ONLY_FULL_GROUP_BY'; +CREATE TABLE t1 ( +f1 int(11), f2 int(11), f3 datetime, f4 varchar(1), PRIMARY KEY (f1)) ; +INSERT IGNORE INTO t1 VALUES ('1','9','2004-10-11 18:13','x'),('2','5','2004-03-07 14:02','g'),('3','1','2004-04-09 09:38','o'),('4','0','1900-01-01 00:00','g'),('5','1','2009-02-19 02:05','v'); +SELECT alias2.f3 AS field1 , alias2.f1 AS field2 FROM t1 AS alias1 JOIN t1 AS alias2 ON alias2.f1 = alias1.f2 AND alias2.f1 != alias1.f4 GROUP BY field1 , field2 ORDER BY alias1.f2 , field2; +field1 field2 +2004-10-11 18:13:00 1 +2009-02-19 02:05:00 5 +SELECT alias2.f3 AS field1 , alias2.f1 AS field2 FROM t1 AS alias1 JOIN t1 AS alias2 ON alias2.f1 = alias1.f2 AND alias2.f1 != alias1.f4 GROUP BY field1 , field2 ; +field1 field2 +2004-10-11 18:13:00 1 +2009-02-19 02:05:00 5 +SET SESSION SQL_MODE=default; +drop table t1; +# End of 5.2 tests diff --git a/mysql-test/t/group_by.test b/mysql-test/t/group_by.test index 8f38f0e9fd9..993ee89b279 100644 --- a/mysql-test/t/group_by.test +++ b/mysql-test/t/group_by.test @@ -1316,3 +1316,22 @@ DROP TABLE t1; SET SQL_BIG_TABLES=0; --echo # End of 5.1 tests + +--echo # +--echo # LP bug#694450 Wrong result with non-standard GROUP BY + ORDER BY +--echo # +SET SESSION SQL_MODE='ONLY_FULL_GROUP_BY'; +CREATE TABLE t1 ( +f1 int(11), f2 int(11), f3 datetime, f4 varchar(1), PRIMARY KEY (f1)) ; +INSERT IGNORE INTO t1 VALUES ('1','9','2004-10-11 18:13','x'),('2','5','2004-03-07 14:02','g'),('3','1','2004-04-09 09:38','o'),('4','0','1900-01-01 00:00','g'),('5','1','2009-02-19 02:05','v'); + +# This must return an error, but instead returns 1 row +SELECT alias2.f3 AS field1 , alias2.f1 AS field2 FROM t1 AS alias1 JOIN t1 AS alias2 ON alias2.f1 = alias1.f2 AND alias2.f1 != alias1.f4 GROUP BY field1 , field2 ORDER BY alias1.f2 , field2; + +# This returns several rows +SELECT alias2.f3 AS field1 , alias2.f1 AS field2 FROM t1 AS alias1 JOIN t1 AS alias2 ON alias2.f1 = alias1.f2 AND alias2.f1 != alias1.f4 GROUP BY field1 , field2 ; +SET SESSION SQL_MODE=default; +drop table t1; + +--echo # End of 5.2 tests + |