blob: 971c11d458f5ae81c35177005dde2b0d7bb09bd5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
### 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_dbug='+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_dbug='-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
}
|