cleanup last insert id handling
[dbsrgits/DBIx-Data-Store-old.git] / lib / DBIx / Data / Collection / Set.pm
index 1c812fc..f934ec6 100644 (file)
@@ -25,17 +25,18 @@ method _build__member_cache {
       if (my ($obj) = $self->_key_cache_get_raw($raw)) {
         $self->_merge($obj, $raw)
       } else {
-        $self->_inflate($raw)
+        $self->_add_to_key_cache($self->_inflate($raw))
       }
     };
     push @cache, $obj;
   }
-  \@cache;
+  \@cache
 }
 
 method _add_to_member_cache ($to_add) {
   return unless $self->_member_cache_built;
   push @{$self->_member_cache}, $to_add;
+  $to_add
 }
 
 ## key cache - by primary/unique key
@@ -44,7 +45,7 @@ has _key_cache => (is => 'ro', default => sub { {} });
 
 method _add_to_key_cache ($to_add) {
   $self->_key_cache->{$self->_object_to_id($to_add)} = $to_add;
-  return
+  $to_add
 }
 
 method _key_cache_has_raw ($raw) {
@@ -121,13 +122,13 @@ method add ($new) {
 method _add_to_store ($new) {
   my $new_raw = $self->_deflate($new);
   $self->_merge($new, $self->_store->new_insert_command($new_raw)->execute);
-  $self->_add_to_caches($new);
-  return
+  $new;
 }
 
 method _add_to_caches ($new) {
   $self->_add_to_member_cache($new);
   $self->_add_to_key_cache($new);
+  $new
 }
 
 1;