~percona-toolkit-dev/percona-toolkit/release-2.2.2

« back to all changes in this revision

Viewing changes to bin/pt-deadlock-logger

  • Committer: Brian Fraser
  • Date: 2013-04-19 23:26:48 UTC
  • Revision ID: brian.fraser@percona.com-20130419232648-mjnd4rt9k4xldmjc
BuildĀ percona-toolkit-2.2.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
41
41
# ###########################################################################
42
42
{
43
43
package Percona::Toolkit;
44
 
our $VERSION = '2.2.1';
 
44
our $VERSION = '2.2.2';
45
45
 
46
46
1;
47
47
}
1124
1124
# ###########################################################################
1125
1125
{
1126
1126
package Lmo::Utils;
 
1127
 
1127
1128
use strict;
1128
1129
use warnings qw( FATAL all );
1129
1130
require Exporter;
1131
1132
 
1132
1133
BEGIN {
1133
1134
   @ISA = qw(Exporter);
1134
 
   @EXPORT = @EXPORT_OK = qw(_install_coderef _unimport_coderefs _glob_for _stash_for);
 
1135
   @EXPORT = @EXPORT_OK = qw(
 
1136
      _install_coderef
 
1137
      _unimport_coderefs
 
1138
      _glob_for
 
1139
      _stash_for
 
1140
   );
1135
1141
}
1136
1142
 
1137
1143
{
1315
1321
   return Lmo::Meta->new(class => $class);
1316
1322
}
1317
1323
 
1318
 
 
1319
1324
1;
1320
1325
}
1321
1326
# ###########################################################################
2670
2675
   return $self->{hostname} || $self->{dsn_name} || 'unknown host';
2671
2676
}
2672
2677
 
 
2678
sub remove_duplicate_cxns {
 
2679
   my ($self, %args) = @_;
 
2680
   my @cxns     = @{$args{cxns}};
 
2681
   my $seen_ids = $args{seen_ids} || {};
 
2682
   PTDEBUG && _d("Removing duplicates from ", join(" ", map { $_->name } @cxns));
 
2683
   my @trimmed_cxns;
 
2684
 
 
2685
   for my $cxn ( @cxns ) {
 
2686
      my $dbh  = $cxn->dbh();
 
2687
      my $sql  = q{SELECT @@server_id};
 
2688
      PTDEBUG && _d($sql);
 
2689
      my ($id) = $dbh->selectrow_array($sql);
 
2690
      PTDEBUG && _d('Server ID for ', $cxn->name, ': ', $id);
 
2691
 
 
2692
      if ( ! $seen_ids->{$id}++ ) {
 
2693
         push @trimmed_cxns, $cxn
 
2694
      }
 
2695
      else {
 
2696
         PTDEBUG && _d("Removing ", $cxn->name,
 
2697
                       ", ID ", $id, ", because we've already seen it");
 
2698
      }
 
2699
   }
 
2700
 
 
2701
   return \@trimmed_cxns;
 
2702
}
 
2703
 
2673
2704
sub DESTROY {
2674
2705
   my ($self) = @_;
2675
2706
 
5437
5468
 
5438
5469
=head1 VERSION
5439
5470
 
5440
 
pt-deadlock-logger 2.2.1
 
5471
pt-deadlock-logger 2.2.2
5441
5472
 
5442
5473
=cut