Commit 093d94cc authored by Dmitry Lenev's avatar Dmitry Lenev

Merged recent changes from mysql-5.5 tree with

fix for bug @59888.
parents 1cff3f95 44fac8ea
...@@ -2,22 +2,24 @@ ...@@ -2,22 +2,24 @@
# #
# BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log" # BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
# Replication should work when OPTIMIZE TABLE timeouts, and # Replication should work when when OPTIMIZE TABLE is
# when OPTIMIZE TABLE is executed on a non-existing table # executed on a non-existing table.
# #
# Due to patch for BUG#989, checking that an OPTIMIZE
# that fails due to a lock wait timeout on an InnoDB table
# is not valid anymore, as an mdl lock is hit before,
# thence no timeout occurs, but instead a deadlock.
#
eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type; eval CREATE TABLE t1 ( a int ) ENGINE=$engine_type;
BEGIN; BEGIN;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
connection master1; connection master1;
OPTIMIZE TABLE t1;
OPTIMIZE TABLE non_existing; OPTIMIZE TABLE non_existing;
sync_slave_with_master; sync_slave_with_master;
# End of 4.1 tests
connection master; connection master;
select * from t1; select * from t1;
commit; commit;
......
...@@ -3,13 +3,6 @@ include/master-slave.inc ...@@ -3,13 +3,6 @@ include/master-slave.inc
CREATE TABLE t1 ( a int ) ENGINE=InnoDB; CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
BEGIN; BEGIN;
INSERT INTO t1 VALUES (1); INSERT INTO t1 VALUES (1);
OPTIMIZE TABLE t1;
Table Op Msg_type Msg_text
test.t1 optimize note Table does not support optimize, doing recreate + analyze instead
test.t1 optimize error Lock wait timeout exceeded; try restarting transaction
test.t1 optimize status Operation failed
Warnings:
Error 1205 Lock wait timeout exceeded; try restarting transaction
OPTIMIZE TABLE non_existing; OPTIMIZE TABLE non_existing;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.non_existing optimize Error Table 'test.non_existing' doesn't exist test.non_existing optimize Error Table 'test.non_existing' doesn't exist
......
...@@ -27,15 +27,26 @@ a ...@@ -27,15 +27,26 @@ a
2001 2001
set global read_only=0; set global read_only=0;
BEGIN; BEGIN;
BEGIN;
select @@read_only;
@@read_only
0
set global read_only=1;
*** On SUPER USER connection ***
insert into t1 values(1002); insert into t1 values(1002);
insert into t2 values(2002); insert into t2 values(2002);
BEGIN; *** On regular USER connection ***
insert into t1 values(1003); insert into t1 values(1003);
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
insert into t2 values(2003); insert into t2 values(2003);
set global read_only=1; ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
*** SUPER USER COMMIT (must succeed) ***
COMMIT; COMMIT;
*** regular USER COMMIT (must succeed - nothing to commit) ***
COMMIT; COMMIT;
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement select @@read_only;
@@read_only
1
set global read_only=0; set global read_only=0;
insert into t1 values(1004); insert into t1 values(1004);
insert into t2 values(2004); insert into t2 values(2004);
...@@ -48,7 +59,6 @@ select * from t2; ...@@ -48,7 +59,6 @@ select * from t2;
a a
2001 2001
2002 2002
2003
2004 2004
select * from t1; select * from t1;
a a
...@@ -59,7 +69,6 @@ select * from t2; ...@@ -59,7 +69,6 @@ select * from t2;
a a
2001 2001
2002 2002
2003
2004 2004
set global read_only=1; set global read_only=1;
select @@read_only; select @@read_only;
...@@ -87,7 +96,6 @@ select * from t2; ...@@ -87,7 +96,6 @@ select * from t2;
a a
2001 2001
2002 2002
2003
2004 2004
2005 2005
select * from t1; select * from t1;
...@@ -100,7 +108,6 @@ select * from t2; ...@@ -100,7 +108,6 @@ select * from t2;
a a
2001 2001
2002 2002
2003
2004 2004
2005 2005
insert into t1 values(1006); insert into t1 values(1006);
......
...@@ -10,8 +10,6 @@ ...@@ -10,8 +10,6 @@
# #
############################################################################## ##############################################################################
rpl_failed_optimize : WL#4284: Can't optimize table used by a pending transaction (there is metadata lock on the table).
rpl_read_only : WL#4284: Setting Read only won't succeed until all metadata locks are released.
rpl_row_create_table : Bug#51574 2010-02-27 andrei failed different way than earlier with bug#45576 rpl_row_create_table : Bug#51574 2010-02-27 andrei failed different way than earlier with bug#45576
rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux rpl_spec_variables : BUG#47661 2009-10-27 jasonh rpl_spec_variables fails on PB2 hpux
rpl_get_master_version_and_clock : Bug#59178 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock rpl_get_master_version_and_clock : Bug#59178 Jan 05 2011 joro Valgrind warnings rpl_get_master_version_and_clock
......
...@@ -41,30 +41,39 @@ set global read_only=0; ...@@ -41,30 +41,39 @@ set global read_only=0;
connection master1; connection master1;
BEGIN; BEGIN;
connection master2;
BEGIN;
connection master;
select @@read_only;
set global read_only=1;
connection master1;
-- echo *** On SUPER USER connection ***
insert into t1 values(1002); insert into t1 values(1002);
--disable_warnings --disable_warnings
insert into t2 values(2002); insert into t2 values(2002);
--enable_warnings --enable_warnings
connection master2; connection master2;
BEGIN; -- echo *** On regular USER connection ***
--error ER_OPTION_PREVENTS_STATEMENT
insert into t1 values(1003); insert into t1 values(1003);
--disable_warnings --error ER_OPTION_PREVENTS_STATEMENT
insert into t2 values(2003); insert into t2 values(2003);
--enable_warnings
connection master;
set global read_only=1;
connection master1; connection master1;
## works even with read_only=1, because master1 is root ## works even with read_only=1, because master1 is root
-- echo *** SUPER USER COMMIT (must succeed) ***
COMMIT; COMMIT;
connection master2; connection master2;
--error ER_OPTION_PREVENTS_STATEMENT -- echo *** regular USER COMMIT (must succeed - nothing to commit) ***
COMMIT; COMMIT;
connection master; connection master;
select @@read_only;
set global read_only=0; set global read_only=0;
connection master1; connection master1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment