X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FPg.pm;h=41b2357aaf6812196321bce1c4826666f050f310;hb=43919f423fba30ae065ba4617a2e1f9e5aae1640;hp=49ca40dd86bb16f498537b1eda19462b7c457479;hpb=eeb8cfeb91eebb5bd979202c234c9facf71f0b25;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI/Pg.pm b/lib/DBIx/Class/Storage/DBI/Pg.pm index 49ca40d..41b2357 100644 --- a/lib/DBIx/Class/Storage/DBI/Pg.pm +++ b/lib/DBIx/Class/Storage/DBI/Pg.pm @@ -5,7 +5,7 @@ use warnings; use DBD::Pg qw(:pg_types); -use base qw/DBIx::Class::Storage::DBI/; +use base qw/DBIx::Class::Storage::DBI::MultiColumnIn/; # __PACKAGE__->load_components(qw/PK::Auto/); @@ -13,6 +13,13 @@ use base qw/DBIx::Class::Storage::DBI/; warn "DBD::Pg 1.49 is strongly recommended" if ($DBD::Pg::VERSION < 1.49); +sub with_deferred_fk_checks { + my ($self, $sub) = @_; + + $self->dbh->do('SET CONSTRAINTS ALL DEFERRED'); + $sub->(); +} + sub _dbh_last_insert_id { my ($self, $dbh, $seq) = @_; $dbh->last_insert_id(undef, undef, undef, undef, {sequence => $seq}); @@ -63,6 +70,7 @@ sub bind_attribute_by_data_type { my $bind_attributes = { bytea => { pg_type => DBD::Pg::PG_BYTEA }, + blob => { pg_type => DBD::Pg::PG_BYTEA }, }; if( defined $bind_attributes->{$data_type} ) { @@ -88,7 +96,7 @@ sub _svp_begin { sub _svp_release { my ($self, $name) = @_; - $self->dbh->pg_release($name;) + $self->dbh->pg_release($name); } sub _svp_rollback {