mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merged recent changes from mysql-5.5 tree with
fix for bug @59888.
This commit is contained in:
@ -2,22 +2,24 @@
|
||||
|
||||
#
|
||||
# BUG#5551 "Failed OPTIMIZE TABLE is logged to binary log"
|
||||
# Replication should work when OPTIMIZE TABLE timeouts, and
|
||||
# when OPTIMIZE TABLE is executed on a non-existing table
|
||||
# Replication should work when when OPTIMIZE TABLE is
|
||||
# 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;
|
||||
BEGIN;
|
||||
INSERT INTO t1 VALUES (1);
|
||||
|
||||
connection master1;
|
||||
OPTIMIZE TABLE t1;
|
||||
|
||||
OPTIMIZE TABLE non_existing;
|
||||
sync_slave_with_master;
|
||||
|
||||
# End of 4.1 tests
|
||||
|
||||
connection master;
|
||||
select * from t1;
|
||||
commit;
|
||||
|
@ -3,13 +3,6 @@ include/master-slave.inc
|
||||
CREATE TABLE t1 ( a int ) ENGINE=InnoDB;
|
||||
BEGIN;
|
||||
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;
|
||||
Table Op Msg_type Msg_text
|
||||
test.non_existing optimize Error Table 'test.non_existing' doesn't exist
|
||||
|
@ -27,15 +27,26 @@ a
|
||||
2001
|
||||
set global read_only=0;
|
||||
BEGIN;
|
||||
BEGIN;
|
||||
select @@read_only;
|
||||
@@read_only
|
||||
0
|
||||
set global read_only=1;
|
||||
*** On SUPER USER connection ***
|
||||
insert into t1 values(1002);
|
||||
insert into t2 values(2002);
|
||||
BEGIN;
|
||||
*** On regular USER connection ***
|
||||
insert into t1 values(1003);
|
||||
insert into t2 values(2003);
|
||||
set global read_only=1;
|
||||
COMMIT;
|
||||
COMMIT;
|
||||
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
|
||||
insert into t2 values(2003);
|
||||
ERROR HY000: The MySQL server is running with the --read-only option so it cannot execute this statement
|
||||
*** SUPER USER COMMIT (must succeed) ***
|
||||
COMMIT;
|
||||
*** regular USER COMMIT (must succeed - nothing to commit) ***
|
||||
COMMIT;
|
||||
select @@read_only;
|
||||
@@read_only
|
||||
1
|
||||
set global read_only=0;
|
||||
insert into t1 values(1004);
|
||||
insert into t2 values(2004);
|
||||
@ -48,7 +59,6 @@ select * from t2;
|
||||
a
|
||||
2001
|
||||
2002
|
||||
2003
|
||||
2004
|
||||
select * from t1;
|
||||
a
|
||||
@ -59,7 +69,6 @@ select * from t2;
|
||||
a
|
||||
2001
|
||||
2002
|
||||
2003
|
||||
2004
|
||||
set global read_only=1;
|
||||
select @@read_only;
|
||||
@ -87,7 +96,6 @@ select * from t2;
|
||||
a
|
||||
2001
|
||||
2002
|
||||
2003
|
||||
2004
|
||||
2005
|
||||
select * from t1;
|
||||
@ -100,7 +108,6 @@ select * from t2;
|
||||
a
|
||||
2001
|
||||
2002
|
||||
2003
|
||||
2004
|
||||
2005
|
||||
insert into t1 values(1006);
|
||||
|
@ -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_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
|
||||
|
@ -1 +0,0 @@
|
||||
--loose-innodb-lock-wait-timeout=1
|
@ -41,30 +41,39 @@ set global read_only=0;
|
||||
|
||||
connection master1;
|
||||
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);
|
||||
--disable_warnings
|
||||
insert into t2 values(2002);
|
||||
--enable_warnings
|
||||
|
||||
connection master2;
|
||||
BEGIN;
|
||||
-- echo *** On regular USER connection ***
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
insert into t1 values(1003);
|
||||
--disable_warnings
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
insert into t2 values(2003);
|
||||
--enable_warnings
|
||||
|
||||
connection master;
|
||||
set global read_only=1;
|
||||
|
||||
connection master1;
|
||||
## works even with read_only=1, because master1 is root
|
||||
-- echo *** SUPER USER COMMIT (must succeed) ***
|
||||
COMMIT;
|
||||
|
||||
connection master2;
|
||||
--error ER_OPTION_PREVENTS_STATEMENT
|
||||
-- echo *** regular USER COMMIT (must succeed - nothing to commit) ***
|
||||
COMMIT;
|
||||
|
||||
connection master;
|
||||
select @@read_only;
|
||||
set global read_only=0;
|
||||
|
||||
connection master1;
|
||||
|
Reference in New Issue
Block a user