Bug #77333 ALTER TABLE ... PARTITION is not reexecution safe
| Submitted: | 12 Jun 2015 11:13 | Modified: | 3 Dec 2015 18:14 |
|---|---|---|---|
| Reporter: | Sergei Golubchik | Email Updates: | |
| Status: | Closed | Impact on me: | |
| Category: | MySQL Server: Partitions | Severity: | S2 (Serious) |
| Version: | 5.5, 5.5.45, 5.6.26, 5.7.8 | OS: | Any |
| Assigned to: | CPU Architecture: | Any |
[12 Jun 2015 13:34]
MySQL Verification Team
Hello Sergei Golubchik, Thank you for the report and test case. Verified as described. Thanks, Umesh
[3 Dec 2015 18:14]
Jon Stephens
Hi Sergei, This was fixed as part of another bug in MySQL 5.5.46, 5.6.27, and 5.7.9. See the relevant changelogs for documentation (now also tagged with this bug # for your reference). cheers, jon.
Portions of this website are copyright © 2001, 2002 The PHP Group
Page generated in 0.040 sec. using MySQL 8.4.7-u6-cloud
Timestamp references displayed by the system are UTC.
Content reproduced on this site is the property of the
respective copyright holders.
It is not reviewed in advance
by Oracle and does not necessarily represent the opinion of
Oracle or any other party.
Description: See "how to repeat". Note that after the second execution of SP or PS, the partitioning definition is incorrect. How to repeat: CREATE TABLE `t1` ( `hid` bigint(20) unsigned NOT NULL, `itid` bigint(20) unsigned NOT NULL, `clocktime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `values` double(16,4) NOT NULL, PRIMARY KEY (`hid`,`itid`,`clocktime`) ) ; CREATE PROCEDURE `create_part_max`() alter table `t1` partition by range(unix_timestamp(clocktime)) ( partition partMAX values less than MAXVALUE ); call create_part_max(); show create table t1; call create_part_max(); show create table t1; drop procedure create_part_max; prepare stmt from "alter table `t1` partition by range(unix_timestamp(clocktime)) ( partition partMAX values less than MAXVALUE )"; execute stmt; show create table t1; execute stmt; show create table t1; deallocate prepare stmt; drop table t1;