Merge 'normalize_connect_info' into 'trunk'
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / DB2.pm
index 83e2bc7..3bad8e0 100644 (file)
@@ -4,21 +4,29 @@ 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 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;
@@ -30,7 +38,7 @@ DBIx::Class::Storage::DBI::DB2 - Automatic primary key class for DB2
 =head1 SYNOPSIS
 
   # In your table classes
-  __PACKAGE__->load_components(qw/PK::Auto Core/);
+  use base 'DBIx::Class::Core';
   __PACKAGE__->set_primary_key('id');
 
 =head1 DESCRIPTION