mirror of
https://github.com/MariaDB/server.git
synced 2026-01-06 05:22:24 +03:00
BUG#17754
Added new syntax ALTER TABLE t1 REMOVE PARTITIONING, changed semantics of ALTER TABLE t1 ENGINE=X; to not remove partitioning Fix a number of mix engine bugs in partitioning mysql-test/r/ndb_partition_key.result: Added a number of new test cases mysql-test/r/partition.result: Added a number of new test cases mysql-test/t/ndb_partition_key.test: Added a number of new test cases mysql-test/t/partition.test: Added a number of new test cases sql/lex.h: REMOVE and PARTITIONING added as keywords in parser sql/sql_lex.h: Added flag to alter_info flag sql/sql_partition.cc: Fixes for the new syntax, changes of the current semantics of the syntax. Fixes for errors in handling mixes of table handlers in partitioning syntax for ALTER TABLE sql/sql_table.cc: Bug fix sql/sql_yacc.yy: New syntax for REMOVE PARTITIONING
This commit is contained in:
@@ -409,6 +409,96 @@ alter table t1 add partition (partition x3 values in (30));
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug #17754 Change to explicit removal of partitioning scheme
|
||||
# Also added a number of tests to ensure that proper engine is
|
||||
# choosen in all kinds of scenarios.
|
||||
#
|
||||
|
||||
create table t1 (a int)
|
||||
partition by key(a)
|
||||
partitions 2
|
||||
(partition p0 engine=myisam, partition p1 engine=myisam);
|
||||
show create table t1;
|
||||
|
||||
alter table t1;
|
||||
show create table t1;
|
||||
|
||||
alter table t1 engine=myisam;
|
||||
show create table t1;
|
||||
|
||||
alter table t1 engine=heap;
|
||||
show create table t1;
|
||||
|
||||
alter table t1 remove partitioning;
|
||||
show create table t1;
|
||||
|
||||
drop table t1;
|
||||
|
||||
create table t1 (a int)
|
||||
engine=myisam
|
||||
partition by key(a)
|
||||
partitions 2
|
||||
(partition p0 engine=myisam, partition p1 engine=myisam);
|
||||
show create table t1;
|
||||
|
||||
alter table t1 add column b int remove partitioning;
|
||||
show create table t1;
|
||||
|
||||
alter table t1
|
||||
engine=myisam
|
||||
partition by key(a)
|
||||
(partition p0 engine=myisam, partition p1);
|
||||
show create table t1;
|
||||
|
||||
alter table t1
|
||||
engine=heap
|
||||
partition by key(a)
|
||||
(partition p0, partition p1 engine=heap);
|
||||
show create table t1;
|
||||
|
||||
alter table t1 engine=myisam, add column c int remove partitioning;
|
||||
show create table t1;
|
||||
|
||||
alter table t1
|
||||
engine=heap
|
||||
partition by key (a)
|
||||
(partition p0, partition p1);
|
||||
show create table t1;
|
||||
|
||||
alter table t1
|
||||
partition by key (a)
|
||||
(partition p0, partition p1);
|
||||
show create table t1;
|
||||
|
||||
alter table t1
|
||||
engine=heap
|
||||
partition by key (a)
|
||||
(partition p0, partition p1);
|
||||
show create table t1;
|
||||
|
||||
--error ER_MIX_HANDLER_ERROR
|
||||
alter table t1
|
||||
partition by key(a)
|
||||
(partition p0, partition p1 engine=heap);
|
||||
|
||||
--error ER_MIX_HANDLER_ERROR
|
||||
alter table t1
|
||||
partition by key(a)
|
||||
(partition p0 engine=heap, partition p1);
|
||||
|
||||
--error ER_MIX_HANDLER_ERROR
|
||||
alter table t1
|
||||
engine=heap
|
||||
partition by key (a)
|
||||
(partition p0 engine=heap, partition p1 engine=myisam);
|
||||
|
||||
--error ER_MIX_HANDLER_ERROR
|
||||
alter table t1
|
||||
partition by key (a)
|
||||
(partition p0 engine=heap, partition p1 engine=myisam);
|
||||
|
||||
drop table t1;
|
||||
|
||||
# Bug #17432: Partition functions containing NULL values should return
|
||||
# LONGLONG_MIN
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user