summaryrefslogtreecommitdiff
path: root/mysql-test/t/bdb-deadlock.tminus
diff options
context:
space:
mode:
authorunknown <hf@deer.(none)>2004-12-02 16:08:17 +0400
committerunknown <hf@deer.(none)>2004-12-02 16:08:17 +0400
commitd3c5c4997ca71610abf7e94b0c66f27278e3341e (patch)
tree3f93c2c4161b813724ca0573ddda92d71aa94476 /mysql-test/t/bdb-deadlock.tminus
parentf36f636408768d7f71177e32b7d65d1b4332e694 (diff)
downloadmariadb-git-d3c5c4997ca71610abf7e94b0c66f27278e3341e.tar.gz
Fixes to make mysql-test-run --embedded-server working
mysql-test/mysql-test-run.sh: Tests that can't be fixed now showed in the ignore-list mysql-test/r/query_cache.result.es: test result renewed mysql-test/r/select.result.es: test result renewed mysql-test/r/type_blob.result.es: test result renewed mysql-test/r/type_float.result.es: test result renewed sql/sql_prepare.cc: time values sending fixed tests/client_test.c: that doesnt work in embedded server BitKeeper/etc/ignore: Added libmysqld/ha_archive.cc libmysqld/ha_example.cc libmysqld/ha_tina.cc to the ignore list
Diffstat (limited to 'mysql-test/t/bdb-deadlock.tminus')
-rw-r--r--mysql-test/t/bdb-deadlock.tminus57
1 files changed, 57 insertions, 0 deletions
diff --git a/mysql-test/t/bdb-deadlock.tminus b/mysql-test/t/bdb-deadlock.tminus
new file mode 100644
index 00000000000..d86403fcffc
--- /dev/null
+++ b/mysql-test/t/bdb-deadlock.tminus
@@ -0,0 +1,57 @@
+# 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;