A simple fix to the warning generated by a sub-classed proxy - Please verify.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Schema.pm
index d72e3d4..849f1dd 100644 (file)
@@ -208,6 +208,7 @@ sub load_namespaces {
     local *Class::C3::reinitialize = sub { };
     use warnings 'redefine';
 
+    my %done;
     foreach my $result (keys %results) {
       my $result_class = $results{$result};
       $class->ensure_class_loaded($result_class);
@@ -215,8 +216,9 @@ sub load_namespaces {
 
       my $rs_class = delete $resultsets{$result};
       my $rs_set = $result_class->resultset_class;
+      $done{$rs_set} = $rs_set unless exists $done{$rs_set};
       if($rs_set && $rs_set ne 'DBIx::Class::ResultSet') {
-        if($rs_class && $rs_class ne $rs_set) {
+        if($rs_class && !exists($done{$rs_set}) && $rs_class ne $rs_set) {
           warn "We found ResultSet class '$rs_class' for '$result', but it seems "
              . "that you had already set '$result' to use '$rs_set' instead";
         }
@@ -456,9 +458,13 @@ is used to create a new instance of the storage backend and set it on
 the Schema object.
 
 See L<DBIx::Class::Storage::DBI/"connect_info"> for DBI-specific
-syntax on the C>@connectinfo> argument, or L<DBIx::Class::Storage> in
+syntax on the C<@connectinfo> argument, or L<DBIx::Class::Storage> in
 general.
 
+Note that C<connect_info> expects an arrayref of arguments, but
+C<connect> does not. C<connect> wraps it's arguments in an arrayref
+before passing them to C<connect_info>.
+
 =cut
 
 sub connect { shift->clone->connection(@_) }
@@ -1050,7 +1056,7 @@ If no arguments are passed, then the following default values are used:
 
 =item databases  - ['MySQL', 'SQLite', 'PostgreSQL']
 
-=item version    - $schema->VERSION
+=item version    - $schema->schema_version
 
 =item directory  - './'