1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-01 03:47:19 +03:00

Bug#13593865 - 64037: CRASH IN HA_PARTITION::CREATE_HANDLERS ON

ALTER TABLE AFTER DROP PARTITION
Bug#13608188 - 64038: CRASH IN HANDLER::HA_THD ON ALTER TABLE AFTER
                      REPAIR NON-EXISTING PARTITION

Backport of bug#13357766 from -trunk to -5.5.

The state of some partitions was not reset on failure, leading
to invalid states of partitions in consequent statements.

Fixed by reverting back to original state for all partitions
if not all partition names was resolved.

Also adding extra security by forcing tables to be reopened
in case of error in mysql_alter_table.

(There is also removal of \r at the end of some lines.)
This commit is contained in:
Mattias Jonsson
2012-02-02 12:47:17 +01:00
parent 45c425f031
commit 98d3ef960d
6 changed files with 124 additions and 57 deletions

View File

@ -1,5 +1,31 @@
drop table if exists t1, t2;
#
# Bug#13608188 - 64038: CRASH IN HANDLER::HA_THD ON ALTER TABLE AFTER
# REPAIR NON-EXISTING PARTITION
#
CREATE TABLE t1 ( a INT, b INT );
INSERT INTO t1 VALUES (5,3),(5,6);
ALTER TABLE t1 PARTITION BY KEY(b) PARTITIONS 3 ;
ALTER TABLE t1 REPAIR PARTITION p1, p3;
Table Op Msg_type Msg_text
test.t1 repair error Error in list of partitions to test.t1
ALTER TABLE t1 ORDER BY b;
DROP TABLE t1;
#
# Bug#13593865 - 64037: CRASH IN HA_PARTITION::CREATE_HANDLERS ON
# ALTER TABLE AFTER DROP PARTITION
#
CREATE TABLE t1 (a INT)
PARTITION BY RANGE (a)
(PARTITION p0 VALUES LESS THAN (0),
PARTITION p1 VALUES LESS THAN MAXVALUE ) ;
ALTER TABLE t1 DROP PARTITION p1;
ALTER TABLE t1 ANALYZE PARTITION p0, p1;
Table Op Msg_type Msg_text
test.t1 analyze error Error in list of partitions to test.t1
ALTER TABLE t1 COMMENT 'altered';
DROP TABLE t1;
#
# Bug#57924: crash when creating partitioned table with
# multiple columns in the partition key
#