MDEV-29636 Assertion `part_share->auto_inc_initialized || !can_use_for_auto_inc_init()' failed in ha_partition::set_auto_increment_if_higher upon REPLACE with partition pruning

The bug is caused by a similar mechanism as MDEV-21027.

The function, check_insert_or_replace_autoincrement, failed to open
all the partitions on REPLACE SELECT statements and it results in the
assertion error.
This commit is contained in:
Nayuta Yanagisawa 2022-09-27 12:01:29 +09:00
commit 2beede9ba4
8 changed files with 87 additions and 1 deletions

View file

@ -1125,6 +1125,18 @@ INSERT INTO t1 VALUES (1,1),(2,2);
UPDATE t1 SET pk = 0;
DROP TABLE t1;
#
# MDEV-29636 Assertion `part_share->auto_inc_initialized || !can_use_for_auto_inc_init()'
# failed in ha_partition::set_auto_increment_if_higher upon REPLACE
# with partition pruning
#
CREATE TABLE t1 (a INT AUTO_INCREMENT PRIMARY KEY) ENGINE='TokuDB'
PARTITION BY RANGE (a) (
PARTITION p0 VALUES LESS THAN (10),
PARTITION pn VALUES LESS THAN MAXVALUE
);
REPLACE INTO t1 PARTITION (p0) SELECT 1;
DROP TABLE t1;
#
# MDEV-21027 Assertion `part_share->auto_inc_initialized || !can_use_for_auto_inc_init()'
# ha_partition::set_auto_increment_if_higher
#