X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FInformix.pm;h=79996d3153320059e16df3cd696102382d64dd39;hb=people%2Filmari%2Foracle-deferred-constraints;hp=b4a2ea8a1535e1c415eb25a656c193a94284e796;hpb=cf52a9ad15a73aedfc1822643d63a9aa7982c72c;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..79996d3 100644 --- a/lib/DBIx/Class/Storage/DBI/Informix.pm +++ b/lib/DBIx/Class/Storage/DBI/Informix.pm @@ -2,12 +2,9 @@ package DBIx::Class::Storage::DBI::Informix; use strict; use warnings; -use base qw/DBIx::Class::Storage::DBI/; +use base qw/DBIx::Class::Storage::DBI::SetConstraintsDeferred/; use mro 'c3'; -use Scope::Guard (); -use Scalar::Util 'weaken'; -use Context::Preserve 'preserve_context'; use namespace::clean; __PACKAGE__->sql_limit_dialect ('SkipFirst'); @@ -60,22 +57,6 @@ sub _exec_svp_rollback { $self->_dbh->do("ROLLBACK TO SAVEPOINT $name") } -sub with_deferred_fk_checks { - my ($self, $sub) = @_; - - my $txn_scope_guard = $self->txn_scope_guard; - - $self->_do_query('SET CONSTRAINTS ALL DEFERRED'); - - weaken($self); - return preserve_context { - my $sg = Scope::Guard->new(sub { - $self->_do_query('SET CONSTRAINTS ALL IMMEDIATE'); - }); - $sub->() - } after => sub { $txn_scope_guard->commit }; -} - =head2 connect_call_datetime_setup Used as: