diff options
Diffstat (limited to 'mysql-test/main/partition_binlog.test')
-rw-r--r-- | mysql-test/main/partition_binlog.test | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/mysql-test/main/partition_binlog.test b/mysql-test/main/partition_binlog.test new file mode 100644 index 00000000..665293d4 --- /dev/null +++ b/mysql-test/main/partition_binlog.test @@ -0,0 +1,43 @@ +--source include/have_log_bin.inc +--source include/have_partition.inc + +--disable_warnings +DROP TABLE IF EXISTS t1; +--enable_warnings + +--echo # +--echo # Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails +--echo # but the statement is written to binlog +--echo # + +CREATE TABLE t1(id INT) +PARTITION BY RANGE (id) +(PARTITION p0 VALUES LESS THAN (100), + PARTITION pmax VALUES LESS THAN (MAXVALUE)); + +INSERT INTO t1 VALUES (1), (10), (100), (1000); + +--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1) +--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1) + +--error ER_UNKNOWN_PARTITION +ALTER TABLE t1 TRUNCATE PARTITION p1; +--error ER_PARTITION_DOES_NOT_EXIST +ALTER TABLE t1 DROP PARTITION p1; + +--echo # No error returned, output in table format instead: +ALTER TABLE t1 ANALYZE PARTITION p1; +ALTER TABLE t1 CHECK PARTITION p1; +ALTER TABLE t1 OPTIMIZE PARTITION p1; +ALTER TABLE t1 REPAIR PARTITION p1; + +ALTER TABLE t1 ANALYZE PARTITION p0; +ALTER TABLE t1 CHECK PARTITION p0; +ALTER TABLE t1 OPTIMIZE PARTITION p0; +ALTER TABLE t1 REPAIR PARTITION p0; +ALTER TABLE t1 TRUNCATE PARTITION p0; +ALTER TABLE t1 DROP PARTITION p0; + +--source include/show_binlog_events.inc + +DROP TABLE t1; |