summaryrefslogtreecommitdiff
path: root/mysql-test/main/partition_alter.result
diff options
context:
space:
mode:
authorNikita Malyavin <nikitamalyavin@gmail.com>2020-04-02 22:37:36 +1000
committerGitHub <noreply@github.com>2020-04-02 22:37:36 +1000
commit9149017bb838e9efbef40c5f2807894c38b3412f (patch)
tree2a0ac6313b38ed105981fbd3fb5969999ce5e219 /mysql-test/main/partition_alter.result
parentb40b3720cbba133ee76ef336bf89bbf5c03ac403 (diff)
downloadmariadb-git-9149017bb838e9efbef40c5f2807894c38b3412f.tar.gz
MDEV-17091 - Assertion failed after dropping versioning
Assertion `old_part_id == m_last_part' failed in ha_partition::update_row or `part_id == m_last_part' in ha_partition::delete_row upon UPDATE/DELETE after dropping versioning PRIMARY KEY change hadn't been treated as partition reorganization in case of partitioning by KEY() (without parameters). * set `*partition_changed= true` in the described case. * since add/drop system versioning does not affect alter_info->key_list, it required separate attention
Diffstat (limited to 'mysql-test/main/partition_alter.result')
-rw-r--r--mysql-test/main/partition_alter.result23
1 files changed, 23 insertions, 0 deletions
diff --git a/mysql-test/main/partition_alter.result b/mysql-test/main/partition_alter.result
index ca6359f94de..d946f2b8822 100644
--- a/mysql-test/main/partition_alter.result
+++ b/mysql-test/main/partition_alter.result
@@ -129,3 +129,26 @@ ERROR HY000: Duplicate partition name p1
alter table t1 add partition (partition p1);
ERROR HY000: Duplicate partition name p1
drop table t1;
+#
+# MDEV-17091 Assertion `old_part_id == m_last_part' failed in
+# ha_partition::update_row or `part_id == m_last_part' in
+# ha_partition::delete_row upon UPDATE/DELETE after dropping versioning
+#
+create or replace table t1 (pk int, f int, primary key(pk, f)) engine=innodb
+partition by key() partitions 2;
+insert into t1 values (1,10),(2,11);
+# expected to hit same partition
+select * from t1 partition (p0);
+pk f
+1 10
+2 11
+alter table t1 drop primary key, drop f, add primary key(pk);
+# 1 and 2 are expected to be in different partitions
+select * from t1 partition(p0);
+pk
+1
+select * from t1 partition(p1);
+pk
+2
+delete from t1;
+drop table t1;