mirror of
https://github.com/MariaDB/server.git
synced 2025-08-08 11:22:35 +03:00
The test case for Bug#29936 doesn't work with the embedded version,
the first query is not running while we are doing wait queries on a second connection. mysql-test/r/sp.result: Remove test case result for Bug#29936, moving to sp_notembedded.result mysql-test/r/sp_notembedded.result: Test case result for Bug#29936, moved from sp.result mysql-test/t/sp.test: Remove test case for Bug#29936, moving to sp_notembedded.test mysql-test/t/sp_notembedded.test: Test case result for Bug#29936, moved from sp.test
This commit is contained in:
@@ -6546,29 +6546,6 @@ DROP VIEW v1;
|
|||||||
DROP FUNCTION f1;
|
DROP FUNCTION f1;
|
||||||
DROP FUNCTION f2;
|
DROP FUNCTION f2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
drop table if exists t1;
|
|
||||||
drop procedure if exists p1;
|
|
||||||
create table t1 (value varchar(15));
|
|
||||||
create procedure p1() update t1 set value='updated' where value='old';
|
|
||||||
call p1();
|
|
||||||
insert into t1 (value) values ("old");
|
|
||||||
select get_lock('b26162',120);
|
|
||||||
get_lock('b26162',120)
|
|
||||||
1
|
|
||||||
select 'rl_acquirer', value from t1 where get_lock('b26162',120);;
|
|
||||||
set session low_priority_updates=on;
|
|
||||||
call p1();;
|
|
||||||
select 'rl_contender', value from t1;
|
|
||||||
rl_contender value
|
|
||||||
rl_contender old
|
|
||||||
select release_lock('b26162');
|
|
||||||
release_lock('b26162')
|
|
||||||
1
|
|
||||||
rl_acquirer value
|
|
||||||
rl_acquirer old
|
|
||||||
drop procedure p1;
|
|
||||||
drop table t1;
|
|
||||||
set session low_priority_updates=default;
|
|
||||||
|
|
||||||
# Bug#13675.
|
# Bug#13675.
|
||||||
|
|
||||||
|
@@ -208,3 +208,26 @@ GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION
|
|||||||
drop user mysqltest_1@localhost;
|
drop user mysqltest_1@localhost;
|
||||||
drop procedure 15298_1;
|
drop procedure 15298_1;
|
||||||
drop procedure 15298_2;
|
drop procedure 15298_2;
|
||||||
|
drop table if exists t1;
|
||||||
|
drop procedure if exists p1;
|
||||||
|
create table t1 (value varchar(15));
|
||||||
|
create procedure p1() update t1 set value='updated' where value='old';
|
||||||
|
call p1();
|
||||||
|
insert into t1 (value) values ("old");
|
||||||
|
select get_lock('b26162',120);
|
||||||
|
get_lock('b26162',120)
|
||||||
|
1
|
||||||
|
select 'rl_acquirer', value from t1 where get_lock('b26162',120);;
|
||||||
|
set session low_priority_updates=on;
|
||||||
|
call p1();;
|
||||||
|
select 'rl_contender', value from t1;
|
||||||
|
rl_contender value
|
||||||
|
rl_contender old
|
||||||
|
select release_lock('b26162');
|
||||||
|
release_lock('b26162')
|
||||||
|
1
|
||||||
|
rl_acquirer value
|
||||||
|
rl_acquirer old
|
||||||
|
drop procedure p1;
|
||||||
|
drop table t1;
|
||||||
|
set session low_priority_updates=default;
|
||||||
|
@@ -7494,71 +7494,6 @@ DROP FUNCTION f1;
|
|||||||
DROP FUNCTION f2;
|
DROP FUNCTION f2;
|
||||||
DROP TABLE t1;
|
DROP TABLE t1;
|
||||||
|
|
||||||
#
|
|
||||||
# Bug#29936 Stored Procedure DML ignores low_priority_updates setting
|
|
||||||
#
|
|
||||||
|
|
||||||
--disable_warnings
|
|
||||||
drop table if exists t1;
|
|
||||||
drop procedure if exists p1;
|
|
||||||
--enable_warnings
|
|
||||||
|
|
||||||
create table t1 (value varchar(15));
|
|
||||||
create procedure p1() update t1 set value='updated' where value='old';
|
|
||||||
|
|
||||||
# load the procedure into sp cache and execute once
|
|
||||||
call p1();
|
|
||||||
|
|
||||||
insert into t1 (value) values ("old");
|
|
||||||
|
|
||||||
connect (rl_holder, localhost, root,,);
|
|
||||||
connect (rl_acquirer, localhost, root,,);
|
|
||||||
connect (rl_contender, localhost, root,,);
|
|
||||||
connect (rl_wait, localhost, root,,);
|
|
||||||
|
|
||||||
connection rl_holder;
|
|
||||||
select get_lock('b26162',120);
|
|
||||||
|
|
||||||
connection rl_acquirer;
|
|
||||||
--send select 'rl_acquirer', value from t1 where get_lock('b26162',120);
|
|
||||||
|
|
||||||
# we must wait till this select opens and locks the tables
|
|
||||||
connection rl_wait;
|
|
||||||
let $wait_condition=
|
|
||||||
select count(*) = 1 from information_schema.processlist
|
|
||||||
where state = "User lock" and
|
|
||||||
info = "select 'rl_acquirer', value from t1 where get_lock('b26162',120)";
|
|
||||||
--source include/wait_condition.inc
|
|
||||||
|
|
||||||
connection default;
|
|
||||||
set session low_priority_updates=on;
|
|
||||||
--send call p1();
|
|
||||||
|
|
||||||
connection rl_wait;
|
|
||||||
let $wait_condition=
|
|
||||||
select count(*) = 1 from information_schema.processlist
|
|
||||||
where state = "Locked" and
|
|
||||||
info = "update t1 set value='updated' where value='old'";
|
|
||||||
--source include/wait_condition.inc
|
|
||||||
|
|
||||||
connection rl_contender;
|
|
||||||
select 'rl_contender', value from t1;
|
|
||||||
|
|
||||||
connection rl_holder;
|
|
||||||
select release_lock('b26162');
|
|
||||||
|
|
||||||
connection rl_acquirer;
|
|
||||||
--reap
|
|
||||||
connection default;
|
|
||||||
--reap
|
|
||||||
|
|
||||||
disconnect rl_holder;
|
|
||||||
disconnect rl_acquirer;
|
|
||||||
disconnect rl_wait;
|
|
||||||
drop procedure p1;
|
|
||||||
drop table t1;
|
|
||||||
set session low_priority_updates=default;
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Bug#13675: DATETIME/DATE type in store proc param seems to be converted as
|
# Bug#13675: DATETIME/DATE type in store proc param seems to be converted as
|
||||||
# varbinary
|
# varbinary
|
||||||
|
@@ -287,3 +287,68 @@ connection default;
|
|||||||
drop user mysqltest_1@localhost;
|
drop user mysqltest_1@localhost;
|
||||||
drop procedure 15298_1;
|
drop procedure 15298_1;
|
||||||
drop procedure 15298_2;
|
drop procedure 15298_2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bug#29936 Stored Procedure DML ignores low_priority_updates setting
|
||||||
|
#
|
||||||
|
|
||||||
|
--disable_warnings
|
||||||
|
drop table if exists t1;
|
||||||
|
drop procedure if exists p1;
|
||||||
|
--enable_warnings
|
||||||
|
|
||||||
|
create table t1 (value varchar(15));
|
||||||
|
create procedure p1() update t1 set value='updated' where value='old';
|
||||||
|
|
||||||
|
# load the procedure into sp cache and execute once
|
||||||
|
call p1();
|
||||||
|
|
||||||
|
insert into t1 (value) values ("old");
|
||||||
|
|
||||||
|
connect (rl_holder, localhost, root,,);
|
||||||
|
connect (rl_acquirer, localhost, root,,);
|
||||||
|
connect (rl_contender, localhost, root,,);
|
||||||
|
connect (rl_wait, localhost, root,,);
|
||||||
|
|
||||||
|
connection rl_holder;
|
||||||
|
select get_lock('b26162',120);
|
||||||
|
|
||||||
|
connection rl_acquirer;
|
||||||
|
--send select 'rl_acquirer', value from t1 where get_lock('b26162',120);
|
||||||
|
|
||||||
|
# we must wait till this select opens and locks the tables
|
||||||
|
connection rl_wait;
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 1 from information_schema.processlist
|
||||||
|
where state = "User lock" and
|
||||||
|
info = "select 'rl_acquirer', value from t1 where get_lock('b26162',120)";
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
connection default;
|
||||||
|
set session low_priority_updates=on;
|
||||||
|
--send call p1();
|
||||||
|
|
||||||
|
connection rl_wait;
|
||||||
|
let $wait_condition=
|
||||||
|
select count(*) = 1 from information_schema.processlist
|
||||||
|
where state = "Locked" and
|
||||||
|
info = "update t1 set value='updated' where value='old'";
|
||||||
|
--source include/wait_condition.inc
|
||||||
|
|
||||||
|
connection rl_contender;
|
||||||
|
select 'rl_contender', value from t1;
|
||||||
|
|
||||||
|
connection rl_holder;
|
||||||
|
select release_lock('b26162');
|
||||||
|
|
||||||
|
connection rl_acquirer;
|
||||||
|
--reap
|
||||||
|
connection default;
|
||||||
|
--reap
|
||||||
|
|
||||||
|
disconnect rl_holder;
|
||||||
|
disconnect rl_acquirer;
|
||||||
|
disconnect rl_wait;
|
||||||
|
drop procedure p1;
|
||||||
|
drop table t1;
|
||||||
|
set session low_priority_updates=default;
|
||||||
|
Reference in New Issue
Block a user