Add missing shallow copy of seen_join
Peter Rabbitson [Wed, 11 Feb 2009 09:17:55 +0000 (09:17 +0000)]
lib/DBIx/Class/ResultSet.pm

index 65b763f..565a17d 100644 (file)
@@ -2246,7 +2246,7 @@ sub _resolved_attrs {
   if (my $prefetch = delete $attrs->{prefetch}) {
     $prefetch = $self->_merge_attr({}, $prefetch);
     my @pre_order;
-    my $seen = $attrs->{seen_join} || {};
+    my $seen = { %{ $attrs->{seen_join} || {} } };
     foreach my $p (ref $prefetch eq 'ARRAY' ? @$prefetch : ($prefetch)) {
       # bring joins back to level of current class
       my @prefetch = $source->resolve_prefetch(