X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FPg.pm;fp=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FPg.pm;h=6397e457429df2fe4d343514482c0e43fbe0f6b0;hb=5861223dc567aba141222cf372590b9086270ec6;hp=92f1a78cafd0eff393adecd7606770a294ae5a62;hpb=993fd91cb2f1d2e2c5d55fc434fec0ca3a20713e;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/Pg.pm b/lib/DBIx/Class/Storage/DBI/Pg.pm index 92f1a78..6397e45 100644 --- a/lib/DBIx/Class/Storage/DBI/Pg.pm +++ b/lib/DBIx/Class/Storage/DBI/Pg.pm @@ -61,19 +61,12 @@ sub _dbh_get_autoinc_seq { ( $schema, $table ) = ( $1, $2 ); } -### XXX This is unsafe in DBD::Pg 2.15.1, it can disconnect for some reason -### - # use DBD::Pg to fetch the column info if it is recent enough to - # work. otherwise, use custom SQL -# my $seq_expr = $DBD::Pg::VERSION >= 2.015001 -# ? eval{ $dbh->column_info(undef,$schema,$table,$col)->fetchrow_hashref->{COLUMN_DEF} } -# : $self->_dbh_get_column_default( $dbh, $schema, $table, $col ); - + # get the column default using a Postgres-specific pg_catalog query my $seq_expr = $self->_dbh_get_column_default( $dbh, $schema, $table, $col ); # if no default value is set on the column, or if we can't parse the # default value as a sequence, throw. - unless ( defined $seq_expr and $seq_expr =~ /^nextval\(+'([^']+)'::(?:text|regclass)\)/i ){ + unless ( defined $seq_expr and $seq_expr =~ /^nextval\(+'([^']+)'::(?:text|regclass)\)/i ) { $seq_expr = '' unless defined $seq_expr; $schema = "$schema." if defined $schema && length $schema; $self->throw_exception( "no sequence found for $schema$table.$col, check table definition, "