From: Matt S Trout Date: Wed, 20 Jun 2007 04:00:54 +0000 (+0000) Subject: eleiminate vestigial code in PK::Auto X-Git-Tag: v0.08010~143 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=9ea866716b5ed90a493776f827ca1867c815d142;p=dbsrgits%2FDBIx-Class.git eleiminate vestigial code in PK::Auto --- diff --git a/lib/DBIx/Class/PK/Auto.pm b/lib/DBIx/Class/PK/Auto.pm index 41c14a6..04f211b 100644 --- a/lib/DBIx/Class/PK/Auto.pm +++ b/lib/DBIx/Class/PK/Auto.pm @@ -11,7 +11,7 @@ DBIx::Class::PK::Auto - Automatic primary key class =head1 SYNOPSIS -__PACKAGE__->load_components(qw/PK::Auto Core/); +__PACKAGE__->load_components(qw/Core/); __PACKAGE__->set_primary_key('id'); =head1 DESCRIPTION @@ -19,9 +19,10 @@ __PACKAGE__->set_primary_key('id'); This class overrides the insert method to get automatically incremented primary keys. - __PACKAGE__->load_components(qw/PK::Auto Core/); + __PACKAGE__->load_components(qw/Core/); + +PK::Auto is now part of Core. -Note that C is specified as the left of the Core component. See L for details of component interactions. =head1 LOGIC @@ -33,30 +34,7 @@ fetching the assigned value afterwards. =head2 insert -Overrides C so that it will get the value of autoincremented primary -keys. - -=cut - -sub insert { - my ($self, @rest) = @_; - my $ret = $self->next::method(@rest); - - my ($pri, $too_many) = grep { !defined $self->get_column($_) || - ref($self->get_column($_)) eq 'SCALAR'} $self->primary_columns; - return $ret unless defined $pri; # if all primaries are already populated, skip auto-inc - $self->throw_exception( "More than one possible key found for auto-inc on ".ref $self ) - if defined $too_many; - - my $storage = $self->result_source->storage; - $self->throw_exception( "Missing primary key but Storage doesn't support last_insert_id" ) - unless $storage->can('last_insert_id'); - my $id = $storage->last_insert_id($self->result_source,$pri); - $self->throw_exception( "Can't get last insert id" ) unless $id; - $self->store_column($pri => $id); - - return $ret; -} +The code that was handled here is now in Row for efficiency. =head2 sequence