mirror of
https://github.com/MariaDB/server.git
synced 2025-01-17 04:22:27 +01:00
97 lines
4.6 KiB
Text
97 lines
4.6 KiB
Text
############## mysql-test\t\wait_timeout_func.test ############################
|
|
# #
|
|
# Variable Name: wait_timeout #
|
|
# Scope: GLOBAL | SESSION #
|
|
# Access Type: Dynamic #
|
|
# Data Type: numeric #
|
|
# Default Value: #
|
|
# Range: #
|
|
# #
|
|
# #
|
|
# Creation Date: 2008-03-07 #
|
|
# Author: Salman Rawala #
|
|
# #
|
|
# Modified: HHunger 2008-08-27 Simplified the test and replaced the sleeps. #
|
|
# #
|
|
# Description: Test Cases of Dynamic System Variable wait_timeout #
|
|
# that checks the functionality of this variable #
|
|
# #
|
|
# Reference: #
|
|
# http://dev.mysql.com/doc/refman/5.1/en/server-system-variables.html #
|
|
# #
|
|
###############################################################################
|
|
|
|
--source include/not_embedded.inc
|
|
|
|
SET @start_value= @@global.wait_timeout;
|
|
|
|
|
|
--echo '#--------------------FN_DYNVARS_186_01-------------------------#'
|
|
#######################################################################
|
|
# 1. test of scope session
|
|
#######################################################################
|
|
|
|
SET @start_time= UNIX_TIMESTAMP();
|
|
--echo connect (test_con1, localhost, root,,);
|
|
connect (test_con1, localhost, root,,);
|
|
connection test_con1;
|
|
|
|
# If not explicitly changed, @@session.wait_timeout equals @@global.wait_timeout.
|
|
SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1';
|
|
|
|
# Find a small value <> @@global.wait_timeout.
|
|
let $session_value =
|
|
`SELECT IF(@@global.wait_timeout <> 2 OR @@global.wait_timeout IS NULL, 2, 3)`;
|
|
--replace_result $session_value <session_value>
|
|
eval SET @@session.wait_timeout = $session_value;
|
|
|
|
--echo connect (test_con2, localhost, root,,);
|
|
connect (test_con2, localhost, root,,);
|
|
connection test_con2;
|
|
|
|
--replace_result $session_value <session_value>
|
|
eval SET @@session.wait_timeout = $session_value - 1;
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
|
|
--echo wait until connections ready
|
|
let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist;
|
|
--source include/wait_condition.inc
|
|
SELECT info FROM information_schema.processlist;
|
|
|
|
--echo '#--------------------FN_DYNVARS_186_03-------------------------#'
|
|
#######################################################################
|
|
# 2. test of scope global
|
|
#######################################################################
|
|
|
|
# Find a small value <> @@global.wait_timeout.
|
|
let $global_value = $session_value + 1;
|
|
--replace_result $global_value <global_value>
|
|
eval SET @@global.wait_timeout= $global_value;
|
|
|
|
# Changing the @@global.wait_timeout has no influence on the
|
|
# @@session.wait_timeout of already established sessions.
|
|
SELECT @@session.wait_timeout = @start_value AS 'Expect 1';
|
|
|
|
--echo connect (test_con3, localhost, root,,);
|
|
connect (test_con3, localhost, root,,);
|
|
connection test_con3;
|
|
|
|
# If not explicitly changed, @@session.wait_timeout equals @@global.wait_timeout.
|
|
SELECT @@session.wait_timeout = @@global.wait_timeout AS 'Expect 1';
|
|
|
|
--echo connection default;
|
|
connection default;
|
|
# We can be sure that the connections test_con1 and test_con2 must be
|
|
# established because both have already executed a SET @@session.wait_timeout.
|
|
# This means they are or at least were visible within the processlist.
|
|
# Therefore we can now simply wait till both disappear from the processlist.
|
|
let $wait_condition= SELECT COUNT(*) = 1 FROM information_schema.processlist;
|
|
--source include/wait_condition.inc
|
|
SELECT info FROM information_schema.processlist;
|
|
|
|
--replace_result $global_value <global_value> $session_value <session_value>;
|
|
eval SELECT UNIX_TIMESTAMP() - @start_time >= $global_value + $session_value;
|
|
SET @@global.wait_timeout= @start_value;
|
|
|