using ->rows here was not a reliable thing to do
[dbsrgits/DBIx-Class-Historic.git] / lib / DBIx / Class / Storage / DBI.pm
index 9077631..4158781 100644 (file)
@@ -275,7 +275,9 @@ This class represents the connection to the database
 =cut
 
 sub new {
-  my $new = bless({}, ref $_[0] || $_[0]);
+  my $new = {};
+  bless $new, (ref $_[0] || $_[0]);
+
   $new->cursor("DBIx::Class::Storage::DBI::Cursor");
   $new->transaction_depth(0);
 
@@ -859,11 +861,6 @@ sub columns_info_for {
       my $sth = $dbh->column_info( undef,$schema, $tab, '%' );
       $sth->execute();
 
-      # Some error occured or there is no information:
-      if($sth->rows <1) {
-          die "column_info returned no rows for $schema, $tab";
-      }
-
       while ( my $info = $sth->fetchrow_hashref() ){
         my %column_info;
         $column_info{data_type}   = $info->{TYPE_NAME};
@@ -876,7 +873,7 @@ sub columns_info_for {
         $result{$col_name} = \%column_info;
       }
     };
-    return \%result if !$@;
+    return \%result if !$@ && scalar keys %result;
   }
 
   my %result;