# it is originally put by _remove_blob_cols .)
my %blobs_to_empty = map { ($_ => delete $fields->{$_}) } keys %$blob_cols;
+# We can't only update NULL blobs, because blobs cannot be in the WHERE clause.
+
$self->next::method($source, \%blobs_to_empty, $where, @rest);
# Now update the blobs before the other columns in case the update of other
}
}
- return keys %blob_cols ? \%blob_cols : undef;
+ return %blob_cols ? \%blob_cols : undef;
}
# same for insert_bulk
sub connect_call_datetime_setup {
my $self = shift;
- my $dbh = $self->_dbh;
+ my $dbh = $self->_get_dbh;
if ($dbh->can('syb_date_fmt')) {
# amazingly, this works with FreeTDS
When inserting IMAGE columns using this method, you'll need to use
L</connect_call_blob_setup> as well.
+=head1 TODO
+
+=over
+
+=item *
+
+Transitions to AutoCommit=0 (starting a transaction) mode by exhausting
+any active cursors, using eager cursors.
+
+=item *
+
+Real limits and limited counts using stored procedures deployed on startup.
+
+=item *
+
+Adaptive Server Anywhere (ASA) support, with possible SQLA::Limit support.
+
+=item *
+
+Blob update with a LIKE query on a blob, without invalidating the WHERE condition.
+
+=item *
+
+bulk_insert using prepare_cached (see comments.)
+
+=back
+
=head1 AUTHOR
See L<DBIx::Class/CONTRIBUTORS>.