bdb-deadlock.test
上传用户:romrleung
上传日期:2022-05-23
资源大小:18897k
文件大小:1k
- # This test doesn't work with the embedded version as this code
- # assumes that one query is running while we are doing queries on
- # a second connection.
- # This would work if mysqltest run would be threaded and handle each
- # connection in a separate thread.
- #
- -- source include/not_embedded.inc
- -- source include/have_bdb.inc
- connect (con1,localhost,root,,);
- connect (con2,localhost,root,,);
- --disable_warnings
- drop table if exists t1,t2;
- --enable_warnings
- connection con1;
- create table t1 (id integer, x integer) engine=BDB;
- create table t2 (id integer, x integer) engine=BDB;
- insert into t1 values(0, 0);
- insert into t2 values(0, 0);
- set autocommit=0;
- update t1 set x = 1 where id = 0;
- connection con2;
- set autocommit=0;
- update t2 set x = 1 where id = 0;
- # The following query should hang because con1 is locking the page
- --send
- select x from t1 where id = 0;
- connection con1;
- # This should generate a deadlock as we are trying to access a locked row
- --send
- select x from t2 where id = 0;
- connection con2;
- --error 1213
- reap;
- commit;
- connection con1;
- reap;
- commit;
- connection con2;
- select * from t1;
- select * from t2;
- commit;
- connection con1;
- select * from t1;
- select * from t2;
- commit;
- drop table t1,t2;
- # End of 4.1 tests