X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FSchema%2FVersioned.pm;h=fe6c6940d45207d06bba45ebd421af96fd7491b6;hb=20674fcd94984d0d2be09ecda7f3c22715468936;hp=0e87d2c97b720bb3fb496aaa062ed2debeef8afb;hpb=48580715af3072905f2c71dc27e7f70f21a11338;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Schema/Versioned.pm b/lib/DBIx/Class/Schema/Versioned.pm index 0e87d2c..fe6c694 100644 --- a/lib/DBIx/Class/Schema/Versioned.pm +++ b/lib/DBIx/Class/Schema/Versioned.pm @@ -503,8 +503,9 @@ sub get_db_version my ($self, $rs) = @_; my $vtable = $self->{vschema}->resultset('Table'); - my $version = eval { - $vtable->search({}, { order_by => { -desc => 'installed' }, rows => 1 } ) + my $version; + try { + $version = $vtable->search({}, { order_by => { -desc => 'installed' }, rows => 1 } ) ->get_column ('version') ->next; }; @@ -709,12 +710,12 @@ sub _read_sql_file { my @data = split /\n/, join '', <$fh>; close $fh; - @data = grep { - $_ && - !/^--/ && - !/^(BEGIN|BEGIN TRANSACTION|COMMIT)/m - } split /;/, - join '', @data; + @data = split /;/, + join '', + grep { $_ && + !/^--/ && + !/^(BEGIN|BEGIN TRANSACTION|COMMIT)/mi } + @data; return \@data; } @@ -723,10 +724,14 @@ sub _source_exists { my ($self, $rs) = @_; - my $c = eval { - $rs->search({ 1, 0 })->count; + my $c; + my $exception; + try { + $c = $rs->search({ 1, 0 })->count; + } catch { + $exception=1; }; - return 0 if $@ || !defined $c; + return 0 if $exception || !defined $c; return 1; }