| Bug #22622 | mysqld crashes when reorganizing partitions | ||
|---|---|---|---|
| Submitted: | 23 Sep 2006 1:43 | Modified: | 23 Sep 2006 2:38 |
| Reporter: | Boyd Hemphill | Email Updates: | |
| Status: | Can't repeat | Impact on me: | |
| Category: | MySQL Server: Partitions | Severity: | S2 (Serious) |
| Version: | 5.1.7 | OS: | Windows (Window XP Media Center) |
| Assigned to: | CPU Architecture: | Any | |
[23 Sep 2006 1:43]
Boyd Hemphill
[23 Sep 2006 2:12]
Boyd Hemphill
This set of statements also causes the same issue.
create table taks (
taks_id int unsigned not null auto_increment,
subject_id int unsigned not null, -- fk to a class table
region_id int unsigned not null, -- fk to region table
school_year_id int unsigned not null, -- fk to grading_period table
student_id int unsigned not null, -- fk to the student table
birth_dt date not null,
score_ft varchar(5) not null,
pass_ind enum('Y','N','NK') not null default 'NK',
commended_ind enum('Y','N','NK') not null default 'NK',
primary key (taks_id,region_id),
index fk_subject$taks(subject_id),
index fk_region$taks(region_id),
index fk_school_year$taks(school_year_id),
index fk_student$taks(student_id)
) engine = myisam
partition by list (region_id) (
partition p0 values in (4,5,6,7,8),
partition p1 values in (1,2,3,9,12,13,14,15,20),
partition p2 values in (10,11,16,17,18,19)
)
;
alter table taks reorganize partition p2 into (
partition p2 values in (10,11,16,17,18,19,21)
)
;
[23 Sep 2006 2:38]
MySQL Verification Team
Thank you for the bug report. I was unable to repeat with current released
server. Please upgrade:
c:\mysql\bin>mysql -uroot test
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 2 to server version: 5.1.11-beta
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql> CREATE TABLE `members` (
-> `id` int(11) default NULL,
-> `fname` varchar(25) default NULL,
-> `lname` varchar(25) default NULL,
-> `dob` date default NULL
-> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
-> PARTITION BY RANGE ( YEAR(dob) ) (
-> PARTITION p0 VALUES LESS THAN (1970) ENGINE = MyISAM,
-> PARTITION p1 VALUES LESS THAN (1980) ENGINE = MyISAM,
-> PARTITION p2 VALUES LESS THAN (1990) ENGINE = MyISAM.
-> PARTITION p3 VALUES LESS THAN (2000) ENGINE = MyISAM
-> );
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
PARTITION p3 VALUES LESS THAN (2000) ENGINE = MyISAM
)' at line 10
mysql> CREATE TABLE `members` (
-> `id` int(11) default NULL,
-> `fname` varchar(25) default NULL,
-> `lname` varchar(25) default NULL,
-> `dob` date default NULL
-> ) ENGINE=MyISAM DEFAULT CHARSET=latin1
-> PARTITION BY RANGE ( YEAR(dob) ) (
-> PARTITION p0 VALUES LESS THAN (1970) ENGINE = MyISAM,
-> PARTITION p1 VALUES LESS THAN (1980) ENGINE = MyISAM,
-> PARTITION p2 VALUES LESS THAN (1990) ENGINE = MyISAM,
-> PARTITION p3 VALUES LESS THAN (2000) ENGINE = MyISAM
-> );
Query OK, 0 rows affected (0.13 sec)
mysql> ALTER TABLE members REORGANIZE PARTITION p0 INTO (
-> PARTITION s0 VALUES LESS THAN (1960),
-> PARTITION s1 VALUES LESS THAN (1970)
-> );
Query OK, 0 rows affected (0.56 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql> create table taks (
-> taks_id int unsigned not null auto_increment,
-> subject_id int unsigned not null, -- fk to a class table
-> region_id int unsigned not null, -- fk to region table
-> school_year_id int unsigned not null, -- fk to grading_period table
-> student_id int unsigned not null, -- fk to the student table
-> birth_dt date not null,
-> score_ft varchar(5) not null,
-> pass_ind enum('Y','N','NK') not null default 'NK',
-> commended_ind enum('Y','N','NK') not null default 'NK',
-> primary key (taks_id,region_id),
-> index fk_subject$taks(subject_id),
-> index fk_region$taks(region_id),
-> index fk_school_year$taks(school_year_id),
-> index fk_student$taks(student_id)
-> ) engine = myisam
-> partition by list (region_id) (
-> partition p0 values in (4,5,6,7,8),
-> partition p1 values in (1,2,3,9,12,13,14,15,20),
-> partition p2 values in (10,11,16,17,18,19)
-> )
-> ;
Query OK, 0 rows affected (0.06 sec)
mysql> alter table taks reorganize partition p2 into (
-> partition p2 values in (10,11,16,17,18,19,21)
-> )
-> ;
Query OK, 0 rows affected (0.25 sec)
Records: 0 Duplicates: 0 Warnings: 0
mysql>
