summaryrefslogtreecommitdiff
path: root/mysql-test/suite/maria
diff options
context:
space:
mode:
authorSergei Golubchik <serg@mysql.com>2009-01-15 22:27:36 +0100
committerSergei Golubchik <serg@mysql.com>2009-01-15 22:27:36 +0100
commit9c96fde1206f254d0dd25dbe2cc1706c44e4bdea (patch)
treefdc0957f7f6b91f43a88bc18e6c37c7fd94fa911 /mysql-test/suite/maria
parente01f6c8971c5598ea4868bb62bf6eb81a3bab945 (diff)
downloadmariadb-git-9c96fde1206f254d0dd25dbe2cc1706c44e4bdea.tar.gz
post-review fixes
include/atomic/generic-msvc.h: prevent possible compiler warnings include/lf.h: comments, better definition for LF_HASH_OVERHEAD include/maria.h: define MARIA_CANNOT_ROLLBACK here include/my_pthread.h: avoid possible name clash include/waiting_threads.h: comments, const, move WT_RESOURCE to waiting_threads.c mysql-test/suite/maria/r/maria_notembedded.result: new test mysql-test/suite/maria/t/maria_notembedded.test: new test - 5-way deadlock mysys/lf_hash.c: better definition for LF_HASH_OVERHEAD mysys/my_static.c: comment mysys/my_thr_init.c: casts mysys/waiting_threads.c: comments, asserts, etc server-tools/instance-manager/parse.cc: fix my_init_dynamic_array() to follow new calling conventions sql/mysqld.cc: call wt_init after set_proper_floating_point_mode sql/sql_class.h: comment storage/maria/ha_maria.cc: move MARIA_CANNOT_ROLLBACK to a common header storage/maria/ma_commit.c: comment storage/maria/ma_write.c: comments, check for HA_ERR_FOUND_DUPP_KEY storage/maria/trnman.c: comments, assert storage/maria/trnman.h: comments storage/maria/unittest/trnman-t.c: be paranoid unittest/mysys/lf-t.c: comments unittest/mysys/waiting_threads-t.c: comments, safety, memory leak
Diffstat (limited to 'mysql-test/suite/maria')
-rw-r--r--mysql-test/suite/maria/r/maria_notembedded.result15
-rw-r--r--mysql-test/suite/maria/t/maria_notembedded.test45
2 files changed, 56 insertions, 4 deletions
diff --git a/mysql-test/suite/maria/r/maria_notembedded.result b/mysql-test/suite/maria/r/maria_notembedded.result
index 1adede35511..cc9c26409ec 100644
--- a/mysql-test/suite/maria/r/maria_notembedded.result
+++ b/mysql-test/suite/maria/r/maria_notembedded.result
@@ -30,9 +30,24 @@ insert t1 values (2);
lock table t1 write concurrent;
insert t1 values (3);
insert t1 values (2);
+lock table t1 write concurrent;
+insert t1 values (4);
insert t1 values (3);
+lock table t1 write concurrent;
+insert t1 values (5);
+insert t1 values (4);
+lock table t1 write concurrent;
+insert t1 values (6);
+insert t1 values (5);
+insert t1 values (6);
ERROR 40001: Deadlock found when trying to get lock; try restarting transaction
unlock tables;
ERROR 23000: Duplicate entry '2' for key 'a'
unlock tables;
+ERROR 23000: Duplicate entry '3' for key 'a'
+unlock tables;
+ERROR 23000: Duplicate entry '4' for key 'a'
+unlock tables;
+ERROR 23000: Duplicate entry '5' for key 'a'
+unlock tables;
drop table t1;
diff --git a/mysql-test/suite/maria/t/maria_notembedded.test b/mysql-test/suite/maria/t/maria_notembedded.test
index f6d256f0f80..afa749a653d 100644
--- a/mysql-test/suite/maria/t/maria_notembedded.test
+++ b/mysql-test/suite/maria/t/maria_notembedded.test
@@ -33,27 +33,64 @@ drop table t1;
#
create table t1 (a int unique) transactional=1;
insert t1 values (1);
+
lock table t1 write concurrent;
insert t1 values (2);
-connect(con_d,localhost,root,,);
+
+connect(con_a,localhost,root,,);
lock table t1 write concurrent;
insert t1 values (3);
send insert t1 values (2);
+
+connect(con_b,localhost,root,,);
+lock table t1 write concurrent;
+insert t1 values (4);
+send insert t1 values (3);
+
+connect(con_c,localhost,root,,);
+lock table t1 write concurrent;
+insert t1 values (5);
+send insert t1 values (4);
+
+connect(con_d,localhost,root,,);
+lock table t1 write concurrent;
+insert t1 values (6);
+send insert t1 values (5);
+
connection default;
-let $wait_condition=select count(*) = 1 from information_schema.processlist where state="waiting for a resource";
+let $wait_condition=select count(*) = 4 from information_schema.processlist where state="waiting for a resource";
--source include/wait_condition.inc
--error ER_LOCK_DEADLOCK
-insert t1 values (3);
+insert t1 values (6);
unlock tables;
+
+connection con_a;
+--error ER_DUP_ENTRY
+reap;
+unlock tables;
+disconnect con_a;
+
+connection con_b;
+--error ER_DUP_ENTRY
+reap;
+unlock tables;
+disconnect con_b;
+
+connection con_c;
+--error ER_DUP_ENTRY
+reap;
+unlock tables;
+disconnect con_c;
+
connection con_d;
--error ER_DUP_ENTRY
reap;
unlock tables;
disconnect con_d;
+
connection default;
drop table t1;
-
--disable_result_log
--disable_query_log
eval set session storage_engine=$default_engine;