1
0
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:
unknown
2006-03-13 05:01:11 -08:00
parent 217fdd8896
commit 7e1627d085
3 changed files with 32 additions and 8 deletions

View File

@@ -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

View File

@@ -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