diff options
author | Sergei Golubchik <serg@mysql.com> | 2009-01-15 22:27:36 +0100 |
---|---|---|
committer | Sergei Golubchik <serg@mysql.com> | 2009-01-15 22:27:36 +0100 |
commit | 9c96fde1206f254d0dd25dbe2cc1706c44e4bdea (patch) | |
tree | fdc0957f7f6b91f43a88bc18e6c37c7fd94fa911 /mysql-test/suite/maria | |
parent | e01f6c8971c5598ea4868bb62bf6eb81a3bab945 (diff) | |
download | mariadb-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.result | 15 | ||||
-rw-r--r-- | mysql-test/suite/maria/t/maria_notembedded.test | 45 |
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; |