summaryrefslogtreecommitdiff
path: root/mysql-test/main/subselect4.test
diff options
context:
space:
mode:
authorVarun Gupta <varun.gupta@mariadb.com>2020-12-15 19:02:50 +0530
committerVarun Gupta <varun.gupta@mariadb.com>2020-12-15 19:02:50 +0530
commitd9fdb5d7c0d86845b46c2af5949aab0934cde503 (patch)
tree509c1588ec398eae1477aad92be354c7b1912229 /mysql-test/main/subselect4.test
parente5d88e03beec38973539f5d290fa70f81be645ef (diff)
downloadmariadb-git-bb-10.3-varun.tar.gz
MDEV-22716: Assertion `0' failed in Type_handler_row::subquery_type_allows_materializationbb-10.3-varun
For ROW data type, materialization is not possible, so IN predicate to IN subquery conversion should not be allowed in this case.
Diffstat (limited to 'mysql-test/main/subselect4.test')
-rw-r--r--mysql-test/main/subselect4.test14
1 files changed, 14 insertions, 0 deletions
diff --git a/mysql-test/main/subselect4.test b/mysql-test/main/subselect4.test
index f264b3857ff..8e2d5309991 100644
--- a/mysql-test/main/subselect4.test
+++ b/mysql-test/main/subselect4.test
@@ -2274,4 +2274,18 @@ set names default;
set @@in_predicate_conversion_threshold= @save_in_predicate_conversion_threshold;
DROP TABLE t1,t2;
+--echo #
+--echo # MDEV-22716: Assertion `0' failed in Type_handler_row::subquery_type_allows_materialization
+--echo #
+
+CREATE TABLE t1(a INT,b INT);
+INSERT INTO t1 VALUES (1,1), (2,2);
+
+set @save_in_predicate_conversion_threshold= @@in_predicate_conversion_threshold;
+SET SESSION in_predicate_conversion_threshold=2;
+EXPLAIN SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,1)));
+SELECT 1 FROM t1 WHERE ROW(a,(a,a)) IN ((1,(1,1)),(2,(2,1)));
+set @@in_predicate_conversion_threshold= @save_in_predicate_conversion_threshold;
+
+DROP TABLE t1;
--echo # End of 10.3 tests