X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FPK%2FAuto%2FPg.pm;h=1ad32b6a788a29412f842e981e282cdbfa123b4d;hb=534521dac62f6ab58e83a42d4e8e3cb586db464b;hp=2cd2c411c8c13d3978bedec91cc977e67cd80141;hpb=47d2f099ecf06cb01434642f33fe65511c5c0eca;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/PK/Auto/Pg.pm b/lib/DBIx/Class/PK/Auto/Pg.pm index 2cd2c41..1ad32b6 100644 --- a/lib/DBIx/Class/PK/Auto/Pg.pm +++ b/lib/DBIx/Class/PK/Auto/Pg.pm @@ -1,4 +1,5 @@ -package DBIx::Class::PK::Auto::Pg; +package # hide package from pause + DBIx::Class::PK::Auto::Pg; use strict; use warnings; @@ -7,57 +8,25 @@ use base qw/DBIx::Class/; __PACKAGE__->load_components(qw/PK::Auto/); -sub last_insert_id { - my $self = shift; - $self->get_autoinc_seq unless $self->{_autoinc_seq}; - $self->storage->dbh->last_insert_id(undef,undef,undef,undef, - {sequence=>$self->{_autoinc_seq}}); -} - -sub get_autoinc_seq { - my $self = shift; - - # return the user-defined sequence if known - if ($self->sequence) { - return $self->{_autoinc_seq} = $self->sequence; - } - - my @pri = $self->primary_columns; - my $dbh = $self->storage->dbh; - while (my $col = shift @pri) { - my $info = $dbh->column_info(undef,undef,$self->table,$col)->fetchrow_arrayref; - if (defined $info->[12] and $info->[12] =~ - /^nextval\('"?([^"']+)"?'::(?:text|regclass)\)/) - { - $self->{_autoinc_seq} = $1; - last; - } - } -} - 1; -=head1 NAME - -DBIx::Class::PK::Auto::Pg - Automatic Primary Key class for Postgresql - -=head1 SYNOPSIS - - # In your table classes - __PACKAGE__->load_components(qw/PK::Auto::Pg Core/); - __PACKAGE__->set_primary_key('id'); +__END__ -=head1 DESCRIPTION +=head1 NAME -This class implements autoincrements for Postgresql. +DBIx::Class::PK::Auto::Pg - (DEPRECATED) Automatic primary key class for Pg -=head1 AUTHORS +=head1 SYNOPSIS -Marcus Ramberg +Just load PK::Auto instead; auto-inc is now handled by Storage. -=head1 LICENSE +=head1 FURTHER QUESTIONS? -You may distribute this code under the same terms as Perl itself. +Check the list of L. -=cut +=head1 COPYRIGHT AND LICENSE +This module is free software L +by the L. You can +redistribute it and/or modify it under the same terms as the +L.