summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSergei Petrunia <psergey@askmonty.org>2021-04-23 19:45:09 +0300
committerSergei Petrunia <psergey@askmonty.org>2021-04-25 10:32:09 +0300
commit42aad65b895dff937aa0618b3237eb4f653ce0e4 (patch)
tree41f77d56c081136ef2cc74fb4ab64acf8dbf132f
parent393cf51c045878c717ee7e17478755d093675802 (diff)
downloadmariadb-git-bb-10.3-mdev24925.tar.gz
MDEV-24898: Server crashes in st_select_lex::next_selectbb-10.3-mdev24925
Add a testcase
-rw-r--r--mysql-test/main/subselect4.result11
-rw-r--r--mysql-test/main/subselect4.test13
2 files changed, 24 insertions, 0 deletions
diff --git a/mysql-test/main/subselect4.result b/mysql-test/main/subselect4.result
index 456b9bcd829..6940795a9c1 100644
--- a/mysql-test/main/subselect4.result
+++ b/mysql-test/main/subselect4.result
@@ -2836,4 +2836,15 @@ GROUP BY 1
)
1
DROP TABLE t1;
+#
+# MDEV-24898: Server crashes in st_select_lex::next_select / Item_subselect::is_expensive
+# (Testcase)
+#
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2);
+CREATE TABLE t2 (b INT);
+INSERT INTO t2 VALUES (3),(4);
+SELECT 1 IN (SELECT (SELECT a FROM t1) AS x FROM t2 GROUP BY x);
+ERROR 21000: Subquery returns more than 1 row
+drop table t1,t2;
# End of 10.3 tests
diff --git a/mysql-test/main/subselect4.test b/mysql-test/main/subselect4.test
index ab311d3e505..31f6f55b4e4 100644
--- a/mysql-test/main/subselect4.test
+++ b/mysql-test/main/subselect4.test
@@ -2340,4 +2340,17 @@ SELECT
DROP TABLE t1;
+--echo #
+--echo # MDEV-24898: Server crashes in st_select_lex::next_select / Item_subselect::is_expensive
+--echo # (Testcase)
+--echo #
+CREATE TABLE t1 (a INT);
+INSERT INTO t1 VALUES (1),(2); # Optional, fails either way
+CREATE TABLE t2 (b INT);
+INSERT INTO t2 VALUES (3),(4); # Optional, fails either way
+
+--error ER_SUBQUERY_NO_1_ROW
+SELECT 1 IN (SELECT (SELECT a FROM t1) AS x FROM t2 GROUP BY x);
+drop table t1,t2;
+
--echo # End of 10.3 tests