X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI%2FDB2.pm;h=b36ab13c560600c7bdecfd0cc99e0293989d6aec;hb=88f937fbbfd6f5f28b2f1fa52ee3654e81603edd;hp=60a515b1991d201e296f5039c0a464b8775fdc98;hpb=fc22fbac7c99f1ee8a52e529a6ce4ee35fd5d4a9;p=dbsrgits%2FDBIx-Class.git diff --git a/lib/DBIx/Class/Storage/DBI/DB2.pm b/lib/DBIx/Class/Storage/DBI/DB2.pm index 60a515b..b36ab13 100644 --- a/lib/DBIx/Class/Storage/DBI/DB2.pm +++ b/lib/DBIx/Class/Storage/DBI/DB2.pm @@ -4,28 +4,34 @@ use strict; use warnings; use base qw/DBIx::Class::Storage::DBI/; +use mro 'c3'; -# __PACKAGE__->load_components(qw/PK::Auto/); +sub _dbh_last_insert_id { + my ($self, $dbh, $source, $col) = @_; -sub _column_info_broken { 1 } - -sub last_insert_id -{ - my ($self) = @_; - - my $dbh = $self->_dbh; - my $sth = $dbh->prepare_cached("VALUES(IDENTITY_VAL_LOCAL())", {}, 3); + my $sth = $dbh->prepare_cached('VALUES(IDENTITY_VAL_LOCAL())', {}, 3); $sth->execute(); my @res = $sth->fetchrow_array(); return @res ? $res[0] : undef; - +} + +sub datetime_parser_type { "DateTime::Format::DB2"; } + +sub _sql_maker_opts { + my ( $self, $opts ) = @_; + + if ( $opts ) { + $self->{_sql_maker_opts} = { %$opts }; + } + + return { limit_dialect => 'RowNumberOver', %{$self->{_sql_maker_opts}||{}} }; } 1; -=head1 NAME +=head1 NAME DBIx::Class::Storage::DBI::DB2 - Automatic primary key class for DB2