mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-30442: Assertion `!m_innodb' failed in ha_partition::cmp_ref ...
The failed assertion was about encountering the same rowid value in two different partitions. This wasn't possible with InnoDB previously: InnoDB used a global counter to produce rowid values for hidden PK. After the fix for MDEV-19506, it uses per-table counters so it's easily possible to get the same hidden PK values in different tables.
This commit is contained in:
30
mysql-test/main/partition_innodb2.test
Normal file
30
mysql-test/main/partition_innodb2.test
Normal file
@ -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;
|
Reference in New Issue
Block a user