X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FInformix.pm;h=cab66da990b7dc8d6bba95b810ea944eb27948d2;hb=2aa3f4c0bc1ce479776c96a1bc7bb44f7cfd1233;hp=b4a2ea8a1535e1c415eb25a656c193a94284e796;hpb=09380b0692fdb72739351fca93ee7fb696db365e;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Informix.pm b/lib/DBIx/Class/Storage/DBI/Informix.pm index b4a2ea8..cab66da 100644 --- a/lib/DBIx/Class/Storage/DBI/Informix.pm +++ b/lib/DBIx/Class/Storage/DBI/Informix.pm @@ -6,7 +6,6 @@ use base qw/DBIx::Class::Storage::DBI/; use mro 'c3'; use Scope::Guard (); -use Scalar::Util 'weaken'; use Context::Preserve 'preserve_context'; use namespace::clean; @@ -67,10 +66,10 @@ sub with_deferred_fk_checks { $self->_do_query('SET CONSTRAINTS ALL DEFERRED'); - weaken($self); return preserve_context { + my $inner_self = $self; # avoid nested closure leak on 5.8 my $sg = Scope::Guard->new(sub { - $self->_do_query('SET CONSTRAINTS ALL IMMEDIATE'); + $inner_self->_do_query('SET CONSTRAINTS ALL IMMEDIATE'); }); $sub->() } after => sub { $txn_scope_guard->commit };