Streamline ::ResultSource::* inheritance, similar to d009cb7d
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / ResultSource / RowParser.pm
index 4683e15..efd67b1 100644 (file)
@@ -5,9 +5,10 @@ use strict;
 use warnings;
 
 use base 'DBIx::Class';
+use mro 'c3';
 
 use Try::Tiny;
-use List::Util qw(first max);
+use List::Util 'max';
 
 use DBIx::Class::ResultSource::RowParser::Util qw(
   assemble_simple_parser
@@ -148,9 +149,7 @@ sub _mk_row_parser {
   utf8::upgrade($src)
     if DBIx::Class::_ENV_::STRESSTEST_UTF8_UPGRADE_GENERATED_COLLAPSER_SOURCE;
 
-  return (
-    $args->{eval} ? ( eval "sub $src" || die $@ ) : $src,
-  );
+  $src;
 }
 
 
@@ -454,7 +453,7 @@ sub _resolve_collapse {
 
         # if there is at least one *inner* reverse relationship which is HASH-based (equality only)
         # we can safely assume that the child can not exist without us
-        rev_rel_is_optional => ( first
+        rev_rel_is_optional => ( grep
           { ref $_->{cond} eq 'HASH' and ($_->{attrs}{join_type}||'') !~ /^left/i }
           values %{ $self->reverse_relationship_info($rel) },
         ) ? 0 : 1,