X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FStorage%2FDBI.pm;h=b75ac8742dcc946efb4c3ca36fc53bc0db693631;hb=758b5941171ad244192af1d5553d76a780394c72;hp=4990e78c4a99cbb16c21ffecf1ec7f6d9869aae7;hpb=515a035cd00ec39fd95dbc940abed9d8ff6a773b;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Storage/DBI.pm b/lib/DBIx/Class/Storage/DBI.pm index 4990e78..b75ac87 100644 --- a/lib/DBIx/Class/Storage/DBI.pm +++ b/lib/DBIx/Class/Storage/DBI.pm @@ -1339,7 +1339,12 @@ sub insert_bulk { my %colvalues; my $table = $source->from; @colvalues{@$cols} = (0..$#$cols); - my ($sql, @bind) = $self->sql_maker->insert($table, \%colvalues); + + my ($sql, $bind) = $self->_prep_for_execute ( + 'insert', undef, $source, [\%colvalues] + ); + my @bind = @$bind + or croak 'Cannot insert_bulk without support for placeholders'; $self->_query_start( $sql, @bind ); my $sth = $self->sth($sql); @@ -1371,6 +1376,7 @@ sub insert_bulk { $placeholder_index++; } my $rv = eval { $sth->execute_array({ArrayTupleStatus => $tuple_status}) }; + $sth->finish; if (my $err = $@) { my $i = 0; ++$i while $i <= $#$tuple_status && !ref $tuple_status->[$i];