mariadb/mysql-test/t/bdb-deadlock.test
unknown 4ddb48c619 WL#3475 (Threads for the embedded server in mysqltest)
Necessary code added to mysqltest.c.
Disabled tests are available now.


client/mysqltest.c:
  do_send_query function implemented, so now 'send' command will be
  run in separate thread for the embedded server.
  Mutex and condition added to the 'connection' struct for syncronisation
  purposes. Yes it'd be easier if we had pthread_join() command
libmysql/libmysql.c:
  this isn't actually needed and causes problems in embedded server
mysql-test/t/bdb-deadlock.test:
  test is available for the embedded server now
mysql-test/t/flush.test:
  test is available for the embedded server now
mysql-test/t/flush_block_commit.test:
  test is available for the embedded server now
mysql-test/t/innodb-deadlock.test:
  test is available for the embedded server now
mysql-test/t/innodb-lock.test:
  test is available for the embedded server now
mysql-test/t/lock_multi.test:
  test is available for the embedded server now
mysql-test/t/rename.test:
  test is available for the embedded server now
mysql-test/t/show_check.test:
  test is available for the embedded server now
mysql-test/t/status.test:
  test is available for the embedded server now
2006-10-23 15:02:51 +05:00

51 lines
941 B
Text

-- 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