summaryrefslogtreecommitdiff
path: root/mysql-test/t/subselect.test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test/t/subselect.test')
-rw-r--r--mysql-test/t/subselect.test78
1 files changed, 78 insertions, 0 deletions
diff --git a/mysql-test/t/subselect.test b/mysql-test/t/subselect.test
index 6d6490d0ebc..7684aaab6dc 100644
--- a/mysql-test/t/subselect.test
+++ b/mysql-test/t/subselect.test
@@ -3136,6 +3136,82 @@ SELECT 2 FROM t1 WHERE EXISTS ((SELECT 1 FROM t2 WHERE t1.a=t2.a) UNION
DROP TABLE t1,t2;
+#
+# Bug#33675: Usage of an uninitialized memory by filesort in a subquery
+# caused server crash.
+#
+create table t1(f11 int, f12 int);
+create table t2(f21 int unsigned not null, f22 int, f23 varchar(10));
+insert into t1 values(1,1),(2,2), (3, 3);
+let $i=10000;
+--disable_query_log
+--disable_warnings
+while ($i)
+{
+ eval insert into t2 values (-1 , $i/5000 + 1, '$i');
+ dec $i;
+}
+--enable_warnings
+--enable_query_log
+set session sort_buffer_size= 33*1024;
+select count(*) from t1 where f12 =
+(select f22 from t2 where f22 = f12 order by f21 desc, f22, f23 limit 1);
+
+drop table t1,t2;
+
+#
+# BUG#33794 "MySQL crashes executing specific query on specific dump"
+#
+CREATE TABLE t4 (
+ f7 varchar(32) collate utf8_bin NOT NULL default '',
+ f10 varchar(32) collate utf8_bin default NULL,
+ PRIMARY KEY (f7)
+);
+INSERT INTO t4 VALUES(1,1), (2,null);
+
+CREATE TABLE t2 (
+ f4 varchar(32) collate utf8_bin NOT NULL default '',
+ f2 varchar(50) collate utf8_bin default NULL,
+ f3 varchar(10) collate utf8_bin default NULL,
+ PRIMARY KEY (f4),
+ UNIQUE KEY uk1 (f2)
+);
+INSERT INTO t2 VALUES(1,1,null), (2,2,null);
+
+CREATE TABLE t1 (
+ f8 varchar(32) collate utf8_bin NOT NULL default '',
+ f1 varchar(10) collate utf8_bin default NULL,
+ f9 varchar(32) collate utf8_bin default NULL,
+ PRIMARY KEY (f8)
+);
+INSERT INTO t1 VALUES (1,'P',1), (2,'P',1), (3,'R',2);
+
+CREATE TABLE t3 (
+ f6 varchar(32) collate utf8_bin NOT NULL default '',
+ f5 varchar(50) collate utf8_bin default NULL,
+ PRIMARY KEY (f6)
+);
+INSERT INTO t3 VALUES (1,null), (2,null);
+
+SELECT
+ IF(t1.f1 = 'R', a1.f2, t2.f2) AS a4,
+ IF(t1.f1 = 'R', a1.f3, t2.f3) AS f3,
+ SUM(
+ IF(
+ (SELECT VPC.f2
+ FROM t2 VPC, t4 a2, t2 a3
+ WHERE
+ VPC.f4 = a2.f10 AND a3.f2 = a4
+ LIMIT 1) IS NULL,
+ 0,
+ t3.f5
+ )
+ ) AS a6
+FROM
+ t2, t3, t1 JOIN t2 a1 ON t1.f9 = a1.f4
+GROUP BY a4;
+
+DROP TABLE t1, t2, t3, t4;
--echo End of 5.0 tests.
@@ -3165,9 +3241,11 @@ SELECT a FROM t1 t0
SET @@sql_mode=default;
DROP TABLE t1;
+#
# Bug#20835 (literal string with =any values)
#
CREATE TABLE t1 (s1 char(1));
INSERT INTO t1 VALUES ('a');
SELECT * FROM t1 WHERE _utf8'a' = ANY (SELECT s1 FROM t1);
DROP TABLE t1;
+