OPTIMIZE, ANALYZE, CHECK, REPAIR and REBUILD only supported if fast_alter_partition flag set
mysql-test/r/ndb_partition_key.result: New test cases for BUG #16819, 16821, and 16822 mysql-test/t/ndb_partition_key.test: New test cases for BUG #16819, 16821, and 16822 sql/handler.h: ensure we don't get hanging after calling change_partition
This commit is contained in:
parent
1c6f84f828
commit
81a463adeb
@ -165,3 +165,17 @@ ENGINE=NDB
|
|||||||
PARTITION BY KEY(c3) PARTITIONS 5;
|
PARTITION BY KEY(c3) PARTITIONS 5;
|
||||||
ALTER TABLE t1 COALESCE PARTITION 4;
|
ALTER TABLE t1 COALESCE PARTITION 4;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
CREATE TABLE t1 (a int primary key)
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(a);
|
||||||
|
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 CHECK PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 REPAIR PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 ANALYZE PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
ALTER TABLE t1 REBUILD PARTITION p0;
|
||||||
|
ERROR HY000: Table storage engine for 't1' doesn't have this option
|
||||||
|
DROP TABLE t1;
|
||||||
|
@ -153,3 +153,22 @@ b'0',
|
|||||||
ALTER TABLE t1 COALESCE PARTITION 4;
|
ALTER TABLE t1 COALESCE PARTITION 4;
|
||||||
|
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug 16822: OPTIMIZE TABLE hangs test
|
||||||
|
#
|
||||||
|
CREATE TABLE t1 (a int primary key)
|
||||||
|
ENGINE=NDB
|
||||||
|
PARTITION BY KEY(a);
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 OPTIMIZE PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 CHECK PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 REPAIR PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 ANALYZE PARTITION p0;
|
||||||
|
--error 1031
|
||||||
|
ALTER TABLE t1 REBUILD PARTITION p0;
|
||||||
|
DROP TABLE t1;
|
||||||
|
|
||||||
|
@ -1387,7 +1387,7 @@ public:
|
|||||||
ulonglong *deleted,
|
ulonglong *deleted,
|
||||||
const void *pack_frm_data,
|
const void *pack_frm_data,
|
||||||
uint pack_frm_len)
|
uint pack_frm_len)
|
||||||
{ return HA_ERR_WRONG_COMMAND; }
|
{ print_error(HA_ERR_WRONG_COMMAND, MYF(0)); return TRUE; }
|
||||||
virtual int drop_partitions(const char *path)
|
virtual int drop_partitions(const char *path)
|
||||||
{ return HA_ERR_WRONG_COMMAND; }
|
{ return HA_ERR_WRONG_COMMAND; }
|
||||||
virtual int rename_partitions(const char *path)
|
virtual int rename_partitions(const char *path)
|
||||||
|
@ -4499,6 +4499,11 @@ that are reorganised.
|
|||||||
my_error(ER_DROP_PARTITION_NON_EXISTENT, MYF(0), ptr);
|
my_error(ER_DROP_PARTITION_NON_EXISTENT, MYF(0), ptr);
|
||||||
DBUG_RETURN(TRUE);
|
DBUG_RETURN(TRUE);
|
||||||
}
|
}
|
||||||
|
if (!(*fast_alter_partition))
|
||||||
|
{
|
||||||
|
table->file->print_error(HA_ERR_WRONG_COMMAND, MYF(0));
|
||||||
|
DBUG_RETURN(TRUE);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (alter_info->flags & ALTER_COALESCE_PARTITION)
|
else if (alter_info->flags & ALTER_COALESCE_PARTITION)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user