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

« back to all changes in this revision

Viewing changes to bin/pt-log-player

Merge fix-password-comma-bug-886077.

Show diffs side-by-side

added added

removed removed

Lines of Context:
2008
2008
$Data::Dumper::Indent    = 0;
2009
2009
$Data::Dumper::Quotekeys = 0;
2010
2010
 
 
2011
my $dsn_sep = qr/(?<!\\),/;
 
2012
 
2011
2013
eval {
2012
2014
   require DBI;
2013
2015
};
2062
2064
   my %final_props;
2063
2065
   my $opts = $self->{opts};
2064
2066
 
2065
 
   foreach my $dsn_part ( split(/,/, $dsn) ) {
 
2067
   foreach my $dsn_part ( split($dsn_sep, $dsn) ) {
 
2068
      $dsn_part =~ s/\\,/,/g;
2066
2069
      if ( my ($prop_key, $prop_val) = $dsn_part =~  m/^(.)=(.*)$/ ) {
2067
2070
         $given_props{$prop_key} = $prop_val;
2068
2071
      }
2121
2124
sub as_string {
2122
2125
   my ( $self, $dsn, $props ) = @_;
2123
2126
   return $dsn unless ref $dsn;
2124
 
   my %allowed = $props ? map { $_=>1 } @$props : ();
 
2127
   my @keys = $props ? @$props : sort keys %$dsn;
2125
2128
   return join(',',
2126
 
      map  { "$_=" . ($_ eq 'p' ? '...' : $dsn->{$_})  }
2127
 
      grep { defined $dsn->{$_} && $self->{opts}->{$_} }
2128
 
      grep { !$props || $allowed{$_}                   }
2129
 
      sort keys %$dsn );
 
2129
      map  { "$_=" . ($_ eq 'p' ? '...' : $dsn->{$_}) }
 
2130
      grep {
 
2131
         exists $self->{opts}->{$_}
 
2132
         && exists $dsn->{$_}
 
2133
         && defined $dsn->{$_}
 
2134
      } @keys);
2130
2135
}
2131
2136
 
2132
2137
sub usage {