Duh, this was a pretty simple bug
Peter Rabbitson [Wed, 10 Jun 2009 11:33:14 +0000 (11:33 +0000)]
lib/DBIx/Class/ResultSet.pm
t/search/preserve_original_rs.t

index 7b34a86..515e45f 100644 (file)
@@ -2430,12 +2430,15 @@ sub _resolve_from {
   my $source = $self->result_source;
   my $attrs = $self->{attrs};
 
-  my $from = $attrs->{from}
-    || [ {
-      -result_source => $source,
-      -alias => $attrs->{alias},
-      $attrs->{alias} => $source->from,
-    } ];
+  my $from = [ @{
+      $attrs->{from}
+        ||
+      [{
+        -result_source => $source,
+        -alias => $attrs->{alias},
+        $attrs->{alias} => $source->from,
+      }]
+  }];
 
   my $seen = { %{$attrs->{seen_join} || {} } };
 
index 3e59109..d628e9b 100644 (file)
@@ -80,9 +80,9 @@ $q{artw_back}{query} = $q{artw_back}{rs}->as_query;
 for my $s (qw/a2a artw cd artw_back/) {
   my $rs = $q{$s}{rs};
 
-  lives_ok ( sub { $rs->first }, "first on $s does not throw an exception" );
+  lives_ok ( sub { $rs->first }, "first() on $s does not throw an exception" );
 
-  lives_ok ( sub { $rs->count }, "count on $s does not throw an exception" );
+  lives_ok ( sub { $rs->count }, "count() on $s does not throw an exception" );
 
   is_same_sql_bind ($rs->as_query, $q{$s}{query}, "$s resultset unmodified (as_query matches)" );
 }