summaryrefslogtreecommitdiff
path: root/mysql-test/t/analyse.test
diff options
context:
space:
mode:
authorSergey Glukhov <Sergey.Glukhov@sun.com>2009-08-27 15:22:19 +0500
committerSergey Glukhov <Sergey.Glukhov@sun.com>2009-08-27 15:22:19 +0500
commitd9d71d0f509b3a1610e63092306ba039115b752d (patch)
treec872942a8df225d5829796ecab00369c6035c83e /mysql-test/t/analyse.test
parente4f8deb2266ec8509d95bb29e508a82bb666c7db (diff)
downloadmariadb-git-d9d71d0f509b3a1610e63092306ba039115b752d.tar.gz
Bug#46184 Crash, SELECT ... FROM derived table procedure analyze
The crash happens because select_union object is used as result set for queries which have derived tables. select_union use temporary table as data storage and if fields count exceeds 10(count of values for procedure ANALYSE()) then we get a crash on fill_record() function.
Diffstat (limited to 'mysql-test/t/analyse.test')
-rw-r--r--mysql-test/t/analyse.test10
1 files changed, 10 insertions, 0 deletions
diff --git a/mysql-test/t/analyse.test b/mysql-test/t/analyse.test
index efcf5f6421c..d8466df14bf 100644
--- a/mysql-test/t/analyse.test
+++ b/mysql-test/t/analyse.test
@@ -14,6 +14,7 @@ create table t2 select * from t1 procedure analyse();
select * from t2;
drop table t1,t2;
+--error ER_WRONG_USAGE
EXPLAIN SELECT 1 FROM (SELECT 1) a PROCEDURE ANALYSE();
#
@@ -102,4 +103,13 @@ select f2 from t1 procedure analyse(1, 1);
select f3 from t1 procedure analyse(1, 1);
drop table t1;
+#
+# Bug#46184 Crash, SELECT ... FROM derived table procedure analyze
+#
+CREATE TABLE t1(a INT,b INT,c INT,d INT,e INT,f INT,g INT,h INT,i INT,j INT,k INT);
+INSERT INTO t1 VALUES ();
+--error ER_WRONG_USAGE
+SELECT * FROM (SELECT * FROM t1) d PROCEDURE ANALYSE();
+DROP TABLE t1;
+
--echo End of 4.1 tests