Overrode part of ContextualFetch in ImaDBI to shut up the useless warnings
Matt S Trout [Thu, 4 Aug 2005 15:09:04 +0000 (15:09 +0000)]
lib/DBIx/Class/CDBICompat/ImaDBI.pm
t/cdbi-t/02-Film.t

index 8aaa564..08a72d8 100644 (file)
@@ -2,6 +2,7 @@ package DBIx::Class::CDBICompat::ImaDBI;
 
 use strict;
 use warnings;
+use DBIx::ContextualFetch;
 
 use NEXT;
 use base qw/Class::Data::Inheritable/;
@@ -99,4 +100,21 @@ sub transform_sql {
   return sprintf($sql, @args);
 }
 
+package DBIx::ContextualFetch::st;
+
+no warnings 'redefine';
+
+sub _untaint_execute {
+  my $sth = shift;
+  my $old_value = $sth->{Taint};
+  $sth->{Taint} = 0;
+  my $ret;
+  {
+    no warnings 'uninitialized';
+    $ret = $sth->SUPER::execute(@_);
+  }
+  $sth->{Taint} = $old_value;
+  return $ret;
+}
+
 1;
index ca0a004..ffccecd 100644 (file)
@@ -228,10 +228,7 @@ is($btaste->Director, $orig_director, 'discard_changes()');
        my $btaste2 = Film->retrieve($btaste->id);
        $btaste->NumExplodingSheep(18);
        my @warnings;
-       local $SIG{__WARN__} = sub {
-          unless ($_[0] =~ m/ContextualFetch/) {
-            push(@warnings, @_);
-          } };
+       local $SIG{__WARN__} = sub { push(@warnings, @_); };
        {
 
                # unhook from live object cache, so next one is not from cache