mirror of
https://github.com/MariaDB/server.git
synced 2025-10-28 17:15:19 +03:00
Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten metadata,crash
When doing an ALTER TABLE on a table using partitioning, force the table definition to get reloaded, since it may become invalid whenever the ALTER TABLE fails (even for an ALTER TABLE without specific partitioning changes). mysql-test/r/partition.result: New results mysql-test/t/partition.test: New regression test sql/sql_partition.cc: Always force table to get reloaded when we ALTER a partitioned table
This commit is contained in:
@@ -422,4 +422,15 @@ partition_name partition_description table_rows
|
||||
x123 11,12 1
|
||||
x234 NULL,1 1
|
||||
drop table t1;
|
||||
create table t1 (a int, b int) partition by list (a)
|
||||
(partition p1 values in (1), partition p2 values in (2));
|
||||
alter table t1 add primary key (b);
|
||||
ERROR HY000: A PRIMARY KEY need to include all fields in the partition function
|
||||
show create table t1;
|
||||
Table Create Table
|
||||
t1 CREATE TABLE `t1` (
|
||||
`a` int(11) DEFAULT NULL,
|
||||
`b` int(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=latin1 PARTITION BY LIST (a) (PARTITION p1 VALUES IN (1) ENGINE = MyISAM, PARTITION p2 VALUES IN (2) ENGINE = MyISAM)
|
||||
drop table t1;
|
||||
End of 5.1 tests
|
||||
|
||||
@@ -540,4 +540,15 @@ select partition_name, partition_description, table_rows
|
||||
from information_schema.partitions where table_schema ='test';
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #17097: Partitions: failing ADD PRIMARY KEY leads to temporary rotten
|
||||
# metadata,crash
|
||||
#
|
||||
create table t1 (a int, b int) partition by list (a)
|
||||
(partition p1 values in (1), partition p2 values in (2));
|
||||
--error ER_UNIQUE_KEY_NEED_ALL_FIELDS_IN_PF
|
||||
alter table t1 add primary key (b);
|
||||
show create table t1;
|
||||
drop table t1;
|
||||
|
||||
--echo End of 5.1 tests
|
||||
|
||||
Reference in New Issue
Block a user