[Bast-commits] r8620 - DBIx-Class/0.08/branches/chaining_fixes/lib/DBIx/Class

frew at dev.catalyst.perl.org frew at dev.catalyst.perl.org
Thu Feb 11 10:54:50 GMT 2010


Author: frew
Date: 2010-02-11 10:54:49 +0000 (Thu, 11 Feb 2010)
New Revision: 8620

Modified:
   DBIx-Class/0.08/branches/chaining_fixes/lib/DBIx/Class/ResultSet.pm
Log:
make t/76s and t/88 pass by deleting from the correct attr hash

Modified: DBIx-Class/0.08/branches/chaining_fixes/lib/DBIx/Class/ResultSet.pm
===================================================================
--- DBIx-Class/0.08/branches/chaining_fixes/lib/DBIx/Class/ResultSet.pm	2010-02-11 10:53:50 UTC (rev 8619)
+++ DBIx-Class/0.08/branches/chaining_fixes/lib/DBIx/Class/ResultSet.pm	2010-02-11 10:54:49 UTC (rev 8620)
@@ -291,6 +291,10 @@
     $rows = $self->get_cache;
   }
 
+  if (List::Util::first { exists $attrs->{$_} } qw{select as columns}) {
+     delete $our_attrs->{$_} for (qw{+select +as +columns});
+  }
+
   my $new_attrs = { %{$our_attrs}, %{$attrs} };
 
   # merge new attrs into inherited
@@ -298,6 +302,7 @@
     next unless exists $attrs->{$key};
     $new_attrs->{$key} = $self->_merge_attr($our_attrs->{$key}, $attrs->{$key});
   }
+
   my $cond = (@_
     ? (
         (@_ == 1 || ref $_[0] eq "HASH")
@@ -2790,12 +2795,12 @@
   push @{ $attrs->{select} }, map values %{$_}, @colbits;
   push @{ $attrs->{as}     }, map keys   %{$_}, @colbits;
 
-  if ( my $adds = $attrs->{'+select'} ) {
+  if ( my $adds = delete $attrs->{'+select'} ) {
     $adds = [$adds] unless ref $adds eq 'ARRAY';
     push @{ $attrs->{select} },
       map { /\./ || ref $_ ? $_ : "$alias.$_" } @$adds;
   }
-  if ( my $adds = $attrs->{'+as'} ) {
+  if ( my $adds = delete $attrs->{'+as'} ) {
     $adds = [$adds] unless ref $adds eq 'ARRAY';
     push @{ $attrs->{as} }, @$adds;
   }




More information about the Bast-commits mailing list