~percona-toolkit-dev/percona-toolkit/pt-query-advisor-docs-2

« back to all changes in this revision

Viewing changes to bin/pt-deadlock-logger

Merge fix-password-comma-bug-886077.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1213
1213
$Data::Dumper::Indent    = 0;
1214
1214
$Data::Dumper::Quotekeys = 0;
1215
1215
 
 
1216
my $dsn_sep = qr/(?<!\\),/;
 
1217
 
1216
1218
eval {
1217
1219
   require DBI;
1218
1220
};
1267
1269
   my %final_props;
1268
1270
   my $opts = $self->{opts};
1269
1271
 
1270
 
   foreach my $dsn_part ( split(/,/, $dsn) ) {
 
1272
   foreach my $dsn_part ( split($dsn_sep, $dsn) ) {
 
1273
      $dsn_part =~ s/\\,/,/g;
1271
1274
      if ( my ($prop_key, $prop_val) = $dsn_part =~  m/^(.)=(.*)$/ ) {
1272
1275
         $given_props{$prop_key} = $prop_val;
1273
1276
      }
1326
1329
sub as_string {
1327
1330
   my ( $self, $dsn, $props ) = @_;
1328
1331
   return $dsn unless ref $dsn;
1329
 
   my %allowed = $props ? map { $_=>1 } @$props : ();
 
1332
   my @keys = $props ? @$props : sort keys %$dsn;
1330
1333
   return join(',',
1331
 
      map  { "$_=" . ($_ eq 'p' ? '...' : $dsn->{$_})  }
1332
 
      grep { defined $dsn->{$_} && $self->{opts}->{$_} }
1333
 
      grep { !$props || $allowed{$_}                   }
1334
 
      sort keys %$dsn );
 
1334
      map  { "$_=" . ($_ eq 'p' ? '...' : $dsn->{$_}) }
 
1335
      grep {
 
1336
         exists $self->{opts}->{$_}
 
1337
         && exists $dsn->{$_}
 
1338
         && defined $dsn->{$_}
 
1339
      } @keys);
1335
1340
}
1336
1341
 
1337
1342
sub usage {