diff --git a/mysql-test/r/flush_read_lock.result b/mysql-test/r/flush_read_lock.result index cd7083405bf..85ed3d52d0c 100644 --- a/mysql-test/r/flush_read_lock.result +++ b/mysql-test/r/flush_read_lock.result @@ -544,11 +544,10 @@ Success: Was not able to run 'drop table t2_base' under FTWRL. Success: 'drop table t2_base' is blocked by FTWRL active in another connection. Success: FTWRL is blocked when 'drop table t2_base' is active in another connection. # 13.1.b) DROP TABLES which affects only temporary tables -# in theory can be compatible with FTWRL. -# In practice it is not yet. -Success: Was not able to run 'drop table t2_temp' under FTWRL. -Success: 'drop table t2_temp' is blocked by FTWRL active in another connection. -Success: FTWRL is blocked when 'drop table t2_temp' is active in another connection. +# is compatible with FTWRL. +Success: Was able to run 'drop table t2_temp' under FTWRL. +Success: Was able to run 'drop table t2_temp' with FTWRL active in another connection. +Success: Was able to run FTWRL while 'drop table t2_temp' was active in another connection. # # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL. Success: Was able to run 'drop temporary table t2_temp' under FTWRL. @@ -1461,24 +1460,10 @@ Success: Was able to run 'analyze table t3_temp_trans' under FTWRL. Success: Was able to run 'analyze table t3_temp_trans' with FTWRL active in another connection. Success: Was able to run FTWRL while 'analyze table t3_temp_trans' was active in another connection. # -# 39.2.c) Some statements do implicit commit and not -# considered read-only. As result they are -# not compatible with FTWRL. -# -flush tables with read lock; -# Implicit commits are allowed under FTWRL. -alter table t3_temp_trans add column c1 int; -unlock tables; -# -# Switching to connection 'con1'. -flush tables with read lock; -# Switching to connection 'default'. -alter table t3_temp_trans drop column c1; -# Switching to connection 'con1'. -# Check that ALTER TABLE is blocked. -unlock tables; -# Switching to connection 'default'. -# Reap ALTER TABLE +# And ALTER TABLE: +Success: Was able to run 'alter table t3_temp_trans add column c1 int' under FTWRL. +Success: Was able to run 'alter table t3_temp_trans add column c1 int' with FTWRL active in another connection. +Success: Was able to run FTWRL while 'alter table t3_temp_trans add column c1 int' was active in another connection. # # 40) Test effect of implicit commit for DDL which is otherwise # compatible with FTWRL. Implicit commit at the start of DDL diff --git a/mysql-test/t/flush_read_lock.test b/mysql-test/t/flush_read_lock.test index 9da93dd40a1..48be5425d3c 100644 --- a/mysql-test/t/flush_read_lock.test +++ b/mysql-test/t/flush_read_lock.test @@ -708,11 +708,10 @@ let $cleanup_stmt1= create table t2_base(j int); --source include/check_ftwrl_incompatible.inc --echo # 13.1.b) DROP TABLES which affects only temporary tables ---echo # in theory can be compatible with FTWRL. ---echo # In practice it is not yet. +--echo # is compatible with FTWRL. let $statement= drop table t2_temp; -let $cleanup_stmt1= create temporary table t2_temp(j int); ---source include/check_ftwrl_incompatible.inc +let $cleanup_stmt= create temporary table t2_temp(j int); +--source include/check_ftwrl_compatible.inc --echo # --echo # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL. @@ -1902,35 +1901,10 @@ let $statement= analyze table t3_temp_trans; let $cleanup_stmt= ; --source include/check_ftwrl_compatible.inc --echo # ---echo # 39.2.c) Some statements do implicit commit and not ---echo # considered read-only. As result they are ---echo # not compatible with FTWRL. ---echo # -flush tables with read lock; ---echo # Implicit commits are allowed under FTWRL. -alter table t3_temp_trans add column c1 int; -unlock tables; ---echo # ---echo # Switching to connection '$con_aux1'. -connection $con_aux1; -flush tables with read lock; ---echo # Switching to connection 'default'. -connection default; ---send alter table t3_temp_trans drop column c1 ---echo # Switching to connection '$con_aux1'. -connection $con_aux1; ---echo # Check that ALTER TABLE is blocked. -let $wait_condition= - select count(*) = 1 from information_schema.processlist - where state = "Waiting for commit lock" and - info = "alter table t3_temp_trans drop column c1"; ---source include/wait_condition.inc -unlock tables; ---echo # Switching to connection 'default'. -connection default; ---echo # Reap ALTER TABLE ---reap - +--echo # And ALTER TABLE: +let $statement= alter table t3_temp_trans add column c1 int; +let $cleanup_stmt= alter table t3_temp_trans drop column c1; +--source include/check_ftwrl_compatible.inc --echo # --echo # 40) Test effect of implicit commit for DDL which is otherwise