X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FReplicated%2FWithDSN.pm;h=f26eb3c21763148b5b106a79e3d01d09141c544b;hb=55f68788a1e0975e4cc36e0623bf4b70c514b46e;hp=7cab9a932912a1b95926dc9416304b73e5b2bb9f;hpb=ede99b9f99bb77ceda57e42d8046d4942e8a40fa;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/Replicated/WithDSN.pm b/lib/DBIx/Class/Storage/DBI/Replicated/WithDSN.pm index 7cab9a9..f26eb3c 100644 --- a/lib/DBIx/Class/Storage/DBI/Replicated/WithDSN.pm +++ b/lib/DBIx/Class/Storage/DBI/Replicated/WithDSN.pm @@ -4,6 +4,7 @@ use Moose::Role; use Scalar::Util 'reftype'; requires qw/_query_start/; +use Try::Tiny; use namespace::clean -except => 'meta'; =head1 NAME @@ -32,7 +33,7 @@ Add C to debugging output. around '_query_start' => sub { my ($method, $self, $sql, @bind) = @_; - my $dsn = eval { $self->dsn } || $self->_dbi_connect_info->[0]; + my $dsn = (try { $self->dsn }) || $self->_dbi_connect_info->[0]; my($op, $rest) = (($sql=~m/^(\w+)(.+)$/),'NOP', 'NO SQL'); my $storage_type = $self->can('active') ? 'REPLICANT' : 'MASTER'; @@ -41,7 +42,7 @@ around '_query_start' => sub { if ((reftype($dsn)||'') ne 'CODE') { "$op [DSN_$storage_type=$dsn]$rest"; } - elsif (my $id = eval { $self->id }) { + elsif (my $id = try { $self->id }) { "$op [$storage_type=$id]$rest"; } else {