mirror of
				https://github.com/MariaDB/server.git
				synced 2025-10-31 15:50:51 +03:00 
			
		
		
		
	per-file comments:
  mysql-test/t/log_tables_debug.test
        This test shouldn't be run at the embedded server.
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| ### t/log_tables_debug.test
 | |
| #
 | |
| # Log-related tests requiring a debug-build server.
 | |
| #
 | |
| 
 | |
| # extra clean-up required due to Bug#38124, set to 1 when behavior has
 | |
| # changed (see explanation in log_state.test)
 | |
| let $fixed_bug38124 = 0;
 | |
| 
 | |
| --source include/not_embedded.inc
 | |
| --source include/have_debug.inc
 | |
| 
 | |
| # Several subtests modify global variables. Save the initial values only here,
 | |
| # but reset to the initial values per subtest.
 | |
| SET @old_general_log= @@global.general_log;
 | |
| SET @old_general_log_file= @@global.general_log_file;
 | |
| SET @old_slow_query_log= @@global.slow_query_log;
 | |
| SET @old_slow_query_log_file= @@global.slow_query_log_file;
 | |
| 
 | |
| 
 | |
| --echo #
 | |
| --echo # Bug#45387 Information about statement id for prepared
 | |
| --echo #           statements missed from general log
 | |
| --echo #
 | |
| 
 | |
| let MYSQLD_DATADIR= `SELECT @@datadir`;
 | |
| 
 | |
| # set logging to our specific bug log to control the entries added
 | |
| SET @@global.general_log = ON;
 | |
| SET @@global.general_log_file = 'bug45387_general.log';
 | |
| 
 | |
| # turn on output of timestamps on all log file entries
 | |
| SET SESSION debug='+d,reset_log_last_time';
 | |
| 
 | |
| let CONN_ID= `SELECT CONNECTION_ID()`;
 | |
| FLUSH LOGS;
 | |
| 
 | |
| # reset log settings
 | |
| SET @@global.general_log = @old_general_log;
 | |
| SET @@global.general_log_file = @old_general_log_file;
 | |
| SET SESSION debug='-d';
 | |
| 
 | |
| perl;
 | |
|   # get the relevant info from the surrounding perl invocation
 | |
|   $datadir= $ENV{'MYSQLD_DATADIR'};
 | |
|   $conn_id= $ENV{'CONN_ID'};
 | |
| 
 | |
|   # loop through the log file looking for the stmt querying for conn id
 | |
|   open(FILE, "$datadir/bug45387_general.log") or
 | |
|     die("Unable to read log file $datadir/bug45387_general.log: $!\n");
 | |
|   while(<FILE>) {
 | |
|     if (/\d{6}\s+\d+:\d+:\d+[ \t]+(\d+)[ \t]+Query[ \t]+SELECT CONNECTION_ID/) {
 | |
|       $found= $1;
 | |
|       break;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   # print the result
 | |
|   if ($found == $conn_id) {
 | |
|     print "Bug#45387: ID match.\n";
 | |
|   } else {
 | |
|     print "Bug#45387: Expected ID '$conn_id', found '$found' in log file.\n";
 | |
|     print "Contents of log file:\n";
 | |
|     seek(FILE, 0, 0);
 | |
|     while($line= <FILE>) {
 | |
|       print $line;
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   close(FILE);
 | |
| EOF
 | |
| 
 | |
| --remove_file $MYSQLD_DATADIR/bug45387_general.log
 | |
| 
 | |
| --echo End of 5.1 tests
 | |
| 
 | |
| 
 | |
| --echo #
 | |
| --echo # Cleanup
 | |
| --echo #
 | |
| 
 | |
| # Reset global system variables to initial values if forgotten somewhere above.
 | |
| SET global general_log = @old_general_log;
 | |
| SET global general_log_file = @old_general_log_file;
 | |
| SET global slow_query_log = @old_slow_query_log;
 | |
| SET global slow_query_log_file = @old_slow_query_log_file;
 | |
| if(!$fixed_bug38124)
 | |
| {
 | |
|    --disable_query_log
 | |
|    let $my_var = `SELECT @old_general_log_file`;
 | |
|    eval SET @@global.general_log_file = '$my_var';
 | |
|    let $my_var = `SELECT @old_slow_query_log_file`;
 | |
|    eval SET @@global.slow_query_log_file = '$my_var';
 | |
|    --enable_query_log
 | |
| }
 |