maintain condition order (left versus right) in _stack_cond
Matt S Trout [Sun, 17 Nov 2013 02:52:39 +0000 (02:52 +0000)]
lib/DBIx/Class/ResultSet.pm

index 4ff25f7..e329034 100644 (file)
@@ -600,9 +600,11 @@ sub _stack_cond {
 
   return undef unless @top;
 
-  my %top = map +(Data::Dumper::Concise::Dumper($_) => $_), @top;
+  my %seen;
 
-  return \Operator({ 'SQL.Naive' => 'AND' }, [ values %top ]);
+  my @uniq = grep { !$seen{Data::Dumper::Concise::Dumper($_)}++ } @top;
+
+  return \Operator({ 'SQL.Naive' => 'AND' }, \@uniq);
 }
 
 =head2 search_literal