Introduce GOVERNANCE document and empty RESOLUTIONS file.
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Oracle / Generic.pm
index 838c8da..336070a 100644 (file)
@@ -117,8 +117,9 @@ sub deployment_statements {
 sub _dbh_last_insert_id {
   my ($self, $dbh, $source, @columns) = @_;
   my @ids = ();
+  my $ci = $source->columns_info(\@columns);
   foreach my $col (@columns) {
-    my $seq = ($source->column_info($col)->{sequence} ||= $self->get_autoinc_seq($source,$col));
+    my $seq = ( $ci->{$col}{sequence} ||= $self->get_autoinc_seq($source,$col));
     my $id = $self->_sequence_fetch( 'CURRVAL', $seq );
     push @ids, $id;
   }
@@ -297,11 +298,12 @@ sub _dbh_execute {
   return shift->$next(@_)
     if $self->transaction_depth;
 
-  # cheat the blockrunner we are just about to create
-  # we do want to rerun things regardless of outer state
-  local $self->{_in_do_block};
+  # Cheat the blockrunner we are just about to create:
+  # We *do* want to rerun things regardless of outer state
+  local $self->{_in_do_block}
+    if $self->{_in_do_block};
 
-  return DBIx::Class::Storage::BlockRunner->new(
+  DBIx::Class::Storage::BlockRunner->new(
     storage => $self,
     wrap_txn => 0,
     retry_handler => sub {