mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 10:56:12 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			91 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			91 lines
		
	
	
	
		
			4.4 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| ###############################################################################
 | |
| #                                                                             #
 | |
| # 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();
 | |
| 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;
 | |
| 
 | |
| connect (test_con2, localhost, root,,);
 | |
| connection test_con2;
 | |
| 
 | |
| --replace_result $session_value <session_value>
 | |
| eval SET @@session.wait_timeout = $session_value - 1;
 | |
| 
 | |
| 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';
 | |
| 
 | |
| 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';
 | |
| 
 | |
| 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;
 | 
