Skip to content

Commit 1c10b25

Browse files
committed
Port innodb_print_lock_wait_timeout_info_basic from Percona
The test checks the new sys_var added to xtradb from Percona
1 parent f775ee6 commit 1c10b25

File tree

2 files changed

+193
-0
lines changed

2 files changed

+193
-0
lines changed
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
1+
SET @start_global_value = @@global.innodb_print_lock_wait_timeout_info;
2+
SELECT @start_global_value;
3+
@start_global_value
4+
0
5+
Valid values are 'ON' and 'OFF'
6+
SELECT @@global.innodb_print_lock_wait_timeout_info in (0, 1);
7+
@@global.innodb_print_lock_wait_timeout_info in (0, 1)
8+
1
9+
SELECT @@global.innodb_print_lock_wait_timeout_info;
10+
@@global.innodb_print_lock_wait_timeout_info
11+
0
12+
SELECT @@session.innodb_print_lock_wait_timeout_info;
13+
ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable
14+
SHOW global variables LIKE 'innodb_print_lock_wait_timeout_info';
15+
Variable_name Value
16+
innodb_print_lock_wait_timeout_info OFF
17+
SHOW session variables LIKE 'innodb_print_lock_wait_timeout_info';
18+
Variable_name Value
19+
innodb_print_lock_wait_timeout_info OFF
20+
SELECT * FROM information_schema.global_variables
21+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
22+
VARIABLE_NAME VARIABLE_VALUE
23+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
24+
SELECT * FROM information_schema.session_variables
25+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
26+
VARIABLE_NAME VARIABLE_VALUE
27+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
28+
SET global innodb_print_lock_wait_timeout_info='OFF';
29+
SELECT @@global.innodb_print_lock_wait_timeout_info;
30+
@@global.innodb_print_lock_wait_timeout_info
31+
0
32+
SELECT * FROM information_schema.global_variables
33+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
34+
VARIABLE_NAME VARIABLE_VALUE
35+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
36+
SELECT * FROM information_schema.session_variables
37+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
38+
VARIABLE_NAME VARIABLE_VALUE
39+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
40+
SET @@global.innodb_print_lock_wait_timeout_info=1;
41+
SELECT @@global.innodb_print_lock_wait_timeout_info;
42+
@@global.innodb_print_lock_wait_timeout_info
43+
1
44+
SELECT * FROM information_schema.global_variables
45+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
46+
VARIABLE_NAME VARIABLE_VALUE
47+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
48+
SELECT * FROM information_schema.session_variables
49+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
50+
VARIABLE_NAME VARIABLE_VALUE
51+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
52+
SET global innodb_print_lock_wait_timeout_info=0;
53+
SELECT @@global.innodb_print_lock_wait_timeout_info;
54+
@@global.innodb_print_lock_wait_timeout_info
55+
0
56+
SELECT * FROM information_schema.global_variables
57+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
58+
VARIABLE_NAME VARIABLE_VALUE
59+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
60+
SELECT * FROM information_schema.session_variables
61+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
62+
VARIABLE_NAME VARIABLE_VALUE
63+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO OFF
64+
SET @@global.innodb_print_lock_wait_timeout_info='ON';
65+
SELECT @@global.innodb_print_lock_wait_timeout_info;
66+
@@global.innodb_print_lock_wait_timeout_info
67+
1
68+
SELECT * FROM information_schema.global_variables
69+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
70+
VARIABLE_NAME VARIABLE_VALUE
71+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
72+
SELECT * FROM information_schema.session_variables
73+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
74+
VARIABLE_NAME VARIABLE_VALUE
75+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
76+
SET session innodb_print_lock_wait_timeout_info='OFF';
77+
ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable and should be set with SET GLOBAL
78+
SET @@session.innodb_print_lock_wait_timeout_info='ON';
79+
ERROR HY000: Variable 'innodb_print_lock_wait_timeout_info' is a GLOBAL variable and should be set with SET GLOBAL
80+
SET global innodb_print_lock_wait_timeout_info=1.1;
81+
ERROR 42000: Incorrect argument type to variable 'innodb_print_lock_wait_timeout_info'
82+
SET global innodb_print_lock_wait_timeout_info=1e1;
83+
ERROR 42000: Incorrect argument type to variable 'innodb_print_lock_wait_timeout_info'
84+
SET global innodb_print_lock_wait_timeout_info=2;
85+
ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of '2'
86+
SET global innodb_print_lock_wait_timeout_info=-3;
87+
ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of '-3'
88+
SELECT @@global.innodb_print_lock_wait_timeout_info;
89+
@@global.innodb_print_lock_wait_timeout_info
90+
1
91+
SELECT * FROM information_schema.global_variables
92+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
93+
VARIABLE_NAME VARIABLE_VALUE
94+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
95+
SELECT * FROM information_schema.session_variables
96+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
97+
VARIABLE_NAME VARIABLE_VALUE
98+
INNODB_PRINT_LOCK_WAIT_TIMEOUT_INFO ON
99+
SET global innodb_print_lock_wait_timeout_info='AUTO';
100+
ERROR 42000: Variable 'innodb_print_lock_wait_timeout_info' can't be set to the value of 'AUTO'
101+
SET @@global.innodb_print_lock_wait_timeout_info = @start_global_value;
102+
SELECT @@global.innodb_print_lock_wait_timeout_info;
103+
@@global.innodb_print_lock_wait_timeout_info
104+
0
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
--source include/have_xtradb.inc
2+
3+
SET @start_global_value = @@global.innodb_print_lock_wait_timeout_info;
4+
SELECT @start_global_value;
5+
6+
#
7+
# exists as global only
8+
#
9+
--echo Valid values are 'ON' and 'OFF'
10+
SELECT @@global.innodb_print_lock_wait_timeout_info in (0, 1);
11+
SELECT @@global.innodb_print_lock_wait_timeout_info;
12+
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
13+
SELECT @@session.innodb_print_lock_wait_timeout_info;
14+
SHOW global variables LIKE 'innodb_print_lock_wait_timeout_info';
15+
SHOW session variables LIKE 'innodb_print_lock_wait_timeout_info';
16+
--disable_warnings
17+
SELECT * FROM information_schema.global_variables
18+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
19+
SELECT * FROM information_schema.session_variables
20+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
21+
--enable_warnings
22+
23+
#
24+
# SHOW that it's writable
25+
#
26+
SET global innodb_print_lock_wait_timeout_info='OFF';
27+
SELECT @@global.innodb_print_lock_wait_timeout_info;
28+
--disable_warnings
29+
SELECT * FROM information_schema.global_variables
30+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
31+
SELECT * FROM information_schema.session_variables
32+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
33+
--enable_warnings
34+
SET @@global.innodb_print_lock_wait_timeout_info=1;
35+
SELECT @@global.innodb_print_lock_wait_timeout_info;
36+
--disable_warnings
37+
SELECT * FROM information_schema.global_variables
38+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
39+
SELECT * FROM information_schema.session_variables
40+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
41+
--enable_warnings
42+
SET global innodb_print_lock_wait_timeout_info=0;
43+
SELECT @@global.innodb_print_lock_wait_timeout_info;
44+
--disable_warnings
45+
SELECT * FROM information_schema.global_variables
46+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
47+
SELECT * FROM information_schema.session_variables
48+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
49+
--enable_warnings
50+
SET @@global.innodb_print_lock_wait_timeout_info='ON';
51+
SELECT @@global.innodb_print_lock_wait_timeout_info;
52+
--disable_warnings
53+
SELECT * FROM information_schema.global_variables
54+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
55+
SELECT * FROM information_schema.session_variables
56+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
57+
--enable_warnings
58+
--error ER_GLOBAL_VARIABLE
59+
SET session innodb_print_lock_wait_timeout_info='OFF';
60+
--error ER_GLOBAL_VARIABLE
61+
SET @@session.innodb_print_lock_wait_timeout_info='ON';
62+
63+
#
64+
# incorrect types
65+
#
66+
--error ER_WRONG_TYPE_FOR_VAR
67+
SET global innodb_print_lock_wait_timeout_info=1.1;
68+
--error ER_WRONG_TYPE_FOR_VAR
69+
SET global innodb_print_lock_wait_timeout_info=1e1;
70+
--error ER_WRONG_VALUE_FOR_VAR
71+
SET global innodb_print_lock_wait_timeout_info=2;
72+
--error ER_WRONG_VALUE_FOR_VAR
73+
SET global innodb_print_lock_wait_timeout_info=-3;
74+
SELECT @@global.innodb_print_lock_wait_timeout_info;
75+
--disable_warnings
76+
SELECT * FROM information_schema.global_variables
77+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
78+
SELECT * FROM information_schema.session_variables
79+
WHERE variable_name='innodb_print_lock_wait_timeout_info';
80+
--enable_warnings
81+
--error ER_WRONG_VALUE_FOR_VAR
82+
SET global innodb_print_lock_wait_timeout_info='AUTO';
83+
84+
#
85+
# Cleanup
86+
#
87+
88+
SET @@global.innodb_print_lock_wait_timeout_info = @start_global_value;
89+
SELECT @@global.innodb_print_lock_wait_timeout_info;

0 commit comments

Comments
 (0)