1
0
mirror of https://github.com/MariaDB/server.git synced 2025-08-08 11:22:35 +03:00

Merge next-mr -> next-4284.

Post merge fixes. In sys_vars tests suite, whenever we use LOCK TABLE WRITE,
adjust to lock the subject table indirecty via a view, to ensure that
there the desired lock conflict in thr_lock.c is still taking place.
If locked directly in LOCK TABLES list, thr_lock.c does not get
involved.
Adjust the thread wait state names in information_schema.processlist.
This commit is contained in:
Konstantin Osipov
2010-02-03 14:09:36 +03:00
parent 0ce6d93f85
commit b7a80c679c
6 changed files with 34 additions and 20 deletions

View File

@@ -98,12 +98,12 @@ INSERT INTO t1(name) VALUES('Record_7');
connection default;
# wait until INSERT will be locked (low performance)
let $wait_condition= SELECT COUNT(*) = 1 FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE state= "Locked" AND info LIKE "INSERT INTO t1%";
WHERE state= "Table lock" AND info LIKE "INSERT INTO t1%";
--source include/wait_condition.inc
--echo ## show processlist info and state ##
SELECT state,info FROM INFORMATION_SCHEMA.PROCESSLIST
WHERE state= "Locked" AND info LIKE "INSERT INTO t1%";
WHERE state= "Table lock" AND info LIKE "INSERT INTO t1%";
--echo ## table contents befor UNLOCK ##
SELECT * FROM t1;
UNLOCK TABLES;

View File

@@ -46,6 +46,7 @@ SET @global_delayed_insert_limit = @@GLOBAL.delayed_insert_limit;
#
CREATE TABLE t1 (a VARCHAR(100),b VARCHAR(100),c VARCHAR(100));
CREATE VIEW v1 as select * from t1;
--echo '#--------------------FN_DYNVARS_25_01-------------------------#'
@@ -60,7 +61,7 @@ INSERT INTO t1 VALUES('4','1','1');
INSERT INTO t1 VALUES('5','1','1');
INSERT INTO t1 VALUES('6','1','1');
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
--echo ** Connection con1 **
connection con1;
@@ -122,7 +123,7 @@ connection default;
--echo ** Wait till con0 is blocked **
let $wait_condition=
SELECT COUNT(*) = 1 FROM information_schema.processlist
WHERE state = 'Locked' AND info = '$my_select';
WHERE state = 'Table lock' AND info = '$my_select';
--source include/wait_condition.inc
UNLOCK TABLES;
@@ -153,6 +154,7 @@ let $wait_condition= SELECT count(*) = 43 FROM t1;
SELECT COUNT(*) FROM t1;
DROP TABLE t1;
DROP VIEW v1;
--echo '#--------------------FN_DYNVARS_25_02-------------------------#'
@@ -160,6 +162,7 @@ DROP TABLE t1;
# delayed_insert_limit is bigger than the number of inserted rows
CREATE TABLE t1 (a VARCHAR(100));
CREATE VIEW v1 AS SELECT * FROM t1;
SET GLOBAL delayed_insert_limit = 20;
@@ -170,7 +173,7 @@ INSERT INTO t1 VALUES('4');
INSERT INTO t1 VALUES('5');
INSERT INTO t1 VALUES('6');
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
--echo ** Connection con1 **
connection con1;
@@ -214,7 +217,7 @@ connection default;
--echo ** Wait till con0 is blocked **
let $wait_condition=
SELECT COUNT(*) = 1 FROM information_schema.processlist
WHERE state = 'Locked' AND info = '$my_select';
WHERE state = 'Table lock' AND info = '$my_select';
--source include/wait_condition.inc
UNLOCK TABLES;
@@ -240,6 +243,7 @@ eval $my_select;
--echo ** Connection default**
connection default;
DROP TABLE t1;
DROP VIEW v1;
SET @@GLOBAL.delayed_insert_limit = @global_delayed_insert_limit;
--echo Disconnecting from con1, con0

View File

@@ -60,6 +60,8 @@ INSERT INTO t1 VALUES(1, 'val1');
INSERT INTO t1 VALUES(2, 'val2');
INSERT INTO t1 VALUES(3, 'val3');
CREATE VIEW v1 AS SELECT * FROM t1;
#
# Clearing the query cache and setting up cache size
#
@@ -99,7 +101,7 @@ SELECT * FROM t1;
SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 1 Expected
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
UNLOCK TABLES;
@@ -127,7 +129,7 @@ SELECT * FROM t1;
--echo ** Connection con0 **
connection con0;
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
--echo ** Connection con1 **
connection con1;
@@ -139,7 +141,7 @@ send SELECT * FROM t1;
connection con0;
--echo wait until table is locked
let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHERE state= 'Locked';
let $wait_condition= SELECT count(*) > 0 FROM information_schema.processlist WHERE state= 'Table lock';
--source include/wait_condition.inc
UNLOCK TABLES;
@@ -175,7 +177,7 @@ SELECT * FROM t1;
SHOW STATUS LIKE 'Qcache_queries_in_cache';
--echo 1 Expected
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
UNLOCK TABLES;
@@ -199,7 +201,7 @@ SELECT * FROM t1;
--echo ** Connection con0 **
connection con0;
LOCK TABLE t1 WRITE;
LOCK TABLE v1 WRITE;
--echo ** Connection con1 **
connection con1;
@@ -281,6 +283,7 @@ disconnect con0;
disconnect con1;
DROP TABLE t1;
DROP VIEW v1;
--enable_ps_protocol