Generalized the loading of subclasses for specfic ODBC backends.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / ODBC / DB2_400_SQL.pm
CommitLineData
2a57124d 1package DBIx::Class::Storage::DBI::ODBC::DB2_400_SQL;
d23f094e 2use strict;
3use warnings;
4
2a57124d 5use base qw/DBIx::Class::Storage::DBI::ODBC/;
d23f094e 6
7sub last_insert_id
8{
9 my ($self) = @_;
10
11 my $dbh = $self->_dbh;
12
13 # get the schema/table separator:
14 # '.' when SQL naming is active
aa8b8190 15 # '/' when system naming is active
d23f094e 16 my $sep = $dbh->get_info(41);
17 my $sth = $dbh->prepare_cached(
18 "SELECT IDENTITY_VAL_LOCAL() FROM SYSIBM${sep}SYSDUMMY1", {}, 3);
19 $sth->execute();
20
21 my @res = $sth->fetchrow_array();
22
23 return @res ? $res[0] : undef;
24}
25
261;
27
28=head1 NAME
29
2a57124d 30DBIx::Class::Storage::DBI::ODBC::DB2_400_SQL - Automatic primary key class for DB2/400
d23f094e 31over ODBC
32
33=head1 SYNOPSIS
34
35 # In your table classes
36 __PACKAGE__->load_components(qw/PK::Auto Core/);
37 __PACKAGE__->set_primary_key('id');
38
d23f094e 39
40=head1 DESCRIPTION
41
42This class implements autoincrements for DB2/400 over ODBC.
43
44
45=head1 AUTHORS
46
2a57124d 47Marc Mims C<< <marc@sssonline.com> >>
d23f094e 48
aa8b8190 49Based on DBIx::Class::Storage::DBI::DB2 by Jess Robinson.
50
d23f094e 51=head1 LICENSE
52
53You may distribute this code under the same terms as Perl itself.
54
55=cut