MDEV-6720 - enable connection log in mysqltest by default

This commit is contained in:
Sergey Vojtovich 2016-03-25 20:51:22 +04:00
commit 282497dd6d
1559 changed files with 38534 additions and 9891 deletions

View file

@ -1,6 +1,6 @@
# Establish connection con1 (user=root)
# Establish connection con2 (user=root)
# Establish connection con3 (user=root)
connect con1,localhost,root,,;
connect con2,localhost,root,,;
connect con3,localhost,root,,;
# Drop test table
drop table if exists t;
# Create test table
@ -8,21 +8,21 @@ create table t(a INT PRIMARY KEY, b INT) engine=InnoDB;
# Insert two rows to test table
insert into t values(2,1);
insert into t values(1,2);
# Switch to connection con1
connection con1;
BEGIN;
SELECT b FROM t WHERE a=1 FOR UPDATE;
# Switch to connection con2
connection con2;
BEGIN;
SELECT b FROM t WHERE a=2 FOR UPDATE;
# Switch to connection con1
connection con1;
SELECT b FROM t WHERE a=2 FOR UPDATE;
# Switch to connection con2
connection con2;
SELECT b FROM t WHERE a=1 FOR UPDATE;
# Switch to connection con1
connection con1;
ROLLBACK;
# Switch to connection con2
connection con2;
ROLLBACK;
# Switch to connection con3
connection con3;
Deadlocks: 1
# Drop test table
drop table t;

View file

@ -1,9 +1,6 @@
--source include/have_xtradb.inc
--echo # Establish connection con1 (user=root)
connect (con1,localhost,root,,);
--echo # Establish connection con2 (user=root)
connect (con2,localhost,root,,);
--echo # Establish connection con3 (user=root)
connect (con3,localhost,root,,);
--echo # Drop test table
--disable_warnings
@ -21,35 +18,28 @@ let $current = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHER
--disable_result_log
--echo # Switch to connection con1
connection con1;
BEGIN; SELECT b FROM t WHERE a=1 FOR UPDATE;
--echo # Switch to connection con2
connection con2;
BEGIN; SELECT b FROM t WHERE a=2 FOR UPDATE;
--echo # Switch to connection con1
connection con1;
SEND SELECT b FROM t WHERE a=2 FOR UPDATE;
--echo # Switch to connection con2
connection con2;
SEND SELECT b FROM t WHERE a=1 FOR UPDATE;
--echo # Switch to connection con1
connection con1;
--error 0, ER_LOCK_DEADLOCK
reap;
ROLLBACK;
--echo # Switch to connection con2
connection con2;
--error 0, ER_LOCK_DEADLOCK
reap;
ROLLBACK;
--echo # Switch to connection con3
connection con3;
let $result = `SELECT VARIABLE_VALUE FROM INFORMATION_SCHEMA.GLOBAL_STATUS WHERE VARIABLE_NAME = 'Innodb_deadlocks'`;

View file

@ -2,18 +2,22 @@ DROP TABLE IF EXISTS t1;
# Verifying that X_LOCK not acquired
CREATE TABLE t1 (a INT) ENGINE=InnoDB;
INSERT INTO t1 VALUES (1);
connect conn1,localhost,root,,;
connection conn1;
SET autocommit=0;
SET innodb_fake_changes=1;
BEGIN;
SELECT * FROM t1 FOR UPDATE;
a
1
connection default;
SET innodb_lock_wait_timeout=3;
UPDATE t1 SET a=2;
ERROR HY000: Lock wait timeout exceeded; try restarting transaction
SELECT * FROM t1 LOCK IN SHARE MODE;
a
1
connection conn1;
ROLLBACK;
SET innodb_fake_changes=default;
DROP TABLE t1;