Browse Source
merge of bug#58147, including rename of the new argument,
merge of bug#58147, including rename of the new argument,
to_binlog -> binlog_stmt.pull/374/head
5 changed files with 112 additions and 6 deletions
-
56mysql-test/r/partition_binlog.result
-
42mysql-test/t/partition_binlog.test
-
7sql/ha_partition.cc
-
2sql/ha_partition.h
-
11sql/sql_partition_admin.cc
@ -0,0 +1,56 @@ |
|||
DROP TABLE IF EXISTS t1; |
|||
# |
|||
# Bug#58147: ALTER TABLE w/ TRUNCATE PARTITION fails |
|||
# but the statement is written to binlog |
|||
# |
|||
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); |
|||
ALTER TABLE t1 TRUNCATE PARTITION p1; |
|||
ERROR HY000: Incorrect partition name |
|||
ALTER TABLE t1 DROP PARTITION p1; |
|||
ERROR HY000: Error in list of partitions to DROP |
|||
# No error returned, output in table format instead: |
|||
ALTER TABLE t1 ANALYZE PARTITION p1; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 analyze error Error in list of partitions to test.t1 |
|||
ALTER TABLE t1 CHECK PARTITION p1; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 check error Error in list of partitions to test.t1 |
|||
ALTER TABLE t1 OPTIMIZE PARTITION p1; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 optimize error Error in list of partitions to test.t1 |
|||
ALTER TABLE t1 REPAIR PARTITION p1; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 repair error Error in list of partitions to test.t1 |
|||
ALTER TABLE t1 ANALYZE PARTITION p0; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 analyze status OK |
|||
ALTER TABLE t1 CHECK PARTITION p0; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 check status OK |
|||
ALTER TABLE t1 OPTIMIZE PARTITION p0; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 optimize status OK |
|||
ALTER TABLE t1 REPAIR PARTITION p0; |
|||
Table Op Msg_type Msg_text |
|||
test.t1 repair status OK |
|||
ALTER TABLE t1 TRUNCATE PARTITION p0; |
|||
ALTER TABLE t1 DROP PARTITION p0; |
|||
show binlog events in 'master-bin.000001' from <binlog_start>; |
|||
Log_name Pos Event_type Server_id End_log_pos Info |
|||
master-bin.000001 # Query # # use `test`; CREATE TABLE t1(id INT) |
|||
PARTITION BY RANGE (id) |
|||
(PARTITION p0 VALUES LESS THAN (100), |
|||
PARTITION pmax VALUES LESS THAN (MAXVALUE)) |
|||
master-bin.000001 # Query # # BEGIN |
|||
master-bin.000001 # Query # # use `test`; INSERT INTO t1 VALUES (1), (10), (100), (1000) |
|||
master-bin.000001 # Query # # COMMIT |
|||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 ANALYZE PARTITION p0 |
|||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 OPTIMIZE PARTITION p0 |
|||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 REPAIR PARTITION p0 |
|||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 TRUNCATE PARTITION p0 |
|||
master-bin.000001 # Query # # use `test`; ALTER TABLE t1 DROP PARTITION p0 |
|||
DROP TABLE t1; |
@ -0,0 +1,42 @@ |
|||
--source include/have_log_bin.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 # |
|||
|
|||
--let $binlog_file=query_get_value(SHOW MASTER STATUS, File, 1) |
|||
--let $binlog_start=query_get_value(SHOW MASTER STATUS, Position, 1) |
|||
|
|||
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); |
|||
|
|||
--error ER_WRONG_PARTITION_NAME |
|||
ALTER TABLE t1 TRUNCATE PARTITION p1; |
|||
--error ER_DROP_PARTITION_NON_EXISTENT |
|||
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; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue