mirror of
https://github.com/MariaDB/server.git
synced 2025-01-16 20:12:31 +01:00
4615e50093
Fixed bug where one got an empty set instead of a DEADLOCK error when using BDB tables. Docs/manual.texi: Cleanup configure.in: Version number change mysql-test/t/backup.test: drop used tables mysql-test/t/bdb-crash.test: cleanup mysys/thr_lock.c: cleanup sql/mysqld.cc: safety fix sql/records.cc: Fixed bug where one got an empty set instead of a DEADLOCK error when using BDB tables. sql/sql_table.cc: Fix race condition in ANALYZE TABLE.
48 lines
1.1 KiB
Text
48 lines
1.1 KiB
Text
# 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,,);
|
|
|
|
drop table if exists t1,t2;
|
|
connection con1;
|
|
create table t1 (id integer, x integer) type=BDB;
|
|
create table t2 (id integer, x integer) type=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
|
|
--error 1213
|
|
select x from t2 where id = 0;
|
|
commit;
|
|
|
|
connection con2;
|
|
reap;
|
|
commit;
|
|
select * from t1;
|
|
select * from t2;
|
|
commit;
|
|
|
|
connection con1;
|
|
select * from t1;
|
|
select * from t2;
|
|
commit;
|
|
drop table t1,t2;
|