fix mro issues under 5.8
[dbsrgits/DBIx-Class-Schema-Loader.git] / lib / DBIx / Class / Schema / Loader / DBI.pm
index 131b3d3..56251e2 100644 (file)
@@ -54,9 +54,10 @@ sub new {
         my $driver = $self->dbh->{Driver}->{Name};
 
         my $subclass = 'DBIx::Class::Schema::Loader::DBI::' . $driver;
-        if ($self->load_optional_class($subclass)) {
-            bless $self, $subclass unless $self->isa($subclass);
+        if ((not $self->isa($subclass)) && $self->load_optional_class($subclass)) {
+            bless $self, $subclass;
             $self->_rebless;
+            Class::C3::reinitialize() if $] < 5.009005;
         }
     }
 
@@ -66,7 +67,7 @@ sub new {
 
     $self->_setup;
 
-    $self;
+    return $self;
 }
 
 sub _build_quote_char {