Use DBI->last_insert_id for ODBC base class.
Marc Mims [Mon, 6 Oct 2008 16:43:06 +0000 (16:43 +0000)]
This closes RT #21260: Problem with last_insert_rowid:
http://rt.cpan.org/Public/Bug/Display.html?id=21260

lib/DBIx/Class/Storage/DBI/ODBC.pm

index 16e198e..e8b9c12 100644 (file)
@@ -17,6 +17,14 @@ sub _rebless {
     }
 }
 
+sub _dbh_last_insert_id {
+    my ($self, $dbh, $source, $col) = @_;
+
+    # punt: if there is no derived class for the specific backend, attempt
+    # to use the DBI->last_insert_id, which may not be sufficient (see the
+    # discussion of last_insert_id in perldoc DBI)
+    return $dbh->last_insert_id(undef, undef, $source->from, $col);
+}
 
 1;