minor changes
Rafael Kitover [Mon, 28 Sep 2009 09:31:38 +0000 (09:31 +0000)]
Changes
lib/DBIx/Class/ResultSet.pm
lib/DBIx/Class/Storage/DBI.pm
lib/DBIx/Class/Storage/DBI/Replicated.pm
lib/DBIx/Class/Storage/DBI/Sybase.pm

diff --git a/Changes b/Changes
index 1c8160a..393c64c 100644 (file)
--- a/Changes
+++ b/Changes
@@ -1,18 +1,18 @@
 Revision history for DBIx::Class
 
-        - Sybase bulk API support for populate()
 
         - Complete Sybase RDBMS support including:
           - Support for TEXT/IMAGE columns
           - Support for the 'money' datatype
-        - Transaction savepoints support
-        - DateTime inflation support
-        - Support for bind variables when connecting to a newer Sybase with
-           OpenClient libraries
-        - Support for connections via FreeTDS with CASTs for bind variables
-           when needed
-        - Support for interpolated variables with proper quoting when
-           connecting to an older Sybase and/or via FreeTDS
+          - Transaction savepoints support
+          - DateTime inflation support
+          - Support for bind variables when connecting to a newer Sybase with
+             OpenClient libraries
+          - Support for connections via FreeTDS with CASTs for bind variables
+             when needed
+          - Support for interpolated variables with proper quoting when
+             connecting to an older Sybase and/or via FreeTDS
+          - bulk API support for populate()
 
 0.08112 2009-09-21 10:57:00 (UTC)
         - Remove the recommends from Makefile.PL, DBIx::Class is not
index 60da1ca..d5dc47c 100644 (file)
@@ -2796,7 +2796,7 @@ sub _resolved_attrs {
       : (
           ( delete $attrs->{columns} )
             ||
-          $source->storage->_order_select_columns(
+          $source->storage->order_select_columns(
               $source,
               [ $source->columns ],
           )
index bf7bdf2..eac1dda 100644 (file)
@@ -1368,7 +1368,9 @@ sub insert_bulk {
     == @$cols;
 
   if ((not @bind) && (not $empty_bind)) {
-    croak 'Cannot insert_bulk without support for placeholders';
+    $self->throw_exception(
+      'Cannot insert_bulk without support for placeholders'
+    );
   }
 
   $self->_query_start( $sql, @bind );
@@ -1420,7 +1422,8 @@ sub _execute_array {
 
   my $rv = eval { $sth->execute_array({ArrayTupleStatus => $tuple_status}) };
 
-  $guard->commit if $guard; # probably only needed for Sybase
+# only needed for Sybase, it requires a commit before the $sth->finish
+  $guard->commit if $guard;
 
   $sth->finish;
 
@@ -2050,15 +2053,23 @@ sub _subq_count_select {
   return @pcols ? \@pcols : [ 1 ];
 }
 
-#
-# Returns an ordered list of column names before they are used
-# in a SELECT statement. By default simply returns the list
-# passed in.
-#
-# This may be overridden in a specific storage when there are
-# requirements such as moving BLOB columns to the end of the 
-# SELECT list.
-sub _order_select_columns {
+=head2 order_select_columns
+
+=over 4
+
+=item Arguments: $source, \@columns
+
+=back
+
+Returns an ordered list of column names to be used in a SELECT statement. By
+default simply returns the list that was passed in.
+
+This may be overridden in a specific storage when there are requirements such as
+moving BLOB columns to the end of the SELECT list.
+
+=cut
+
+sub order_select_columns {
   #my ($self, $source, $columns) = @_;
   return @{$_[2]};
 }
index 8de1865..759f3ac 100644 (file)
@@ -325,7 +325,7 @@ has 'write_handler' => (
     _count_select
     _subq_count_select
     _subq_update_delete
-    _order_select_columns
+    order_select_columns
     svp_rollback
     svp_begin
     svp_release
index dcba119..e8b9052 100644 (file)
@@ -681,7 +681,7 @@ sub _remove_blob_cols {
     }
   }
 
-  return keys %blob_cols ? \%blob_cols : undef;
+  return %blob_cols ? \%blob_cols : undef;
 }
 
 # same for insert_bulk
@@ -1088,6 +1088,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>.