Commit cf039ec1 authored by Sergei Golubchik's avatar Sergei Golubchik

fix flush_read_lock - update the test and results form 5.6

parent 4620c7af
...@@ -544,11 +544,10 @@ Success: Was not able to run 'drop table t2_base' under FTWRL. ...@@ -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: '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. Success: FTWRL is blocked when 'drop table t2_base' is active in another connection.
# 13.1.b) DROP TABLES which affects only temporary tables # 13.1.b) DROP TABLES which affects only temporary tables
# in theory can be compatible with FTWRL. # is compatible with FTWRL.
# In practice it is not yet. Success: Was able to run 'drop table t2_temp' under FTWRL.
Success: Was not 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: 'drop table t2_temp' is blocked by FTWRL active in another connection. Success: Was able to run FTWRL while 'drop table t2_temp' was active in another connection.
Success: FTWRL is blocked when 'drop table t2_temp' is active in another connection.
# #
# 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL. # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL.
Success: Was able to run 'drop temporary table t2_temp' under 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. ...@@ -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 '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. 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 # And ALTER TABLE:
# considered read-only. As result they are Success: Was able to run 'alter table t3_temp_trans add column c1 int' under FTWRL.
# not compatible with 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.
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
# #
# 40) Test effect of implicit commit for DDL which is otherwise # 40) Test effect of implicit commit for DDL which is otherwise
# compatible with FTWRL. Implicit commit at the start of DDL # compatible with FTWRL. Implicit commit at the start of DDL
......
...@@ -708,11 +708,10 @@ let $cleanup_stmt1= create table t2_base(j int); ...@@ -708,11 +708,10 @@ let $cleanup_stmt1= create table t2_base(j int);
--source include/check_ftwrl_incompatible.inc --source include/check_ftwrl_incompatible.inc
--echo # 13.1.b) DROP TABLES which affects only temporary tables --echo # 13.1.b) DROP TABLES which affects only temporary tables
--echo # in theory can be compatible with FTWRL. --echo # is compatible with FTWRL.
--echo # In practice it is not yet.
let $statement= drop table t2_temp; let $statement= drop table t2_temp;
let $cleanup_stmt1= create temporary table t2_temp(j int); let $cleanup_stmt= create temporary table t2_temp(j int);
--source include/check_ftwrl_incompatible.inc --source include/check_ftwrl_compatible.inc
--echo # --echo #
--echo # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL. --echo # 13.1.c) DROP TEMPORARY TABLES should be compatible with FTWRL.
...@@ -1902,35 +1901,10 @@ let $statement= analyze table t3_temp_trans; ...@@ -1902,35 +1901,10 @@ let $statement= analyze table t3_temp_trans;
let $cleanup_stmt= ; let $cleanup_stmt= ;
--source include/check_ftwrl_compatible.inc --source include/check_ftwrl_compatible.inc
--echo # --echo #
--echo # 39.2.c) Some statements do implicit commit and not --echo # And ALTER TABLE:
--echo # considered read-only. As result they are let $statement= alter table t3_temp_trans add column c1 int;
--echo # not compatible with FTWRL. let $cleanup_stmt= alter table t3_temp_trans drop column c1;
--echo # --source include/check_ftwrl_compatible.inc
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 # --echo #
--echo # 40) Test effect of implicit commit for DDL which is otherwise --echo # 40) Test effect of implicit commit for DDL which is otherwise
......
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