mirror of
https://github.com/MariaDB/server.git
synced 2025-01-21 14:32:34 +01:00
Post-merge test case with wait_condition for Bug#28587
mysql-test/r/insert_update.result: Post-merge: add test case result for Bug#28587. mysql-test/t/insert_update.test: Post-merge: add test case for Bug#28587.
This commit is contained in:
parent
041be8f029
commit
97844e982b
2 changed files with 54 additions and 0 deletions
|
@ -407,3 +407,22 @@ select if( @stamp1 = @stamp2, "correct", "wrong");
|
|||
if( @stamp1 = @stamp2, "correct", "wrong")
|
||||
correct
|
||||
drop table t1;
|
||||
connection: default
|
||||
set low_priority_updates=1;
|
||||
drop table if exists t1;
|
||||
create table t1 (a int, b int, unique key t1$a (a));
|
||||
lock table t1 read;
|
||||
connection: update
|
||||
set low_priority_updates=1;
|
||||
show variables like 'low_priority_updates';
|
||||
Variable_name Value
|
||||
low_priority_updates ON
|
||||
insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;;
|
||||
connection: select
|
||||
select * from t1;
|
||||
a b
|
||||
connection: default
|
||||
select * from t1;
|
||||
a b
|
||||
drop table t1;
|
||||
set low_priority_updates=default;
|
||||
|
|
|
@ -306,3 +306,38 @@ insert into t1(f1) values(1) on duplicate key update f1=1;
|
|||
select @stamp2:=f2 from t1;
|
||||
select if( @stamp1 = @stamp2, "correct", "wrong");
|
||||
drop table t1;
|
||||
|
||||
#
|
||||
# Bug#28587 SELECT is blocked by INSERT waiting on read lock, even with low_priority_updates
|
||||
#
|
||||
--echo connection: default
|
||||
set low_priority_updates=1;
|
||||
--disable_warnings
|
||||
drop table if exists t1;
|
||||
--enable_warnings
|
||||
create table t1 (a int, b int, unique key t1$a (a));
|
||||
lock table t1 read;
|
||||
connect (update,localhost,root,,);
|
||||
connection update;
|
||||
--echo connection: update
|
||||
set low_priority_updates=1;
|
||||
show variables like 'low_priority_updates';
|
||||
let $ID= `select connection_id()`;
|
||||
--send insert into t1 values (1, 2) ON DUPLICATE KEY UPDATE b = 2;
|
||||
connection default;
|
||||
# we must wait till the insert opens and locks the table
|
||||
let $wait_condition=
|
||||
select count(*) = 1 from information_schema.processlist
|
||||
where state = "Locked" and id = $ID;
|
||||
--source include/wait_condition.inc
|
||||
connect (select,localhost,root,,);
|
||||
--echo connection: select
|
||||
select * from t1;
|
||||
connection default;
|
||||
--echo connection: default
|
||||
select * from t1;
|
||||
connection default;
|
||||
disconnect update;
|
||||
disconnect select;
|
||||
drop table t1;
|
||||
set low_priority_updates=default;
|
||||
|
|
Loading…
Add table
Reference in a new issue