#At file:///home/anders/Work/bzrwork/wt1/mysql-trunk-wl5576/ based on revid:li-bing.song@stripped
3209 Li-Bing.Song@stripped 2010-12-28
WL#5576
Revert the last patch to verify if
the failures on PB2 are introduced by this patch.
modified:
mysql-test/include/unsafe_binlog.inc
mysql-test/r/func_rollback.result
mysql-test/r/mdl_sync.result
mysql-test/r/unsafe_binlog_innodb.result
mysql-test/suite/innodb/r/innodb.result
mysql-test/suite/innodb/t/innodb.test
mysql-test/t/func_rollback.test
mysql-test/t/mdl_sync.test
=== modified file 'mysql-test/include/unsafe_binlog.inc'
--- a/mysql-test/include/unsafe_binlog.inc 2010-12-21 10:56:49 +0000
+++ b/mysql-test/include/unsafe_binlog.inc 2010-12-28 11:57:47 +0000
@@ -245,7 +245,7 @@ connection i;
reap;
connection j;
---error ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT
+--error ER_LOCK_WAIT_TIMEOUT
reap;
connection a;
=== modified file 'mysql-test/r/func_rollback.result'
--- a/mysql-test/r/func_rollback.result 2010-12-21 10:56:49 +0000
+++ b/mysql-test/r/func_rollback.result 2010-12-28 11:57:47 +0000
@@ -391,11 +391,11 @@ DROP VIEW v1_func;
# FUNCTION in CREATE TABLE ... AS SELECT
CREATE TABLE t1_fail AS SELECT f1_two_inserts() FROM t1_select;
-ERROR HY000: Can't update table 't1_not_null' using a stored function while 't1_fail' is being created.
+ERROR 23000: Column 'f2' cannot be null
SELECT * FROM t1_not_null ORDER BY f1,f2;
f1 f2
CREATE TABLE t1_fail AS SELECT * FROM t1_select WHERE 1 = f1_two_inserts();
-ERROR HY000: Can't update table 't1_not_null' using a stored function while 't1_fail' is being created.
+ERROR 23000: Column 'f2' cannot be null
SELECT * FROM t1_not_null ORDER BY f1,f2;
f1 f2
=== modified file 'mysql-test/r/mdl_sync.result'
--- a/mysql-test/r/mdl_sync.result 2010-12-21 10:56:49 +0000
+++ b/mysql-test/r/mdl_sync.result 2010-12-28 11:57:47 +0000
@@ -2293,18 +2293,13 @@ set global log_output=@save_log_output;
#
drop tables if exists t1, t2;
create table t1 (i int);
-insert into t1 values(1);
# Let us check that we won't deadlock if during filling
# of I_S table we encounter conflicting metadata lock
# which owner is in its turn waiting for our connection.
lock tables t1 read;
-# Switching to connection 'con46044_2'.
-# Sending:
-update t1 set i = 2;
# Switching to connection 'con46044'.
-# Waiting until UPDATE t1 SET ... is blocked.
# Sending:
-create table t2 select * from t1;;
+create table t2 select * from t1 for update;;
# Switching to connection 'default'.
# Waiting until CREATE TABLE ... SELECT ... is blocked.
# First let us check that SHOW FIELDS/DESCRIBE doesn't
@@ -2332,7 +2327,6 @@ unlock tables;
# Switching to connection 'con46044'.
# Reaping CREATE TABLE ... SELECT ... .
drop table t2;
-# Reaping UPDATE t1 statement
#
# Let us also check that queries to I_S wait for conflicting metadata
# locks to go away instead of skipping table with a warning in cases
@@ -2342,13 +2336,9 @@ drop table t2;
# We check same three queries to I_S in this new situation.
# Switching to connection 'con46044_2'.
lock tables t1 read;
-# Switching to connection 'con46044_3'.
-# Sending:
-update t1 set i = 3;
# Switching to connection 'con46044'.
-# Waiting until UPDATE t1 SET ... is blocked.
# Sending:
-create table t2 select * from t1;;
+create table t2 select * from t1 for update;;
# Switching to connection 'default'.
# Waiting until CREATE TABLE ... SELECT ... is blocked.
# Let us check that SHOW FIELDS/DESCRIBE gets blocked.
@@ -2364,16 +2354,11 @@ unlock tables;
Field Type Null Key Default Extra
i int(11) YES NULL
drop table t2;
-# Reaping UPDATE t1 statement
# Switching to connection 'con46044_2'.
lock tables t1 read;
-# Switching to connection 'con46044_3'.
-# Sending:
-update t1 set i = 4;
# Switching to connection 'con46044'.
-# Waiting until UPDATE t1 SET ... is blocked.
# Sending:
-create table t2 select * from t1;;
+create table t2 select * from t1 for update;;
# Switching to connection 'default'.
# Waiting until CREATE TABLE ... SELECT ... is blocked.
# Check that I_S query which reads only .FRMs gets blocked.
@@ -2389,16 +2374,11 @@ unlock tables;
column_name
i
drop table t2;
-# Reaping UPDATE t1 statement
# Switching to connection 'con46044_2'.
lock tables t1 read;
-# Switching to connection 'con46044_3'.
-# Sending:
-update t1 set i = 5;
# Switching to connection 'con46044'.
-# Waiting until UPDATE t1 SET ... is blocked.
# Sending:
-create table t2 select * from t1;;
+create table t2 select * from t1 for update;;
# Switching to connection 'default'.
# Waiting until CREATE TABLE ... SELECT ... is blocked.
# Finally, check that I_S query which does full-blown table open
@@ -2415,7 +2395,6 @@ unlock tables;
table_name table_type auto_increment table_comment
t2 BASE TABLE NULL
drop table t2;
-# Reaping UPDATE t1 statement
# Switching to connection 'default'.
# Clean-up.
drop table t1;
=== modified file 'mysql-test/r/unsafe_binlog_innodb.result'
--- a/mysql-test/r/unsafe_binlog_innodb.result 2010-12-21 10:56:49 +0000
+++ b/mysql-test/r/unsafe_binlog_innodb.result 2010-12-28 11:57:47 +0000
@@ -118,6 +118,6 @@ ERROR HY000: Lock wait timeout exceeded;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-ERROR HY000: Can't update table 't2' using a stored function while 't10' is being created.
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
drop table t1, t2, t3, t5, t6, t8, t9;
=== modified file 'mysql-test/suite/innodb/r/innodb.result'
--- a/mysql-test/suite/innodb/r/innodb.result 2010-12-21 10:56:49 +0000
+++ b/mysql-test/suite/innodb/r/innodb.result 2010-12-28 11:57:47 +0000
@@ -2949,7 +2949,7 @@ ERROR HY000: Lock wait timeout exceeded;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
-ERROR HY000: Can't update table 't2' using a stored function while 't10' is being created.
+ERROR HY000: Lock wait timeout exceeded; try restarting transaction
commit;
drop table t1, t2, t3, t5, t6, t8, t9;
CREATE TABLE t1 (DB_ROW_ID int) engine=innodb;
=== modified file 'mysql-test/suite/innodb/t/innodb.test'
--- a/mysql-test/suite/innodb/t/innodb.test 2010-12-21 10:56:49 +0000
+++ b/mysql-test/suite/innodb/t/innodb.test 2010-12-28 11:57:47 +0000
@@ -2175,7 +2175,6 @@ set autocommit = 0;
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
--send
insert into t5 (select * from t2 lock in share mode);
-
connection f;
SET binlog_format='MIXED';
set autocommit = 0;
@@ -2240,7 +2239,7 @@ connection i;
reap;
connection j;
---error ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT
+--error 1205
reap;
connection a;
=== modified file 'mysql-test/t/func_rollback.test'
--- a/mysql-test/t/func_rollback.test 2010-12-21 10:56:49 +0000
+++ b/mysql-test/t/func_rollback.test 2010-12-28 11:57:47 +0000
@@ -409,11 +409,11 @@ DROP VIEW v1_func;
--echo
--echo # FUNCTION in CREATE TABLE ... AS SELECT
---error ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT
+--error ER_BAD_NULL_ERROR
CREATE TABLE t1_fail AS SELECT f1_two_inserts() FROM t1_select;
SELECT * FROM t1_not_null ORDER BY f1,f2;
#
---error ER_CANT_UPDATE_TABLE_IN_CREATE_TABLE_SELECT
+--error ER_BAD_NULL_ERROR
CREATE TABLE t1_fail AS SELECT * FROM t1_select WHERE 1 = f1_two_inserts();
SELECT * FROM t1_not_null ORDER BY f1,f2;
#
=== modified file 'mysql-test/t/mdl_sync.test'
--- a/mysql-test/t/mdl_sync.test 2010-12-21 10:56:49 +0000
+++ b/mysql-test/t/mdl_sync.test 2010-12-28 11:57:47 +0000
@@ -3345,33 +3345,18 @@ drop tables if exists t1, t2;
--enable_warnings
connect (con46044, localhost, root,,);
connect (con46044_2, localhost, root,,);
-connect (con46044_3, localhost, root,,);
connection default;
create table t1 (i int);
-insert into t1 values(1);
--echo # Let us check that we won't deadlock if during filling
--echo # of I_S table we encounter conflicting metadata lock
--echo # which owner is in its turn waiting for our connection.
lock tables t1 read;
---echo # Switching to connection 'con46044_2'.
-connection con46044_2;
---echo # Sending:
---send update t1 set i = 2
-
--echo # Switching to connection 'con46044'.
connection con46044;
-
---echo # Waiting until UPDATE t1 SET ... is blocked.
-let $wait_condition=
- select count(*) = 1 from information_schema.processlist
- where state = "Waiting for table level lock" and
- info = "update t1 set i = 2";
---source include/wait_condition.inc
-
--echo # Sending:
---send create table t2 select * from t1;
+--send create table t2 select * from t1 for update;
--echo # Switching to connection 'default'.
connection default;
@@ -3379,7 +3364,7 @@ connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table level lock" and
- info = "create table t2 select * from t1";
+ info = "create table t2 select * from t1 for update";
--source include/wait_condition.inc
--echo # First let us check that SHOW FIELDS/DESCRIBE doesn't
@@ -3410,10 +3395,6 @@ connection con46044;
--reap
drop table t2;
-connection con46044_2;
---echo # Reaping UPDATE t1 statement
---reap
-
--echo #
--echo # Let us also check that queries to I_S wait for conflicting metadata
--echo # locks to go away instead of skipping table with a warning in cases
@@ -3426,23 +3407,10 @@ connection con46044_2;
connection con46044_2;
lock tables t1 read;
---echo # Switching to connection 'con46044_3'.
-connection con46044_3;
---echo # Sending:
-send update t1 set i = 3;
-
--echo # Switching to connection 'con46044'.
connection con46044;
-
---echo # Waiting until UPDATE t1 SET ... is blocked.
-let $wait_condition=
- select count(*) = 1 from information_schema.processlist
- where state = "Waiting for table level lock" and
- info = "update t1 set i = 3";
---source include/wait_condition.inc
-
--echo # Sending:
---send create table t2 select * from t1;
+--send create table t2 select * from t1 for update;
--echo # Switching to connection 'default'.
connection default;
@@ -3450,7 +3418,7 @@ connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table level lock" and
- info = "create table t2 select * from t1";
+ info = "create table t2 select * from t1 for update";
--source include/wait_condition.inc
--echo # Let us check that SHOW FIELDS/DESCRIBE gets blocked.
@@ -3479,31 +3447,14 @@ connection default;
--reap
drop table t2;
-connection con46044_3;
---echo # Reaping UPDATE t1 statement
---reap
-
--echo # Switching to connection 'con46044_2'.
connection con46044_2;
lock tables t1 read;
---echo # Switching to connection 'con46044_3'.
-connection con46044_3;
---echo # Sending:
---send update t1 set i = 4
-
--echo # Switching to connection 'con46044'.
connection con46044;
-
---echo # Waiting until UPDATE t1 SET ... is blocked.
-let $wait_condition=
- select count(*) = 1 from information_schema.processlist
- where state = "Waiting for table level lock" and
- info = "update t1 set i = 4";
---source include/wait_condition.inc
-
--echo # Sending:
---send create table t2 select * from t1;
+--send create table t2 select * from t1 for update;
--echo # Switching to connection 'default'.
connection default;
@@ -3511,7 +3462,7 @@ connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table level lock" and
- info = "create table t2 select * from t1";
+ info = "create table t2 select * from t1 for update";
--source include/wait_condition.inc
--echo # Check that I_S query which reads only .FRMs gets blocked.
@@ -3540,31 +3491,14 @@ connection default;
--reap
drop table t2;
-connection con46044_3;
---echo # Reaping UPDATE t1 statement
---reap
-
--echo # Switching to connection 'con46044_2'.
connection con46044_2;
lock tables t1 read;
---echo # Switching to connection 'con46044_3'.
-connection con46044_3;
---echo # Sending:
---send update t1 set i = 5
-
--echo # Switching to connection 'con46044'.
connection con46044;
-
---echo # Waiting until UPDATE t1 SET ... is blocked.
-let $wait_condition=
- select count(*) = 1 from information_schema.processlist
- where state = "Waiting for table level lock" and
- info = "update t1 set i = 5";
---source include/wait_condition.inc
-
--echo # Sending:
---send create table t2 select * from t1;
+--send create table t2 select * from t1 for update;
--echo # Switching to connection 'default'.
connection default;
@@ -3572,7 +3506,7 @@ connection default;
let $wait_condition=
select count(*) = 1 from information_schema.processlist
where state = "Waiting for table level lock" and
- info = "create table t2 select * from t1";
+ info = "create table t2 select * from t1 for update";
--source include/wait_condition.inc
--echo # Finally, check that I_S query which does full-blown table open
@@ -3602,16 +3536,11 @@ connection default;
--reap
drop table t2;
-connection con46044_3;
---echo # Reaping UPDATE t1 statement
---reap
-
--echo # Switching to connection 'default'.
connection default;
--echo # Clean-up.
disconnect con46044;
disconnect con46044_2;
-disconnect con46044_3;
drop table t1;
Attachment: [text/bzr-bundle] bzr/li-bing.song@sun.com-20101228115747-gajkthqmuzj258z0.bundle
| Thread |
|---|
| • bzr commit into mysql-trunk branch (Li-Bing.Song:3209) WL#5576 | Li-Bing.Song | 28 Dec |