--- /dev/null
+package DBIx::Class::PK::Auto::Pg;
+
+use strict;
+use warnings;
+
+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;
+ my $dbh= $self->storage->dbh;
+ my $sth = $dbh->column_info( undef, undef, $self->_table_name, '%');
+ while (my $foo = $sth->fetchrow_arrayref){
+ if(defined $foo->[12] && $foo->[12] =~ /^nextval/) {
+ ($self->{_autoinc_seq}) = $foo->[12] =~
+ m!^nextval\('"?([^"']+)"?'::text\)!;
+ }
+ }
+}
+
+1;
+
+=head1 NAME
+
+DBIx::Class::PK::Auto::SQLite - Automatic Primary Key class for SQLite
+
+=head1 SYNOPSIS
+
+=head1 DESCRIPTION
+
+This class implements autoincrements for SQLite.
+
+=head1 AUTHORS
+
+Matt S. Trout <perl-stuff@trout.me.uk>
+
+=head1 LICENSE
+
+You may distribute this code under the same terms as Perl itself.
+
+=cut
+