X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FMSSQL.pm;fp=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FMSSQL.pm;h=4eb090a71405777bc7197c79db4e6ca6ae2e36e1;hb=ddcc02d14d03169c54c65db9f0f446836483ba55;hp=5b4c422b283e1e8eb25c89017ed52d85b8c9ae80;hpb=db83437ef48f4571e1d225572cc7235eb5e64fe3;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/MSSQL.pm b/lib/DBIx/Class/Storage/DBI/MSSQL.pm index 5b4c422..4eb090a 100644 --- a/lib/DBIx/Class/Storage/DBI/MSSQL.pm +++ b/lib/DBIx/Class/Storage/DBI/MSSQL.pm @@ -9,7 +9,7 @@ use base qw/ /; use mro 'c3'; -use Try::Tiny; +use DBIx::Class::_Util 'dbic_internal_try'; use List::Util 'first'; use namespace::clean; @@ -81,7 +81,7 @@ sub _execute { # we didn't even try on ftds unless ($self->_no_scope_identity_query) { - ($identity) = try { $sth->fetchrow_array }; + ($identity) = dbic_internal_try { $sth->fetchrow_array }; $sth->finish; } @@ -161,7 +161,7 @@ sub sql_limit_dialect { # stored procedures like xp_msver, or version detection failed for some # other reason. # So, we use a query to check if RNO is implemented. - try { + dbic_internal_try { $self->_get_dbh->selectrow_array('SELECT row_number() OVER (ORDER BY rand())'); $supports_rno = 1; }; @@ -178,12 +178,13 @@ sub _ping { local $dbh->{RaiseError} = 1; local $dbh->{PrintError} = 0; - return try { + (dbic_internal_try { $dbh->do('select 1'); 1; - } catch { - 0; - }; + }) + ? 1 + : 0 + ; } package # hide from PAUSE