Add dsn opt to Cxn::connect() to change dsn. Update Cxn in pt-agent.

This commit is contained in:
Daniel Nichter
2013-12-04 16:14:17 -08:00
parent 0f63f75504
commit 1f93caf67c
3 changed files with 72 additions and 2 deletions

View File

@@ -119,7 +119,7 @@ sub new {
sub connect {
my ( $self, %opts ) = @_;
my $dsn = $self->{dsn};
my $dsn = $opts{dsn} || $self->{dsn};
my $dp = $self->{DSNParser};
my $dbh = $self->{dbh};
@@ -139,6 +139,13 @@ sub connect {
}
$dbh = $self->set_dbh($dbh);
if ( $opts{dsn} ) {
$self->{dsn} = $dsn;
$self->{dsn_name} = $dp->as_string($dsn, [qw(h P S)])
|| $dp->as_string($dsn, [qw(F)])
|| '';
}
PTDEBUG && _d($dbh, 'Connected dbh to', $self->{hostname},$self->{dsn_name});
return $dbh;
}