Augment the infinite loop fix 4f52479b with the infra of ddcc02d1
Peter Rabbitson [Fri, 8 Apr 2016 14:36:22 +0000 (16:36 +0200)]
This also fixes a manifestation (but not the cause, this comes later) of a
bug where $result->result_source != $result->result_source_instance.

This commit is made early as it is rather efficient anyway, and it allows me
to test Handel (which was broken by 4f52479b) to validate subsequent rsrc
rewritering

lib/DBIx/Class/Row.pm

index 8ce9310..5c4cead 100644 (file)
@@ -1585,9 +1585,9 @@ sub throw_exception {
   my $self=shift;
 
   if (
-    ref $self
+    ! DBIx::Class::_Util::in_internal_try
       and
-    my $rsrc = dbic_internal_try { $self->result_source_instance }
+    my $rsrc = dbic_internal_try { $self->result_source }
   ) {
     $rsrc->throw_exception(@_)
   }