summaryrefslogtreecommitdiff
path: root/mysql-test
diff options
context:
space:
mode:
Diffstat (limited to 'mysql-test')
-rw-r--r--mysql-test/main/partition_innodb2.result24
-rw-r--r--mysql-test/main/partition_innodb2.test30
2 files changed, 54 insertions, 0 deletions
diff --git a/mysql-test/main/partition_innodb2.result b/mysql-test/main/partition_innodb2.result
new file mode 100644
index 00000000000..4476eb91447
--- /dev/null
+++ b/mysql-test/main/partition_innodb2.result
@@ -0,0 +1,24 @@
+#
+# MDEV-30442: Assertion `!m_innodb' failed in ha_partition::cmp_ref on MULTI-DELETE
+#
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2),(1),(2);
+create table t2 (
+a int,
+b int,
+key(a)
+) engine=innodb partition by list(a)
+(
+partition p0 values in (1),
+partition p1 values in (2),
+partition p2 values in (0,3,4,5,6,7,8,9)
+);
+insert into t2 select
+mod(seq, 10), seq from seq_1_to_50;
+explain
+delete t1, t2 from t1, t2 where t1.a=t2.a;
+id select_type table type possible_keys key key_len ref rows Extra
+1 SIMPLE t1 ALL NULL NULL NULL NULL 4 Using where
+1 SIMPLE t2 ref a a 5 test.t1.a 1
+delete t1, t2 from t1, t2 where t1.a=t2.a;
+drop table t1,t2;
diff --git a/mysql-test/main/partition_innodb2.test b/mysql-test/main/partition_innodb2.test
new file mode 100644
index 00000000000..7581c5db4ca
--- /dev/null
+++ b/mysql-test/main/partition_innodb2.test
@@ -0,0 +1,30 @@
+--source include/not_embedded.inc
+--source include/have_partition.inc
+--source include/have_innodb.inc
+--source include/have_sequence.inc
+
+--echo #
+--echo # MDEV-30442: Assertion `!m_innodb' failed in ha_partition::cmp_ref on MULTI-DELETE
+--echo #
+create table t1 (a int) engine=innodb;
+insert into t1 values (1),(2),(1),(2);
+
+create table t2 (
+ a int,
+ b int,
+ key(a)
+) engine=innodb partition by list(a)
+(
+ partition p0 values in (1),
+ partition p1 values in (2),
+ partition p2 values in (0,3,4,5,6,7,8,9)
+);
+
+insert into t2 select
+ mod(seq, 10), seq from seq_1_to_50;
+
+explain
+delete t1, t2 from t1, t2 where t1.a=t2.a;
+delete t1, t2 from t1, t2 where t1.a=t2.a;
+
+drop table t1,t2;