Merge 'sybase' into 'trunk'
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Cursor.pm
index be45ce5..b2c1354 100644 (file)
@@ -7,6 +7,7 @@ use base qw/
   Class::Accessor::Grouped
   DBIx::Class::Cursor
 /;
+use mro 'c3';
 
 __PACKAGE__->mk_group_accessors('simple' =>
     qw/sth/
@@ -127,7 +128,7 @@ sub _dbh_all {
   my ($storage, $dbh, $self) = @_;
 
   $self->_check_dbh_gen;
-  $self->sth->finish if $self->sth->{Active};
+  $self->sth->finish if $self->sth && $self->sth->{Active};
   $self->sth(undef);
   my ($rv, $sth) = $storage->_select(@{$self->{args}});
   return @{$sth->fetchall_arrayref};
@@ -155,6 +156,7 @@ sub reset {
   # No need to care about failures here
   eval { $self->sth->finish if $self->sth && $self->sth->{Active} };
   $self->_soft_reset;
+  return undef;
 }
 
 sub _soft_reset {
@@ -163,7 +165,6 @@ sub _soft_reset {
   $self->sth(undef);
   delete $self->{done};
   $self->{pos} = 0;
-  return $self;
 }
 
 sub _check_dbh_gen {