X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FSybase.pm;h=9072b38696fdb2adead8647088c287f33f88e5c6;hb=ddcc02d14d03169c54c65db9f0f446836483ba55;hp=628832537cac8b567d4f82801ee1cff0d8f0e247;hpb=b0c42bbc89cfad32585c32d5360cc1151b2ad8c9;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Sybase.pm b/lib/DBIx/Class/Storage/DBI/Sybase.pm index 6288325..9072b38 100644 --- a/lib/DBIx/Class/Storage/DBI/Sybase.pm +++ b/lib/DBIx/Class/Storage/DBI/Sybase.pm @@ -2,6 +2,7 @@ package DBIx::Class::Storage::DBI::Sybase; use strict; use warnings; +use DBIx::Class::_Util 'dbic_internal_try'; use Try::Tiny; use namespace::clean; @@ -26,7 +27,7 @@ sub _rebless { shift->_determine_connector_driver('Sybase') } sub _get_rdbms_name { my $self = shift; - try { + dbic_internal_try { my $name = $self->_get_dbh->selectrow_arrayref('sp_server_info @attribute_id=1')->[2]; if ($name) { @@ -77,9 +78,9 @@ sub _ping { # FIXME if the main connection goes stale, does opening another for this statement # really determine anything? - +# FIXME (2) THIS MAKES 0 SENSE!!! Need to test later if ($dbh->{syb_no_child_con}) { - return try { + return dbic_internal_try { $self->_connect->do('select 1'); 1; } @@ -88,13 +89,14 @@ sub _ping { }; } - return try { - $dbh->do('select 1'); - 1; - } - catch { - 0; - }; + return ( + (dbic_internal_try { + $dbh->do('select 1'); + 1; + }) + ? 1 + : 0 + ); } sub _set_max_connect {