Merged sandbox-get_dbh_for-fix

This commit is contained in:
Brian Fraser
2012-11-07 04:13:50 -03:00

View File

@@ -122,8 +122,7 @@ sub get_dbh_for {
&& !$self->can_load_data('master');
eval { $dbh = $dp->get_dbh($dp->get_cxn_params($dsn), $cxn_ops) };
if ( $EVAL_ERROR ) {
PTDEBUG && _d('Failed to get dbh for', $server, ':', $EVAL_ERROR);
return 0;
die 'Failed to get dbh for' . $server . ': ' . $EVAL_ERROR;
}
$dbh->{InactiveDestroy} = 1; # Prevent destroying on fork.
$dbh->{FetchHashKeyName} = 'NAME_lc' unless $cxn_ops && $cxn_ops->{no_lc};
@@ -269,7 +268,7 @@ sub leftover_servers {
PTDEBUG && _d('Checking for leftover servers');
foreach my $serverno ( 1..6 ) {
my $server = "master$serverno";
my $dbh = $self->get_dbh_for($server);
my $dbh = eval { $self->get_dbh_for($server) };
if ( $dbh ) {
$dbh->disconnect();
return "Sandbox $server " . $port_for{$server} . " was left up.";