Commit 0187e78f authored by davi@moksha.local's avatar davi@moksha.local

Merge bk-internal.mysql.com:/home/bk/mysql-5.1-runtime

into  moksha.local:/Users/davi/mysql/push/mysql-5.1-runtime
parents 175c1ab7 4aaab47e
...@@ -105,3 +105,22 @@ DROP VIEW view_target2; ...@@ -105,3 +105,22 @@ DROP VIEW view_target2;
DROP VIEW view_target3; DROP VIEW view_target3;
DROP USER user20989@localhost; DROP USER user20989@localhost;
DROP DATABASE meow; DROP DATABASE meow;
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;
...@@ -407,22 +407,3 @@ select if( @stamp1 = @stamp2, "correct", "wrong"); ...@@ -407,22 +407,3 @@ select if( @stamp1 = @stamp2, "correct", "wrong");
if( @stamp1 = @stamp2, "correct", "wrong") if( @stamp1 = @stamp2, "correct", "wrong")
correct correct
drop table t1; 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;
...@@ -152,3 +152,38 @@ disconnect root; ...@@ -152,3 +152,38 @@ disconnect root;
connection default; connection default;
DROP DATABASE meow; DROP DATABASE meow;
#
# 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;
...@@ -306,38 +306,3 @@ insert into t1(f1) values(1) on duplicate key update f1=1; ...@@ -306,38 +306,3 @@ insert into t1(f1) values(1) on duplicate key update f1=1;
select @stamp2:=f2 from t1; select @stamp2:=f2 from t1;
select if( @stamp1 = @stamp2, "correct", "wrong"); select if( @stamp1 = @stamp2, "correct", "wrong");
drop table t1; 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;
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment