mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-25 21:54:48 +00:00
Move certain vars to outer scope to avoid Perl 5.8 scoping bug.
This commit is contained in:
25
bin/pt-kill
25
bin/pt-kill
@@ -4573,7 +4573,10 @@ sub main {
|
|||||||
my $cxn;
|
my $cxn;
|
||||||
my $dbh; # $cxn->dbh
|
my $dbh; # $cxn->dbh
|
||||||
my $get_proclist; # callback to SHOW PROCESSLIST
|
my $get_proclist; # callback to SHOW PROCESSLIST
|
||||||
|
my $proc_sth;
|
||||||
my $kill; # callback to KILL
|
my $kill; # callback to KILL
|
||||||
|
my $kill_sth;
|
||||||
|
my $kill_sql = $o->get('kill-query') ? 'KILL QUERY ?' : 'KILL ?';
|
||||||
my $files;
|
my $files;
|
||||||
if ( $files = $o->get('test-matching') ) {
|
if ( $files = $o->get('test-matching') ) {
|
||||||
PTDEBUG && _d('Getting processlist from files:', @$files);
|
PTDEBUG && _d('Getting processlist from files:', @$files);
|
||||||
@@ -4625,7 +4628,7 @@ sub main {
|
|||||||
# will need to be re-initialized.
|
# will need to be re-initialized.
|
||||||
my $retry = Retry->new();
|
my $retry = Retry->new();
|
||||||
|
|
||||||
my $proc_sth = $dbh->prepare('SHOW FULL PROCESSLIST');
|
$proc_sth = $dbh->prepare('SHOW FULL PROCESSLIST');
|
||||||
$get_proclist = sub {
|
$get_proclist = sub {
|
||||||
return $retry->retry(
|
return $retry->retry(
|
||||||
# Retry for an hour: 1,200 tries x 3 seconds = 3600s/1hr
|
# Retry for an hour: 1,200 tries x 3 seconds = 3600s/1hr
|
||||||
@@ -4658,8 +4661,8 @@ sub main {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
my $kill_sql = $o->get('kill-query') ? 'KILL QUERY ?' : 'KILL ?';
|
|
||||||
my $kill_sth = $dbh->prepare($kill_sql);
|
$kill_sth = $dbh->prepare($kill_sql);
|
||||||
$kill = sub {
|
$kill = sub {
|
||||||
my ($id) = @_;
|
my ($id) = @_;
|
||||||
PTDEBUG && _d('Killing process', $id);
|
PTDEBUG && _d('Killing process', $id);
|
||||||
@@ -4692,12 +4695,12 @@ sub main {
|
|||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
my $log;
|
# Set up --log-dsn if specified.
|
||||||
|
my ($log, $log_sth);
|
||||||
my @processlist_columns = qw(
|
my @processlist_columns = qw(
|
||||||
Id User Host db Command
|
Id User Host db Command
|
||||||
Time State Info Time_ms
|
Time State Info Time_ms
|
||||||
);
|
);
|
||||||
|
|
||||||
if ( my $log_dsn = $o->get('log-dsn') ) {
|
if ( my $log_dsn = $o->get('log-dsn') ) {
|
||||||
my $db = $log_dsn->{D};
|
my $db = $log_dsn->{D};
|
||||||
my $table = $log_dsn->{t};
|
my $table = $log_dsn->{t};
|
||||||
@@ -4734,9 +4737,9 @@ sub main {
|
|||||||
my @all_log_columns = ( qw( server_id timestamp reason kill_error ),
|
my @all_log_columns = ( qw( server_id timestamp reason kill_error ),
|
||||||
@processlist_columns );
|
@processlist_columns );
|
||||||
|
|
||||||
my $sql = 'SELECT @@SERVER_ID';
|
my $sql = 'SELECT @@SERVER_ID';
|
||||||
PTDEBUG && _d($sql);
|
PTDEBUG && _d($sql);
|
||||||
my ($server_id) = $dbh->selectrow_array($sql);
|
my ($server_id) = $dbh->selectrow_array($sql);
|
||||||
|
|
||||||
$sql = "INSERT INTO $log_table ("
|
$sql = "INSERT INTO $log_table ("
|
||||||
. join(", ", @all_log_columns)
|
. join(", ", @all_log_columns)
|
||||||
@@ -4744,7 +4747,7 @@ sub main {
|
|||||||
. join(", ", $server_id, ("?") x (@all_log_columns-1))
|
. join(", ", $server_id, ("?") x (@all_log_columns-1))
|
||||||
. ")";
|
. ")";
|
||||||
PTDEBUG && _d($sql);
|
PTDEBUG && _d($sql);
|
||||||
my $log_sth = $log_dbh->prepare( $sql );
|
$log_sth = $log_dbh->prepare($sql);
|
||||||
|
|
||||||
my $retry = Retry->new();
|
my $retry = Retry->new();
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user