Loading mysql-test/r/rpl_commit_after_flush.result 0 → 100644 +13 −0 Original line number Diff line number Diff line slave stop; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; slave start; create table t1 (a int) type=innodb; begin; insert into t1 values(1); flush tables with read lock; commit; unlock tables; drop table t1; mysql-test/t/rpl_commit_after_flush.test 0 → 100644 +17 −0 Original line number Diff line number Diff line source include/master-slave.inc; source include/have_innodb.inc; create table t1 (a int) type=innodb; begin; insert into t1 values(1); flush tables with read lock; commit; save_master_pos; connection slave; sync_with_master; # cleanup connection master; unlock tables; drop table t1; save_master_pos; connection slave; sync_with_master; sql/lock.cc +8 −2 Original line number Diff line number Diff line Loading @@ -751,9 +751,15 @@ bool wait_if_global_read_lock(THD *thd, bool abort_on_refresh, bool is_not_commi { if (thd->global_read_lock) // This thread had the read locks { if (is_not_commit) my_error(ER_CANT_UPDATE_WITH_READLOCK,MYF(0)); (void) pthread_mutex_unlock(&LOCK_open); DBUG_RETURN(1); /* We allow FLUSHer to COMMIT; we assume FLUSHer knows what it does. This allowance is needed to not break existing versions of innobackup which do a BEGIN; INSERT; FLUSH TABLES WITH READ LOCK; COMMIT. */ DBUG_RETURN(is_not_commit); } old_message=thd->enter_cond(&COND_refresh, &LOCK_open, "Waiting for release of readlock"); Loading Loading
mysql-test/r/rpl_commit_after_flush.result 0 → 100644 +13 −0 Original line number Diff line number Diff line slave stop; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; reset master; reset slave; drop table if exists t1,t2,t3,t4,t5,t6,t7,t8,t9; slave start; create table t1 (a int) type=innodb; begin; insert into t1 values(1); flush tables with read lock; commit; unlock tables; drop table t1;
mysql-test/t/rpl_commit_after_flush.test 0 → 100644 +17 −0 Original line number Diff line number Diff line source include/master-slave.inc; source include/have_innodb.inc; create table t1 (a int) type=innodb; begin; insert into t1 values(1); flush tables with read lock; commit; save_master_pos; connection slave; sync_with_master; # cleanup connection master; unlock tables; drop table t1; save_master_pos; connection slave; sync_with_master;
sql/lock.cc +8 −2 Original line number Diff line number Diff line Loading @@ -751,9 +751,15 @@ bool wait_if_global_read_lock(THD *thd, bool abort_on_refresh, bool is_not_commi { if (thd->global_read_lock) // This thread had the read locks { if (is_not_commit) my_error(ER_CANT_UPDATE_WITH_READLOCK,MYF(0)); (void) pthread_mutex_unlock(&LOCK_open); DBUG_RETURN(1); /* We allow FLUSHer to COMMIT; we assume FLUSHer knows what it does. This allowance is needed to not break existing versions of innobackup which do a BEGIN; INSERT; FLUSH TABLES WITH READ LOCK; COMMIT. */ DBUG_RETURN(is_not_commit); } old_message=thd->enter_cond(&COND_refresh, &LOCK_open, "Waiting for release of readlock"); Loading