mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-10 03:19:07 +00:00
Keep GLOBAL in distill of SHOW GLOBAL STATUS|VARIABLES.
This commit is contained in:
@@ -2799,8 +2799,8 @@ $bal = qr/
|
||||
|
||||
my $olc_re = qr/(?:--|#)[^'"\r\n]*(?=[\r\n]|\Z)/; # One-line comments
|
||||
my $mlc_re = qr#/\*[^!].*?\*/#sm; # But not /*!version */
|
||||
my $vlc_re = qr#/\*.*?[0-9+].*?\*/#sm; # For SHOW + /*!version */
|
||||
my $vlc_rf = qr#^(SHOW).*?/\*![0-9+].*?\*/#sm; # Variation for SHOW
|
||||
my $vlc_re = qr#/\*.*?[0-9]+.*?\*/#sm; # For SHOW + /*!version */
|
||||
my $vlc_rf = qr#^(?:SHOW).*?/\*![0-9]+(.*?)\*/#sm; # Variation for SHOW
|
||||
|
||||
|
||||
sub new {
|
||||
@@ -2815,7 +2815,8 @@ sub strip_comments {
|
||||
$query =~ s/$mlc_re//go;
|
||||
$query =~ s/$olc_re//go;
|
||||
if ( $query =~ m/$vlc_rf/i ) { # contains show + version
|
||||
$query =~ s/$vlc_re//go;
|
||||
my $qualifier = $1 || '';
|
||||
$query =~ s/$vlc_re/$qualifier/go;
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
@@ -2957,7 +2958,7 @@ sub distill_verbs {
|
||||
PTDEBUG && _d($query);
|
||||
|
||||
$query = uc $query;
|
||||
$query =~ s/\s+(?:GLOBAL|SESSION|FULL|STORAGE|ENGINE)\b/ /g;
|
||||
$query =~ s/\s+(?:SESSION|FULL|STORAGE|ENGINE)\b/ /g;
|
||||
$query =~ s/\s+COUNT[^)]+\)//g;
|
||||
|
||||
$query =~ s/\s+(?:FOR|FROM|LIKE|WHERE|LIMIT|IN)\b.+//ms;
|
||||
|
@@ -48,8 +48,8 @@ $bal = qr/
|
||||
# performance. The multi-line pattern does not match version-comments.
|
||||
my $olc_re = qr/(?:--|#)[^'"\r\n]*(?=[\r\n]|\Z)/; # One-line comments
|
||||
my $mlc_re = qr#/\*[^!].*?\*/#sm; # But not /*!version */
|
||||
my $vlc_re = qr#/\*.*?[0-9+].*?\*/#sm; # For SHOW + /*!version */
|
||||
my $vlc_rf = qr#^(SHOW).*?/\*![0-9+].*?\*/#sm; # Variation for SHOW
|
||||
my $vlc_re = qr#/\*.*?[0-9]+.*?\*/#sm; # For SHOW + /*!version */
|
||||
my $vlc_rf = qr#^(?:SHOW).*?/\*![0-9]+(.*?)\*/#sm; # Variation for SHOW
|
||||
|
||||
|
||||
sub new {
|
||||
@@ -65,7 +65,8 @@ sub strip_comments {
|
||||
$query =~ s/$mlc_re//go;
|
||||
$query =~ s/$olc_re//go;
|
||||
if ( $query =~ m/$vlc_rf/i ) { # contains show + version
|
||||
$query =~ s/$vlc_re//go;
|
||||
my $qualifier = $1 || '';
|
||||
$query =~ s/$vlc_re/$qualifier/go;
|
||||
}
|
||||
return $query;
|
||||
}
|
||||
@@ -273,7 +274,7 @@ sub distill_verbs {
|
||||
|
||||
# Remove common keywords.
|
||||
$query = uc $query;
|
||||
$query =~ s/\s+(?:GLOBAL|SESSION|FULL|STORAGE|ENGINE)\b/ /g;
|
||||
$query =~ s/\s+(?:SESSION|FULL|STORAGE|ENGINE)\b/ /g;
|
||||
# This should be in the regex above but Perl doesn't seem to match
|
||||
# COUNT\(.+\) properly when it's grouped.
|
||||
$query =~ s/\s+COUNT[^)]+\)//g;
|
||||
|
@@ -1248,7 +1248,7 @@ my %status_tests = (
|
||||
'SHOW SLAVE HOSTS' => 'SHOW SLAVE HOSTS',
|
||||
'SHOW SLAVE STATUS' => 'SHOW SLAVE STATUS',
|
||||
'SHOW STATUS' => 'SHOW STATUS',
|
||||
'SHOW GLOBAL STATUS' => 'SHOW STATUS',
|
||||
'SHOW GLOBAL STATUS' => 'SHOW GLOBAL STATUS',
|
||||
'SHOW SESSION STATUS' => 'SHOW STATUS',
|
||||
'SHOW STATUS LIKE "pattern"' => 'SHOW STATUS',
|
||||
'SHOW STATUS WHERE foo=bar' => 'SHOW STATUS',
|
||||
@@ -1270,7 +1270,7 @@ my %status_tests = (
|
||||
'SHOW TRIGGERS LIKE "pattern"' => 'SHOW TRIGGERS',
|
||||
'SHOW TRIGGERS WHERE foo=bar' => 'SHOW TRIGGERS',
|
||||
'SHOW VARIABLES' => 'SHOW VARIABLES',
|
||||
'SHOW GLOBAL VARIABLES' => 'SHOW VARIABLES',
|
||||
'SHOW GLOBAL VARIABLES' => 'SHOW GLOBAL VARIABLES',
|
||||
'SHOW SESSION VARIABLES' => 'SHOW VARIABLES',
|
||||
'SHOW VARIABLES LIKE "pattern"' => 'SHOW VARIABLES',
|
||||
'SHOW VARIABLES WHERE foo=bar' => 'SHOW VARIABLES',
|
||||
@@ -1312,8 +1312,8 @@ foreach my $show ( @show ) {
|
||||
# Issue 735: mk-query-digest doesn't distill query correctly
|
||||
is(
|
||||
$qr->distill('SHOW /*!50002 GLOBAL */ STATUS'),
|
||||
'SHOW STATUS',
|
||||
"distills SHOW STATUS"
|
||||
'SHOW GLOBAL STATUS',
|
||||
"distills SHOW /*!50002 GLOBAL */ STATUS"
|
||||
);
|
||||
|
||||
is(
|
||||
@@ -1330,14 +1330,14 @@ is(
|
||||
|
||||
is(
|
||||
$qr->distill('SHOW GLOBAL STATUS'),
|
||||
'SHOW STATUS',
|
||||
'SHOW GLOBAL STATUS',
|
||||
"distills SHOW GLOBAL STATUS"
|
||||
);
|
||||
|
||||
is(
|
||||
$qr->distill('SHOW GLOBAL VARIABLES'),
|
||||
'SHOW VARIABLES',
|
||||
"distills SHOW VARIABLES"
|
||||
'SHOW GLOBAL VARIABLES',
|
||||
"distills SHOW GLOBAL VARIABLES"
|
||||
);
|
||||
|
||||
is(
|
||||
|
Reference in New Issue
Block a user