removed some dead code, added fix and test for _execute_array_empty
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / Storage / DBI / Sybase.pm
index dcba119..ed9c6e0 100644 (file)
@@ -449,6 +449,8 @@ sub update {
 # 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
@@ -681,7 +683,7 @@ sub _remove_blob_cols {
     }
   }
 
-  return keys %blob_cols ? \%blob_cols : undef;
+  return %blob_cols ? \%blob_cols : undef;
 }
 
 # same for insert_bulk
@@ -852,7 +854,7 @@ C<SMALLDATETIME> columns only have minute precision.
 
   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
@@ -1088,6 +1090,33 @@ loading your app, if it doesn't match the character set of your database.
 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>.