From 1496dd0aa53436af11782996b19deb98cb7d60f4 Mon Sep 17 00:00:00 2001 From: Daniel Nichter Date: Sat, 15 Jun 2013 11:04:25 -0700 Subject: [PATCH] Remove Rows_affected for SELECT|SHOW|SET|ADMIN in JSONReportFormatter. --- bin/pt-query-digest | 14 ++++++++------ lib/JSONReportFormatter.pm | 14 ++++++++------ 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/bin/pt-query-digest b/bin/pt-query-digest index 95037251..cb53dfce 100755 --- a/bin/pt-query-digest +++ b/bin/pt-query-digest @@ -7814,13 +7814,13 @@ override query_report => sub { my $all_log_pos = $ea->{result_classes}->{$item}->{pos_in_log}->{all}; my $times_seen = sum values %$all_log_pos; - my $distill = $groupby eq 'fingerprint' ? $qr->distill($sample->{arg}) - : undef; - - my $checksum = make_checksum($item); - my $class = { + my $distill = $groupby eq 'fingerprint' ? $qr->distill($sample->{arg}) + : undef; + my $fingerprint = substr($item, 0, $self->max_fingerprint_length); + my $checksum = make_checksum($item); + my $class = { checksum => $checksum, - fingerprint => substr($item, 0, $self->max_fingerprint_length), + fingerprint => $fingerprint, distillate => $distill, attribute => $groupby, query_count => $times_seen, @@ -7833,6 +7833,8 @@ override query_report => sub { my %metrics; foreach my $attrib ( @attribs ) { my $real_attrib = $attrib eq 'bytes' ? 'Query_length' : $attrib; + next if $real_attrib eq 'Rows_affected' + && $distill && $distill =~ m/^(?:SELECT|SHOW|SET|ADMIN)/; $metrics{$real_attrib} = $ea->metrics( attrib => $attrib, where => $item, diff --git a/lib/JSONReportFormatter.pm b/lib/JSONReportFormatter.pm index bab7a67a..5cfdb850 100644 --- a/lib/JSONReportFormatter.pm +++ b/lib/JSONReportFormatter.pm @@ -218,13 +218,13 @@ override query_report => sub { my $times_seen = sum values %$all_log_pos; # Distill the query. - my $distill = $groupby eq 'fingerprint' ? $qr->distill($sample->{arg}) - : undef; - - my $checksum = make_checksum($item); - my $class = { + my $distill = $groupby eq 'fingerprint' ? $qr->distill($sample->{arg}) + : undef; + my $fingerprint = substr($item, 0, $self->max_fingerprint_length); + my $checksum = make_checksum($item); + my $class = { checksum => $checksum, - fingerprint => substr($item, 0, $self->max_fingerprint_length), + fingerprint => $fingerprint, distillate => $distill, attribute => $groupby, query_count => $times_seen, @@ -237,6 +237,8 @@ override query_report => sub { my %metrics; foreach my $attrib ( @attribs ) { my $real_attrib = $attrib eq 'bytes' ? 'Query_length' : $attrib; + next if $real_attrib eq 'Rows_affected' + && $distill && $distill =~ m/^(?:SELECT|SHOW|SET|ADMIN)/; $metrics{$real_attrib} = $ea->metrics( attrib => $attrib, where => $item,