return add args if no return from the insert_one query in CRUD so RETURNING isn't... master
Matt S Trout [Sat, 9 Oct 2010 17:08:41 +0000 (18:08 +0100)]
lib/DBIx/Data/Store/CRUD.pm

index 143ed79..56f8394 100644 (file)
@@ -36,7 +36,12 @@ sub replace {
   $self->_run('row','update_one', [ @{$_[1]}, @{$_[0]} ]);
 }
 
-sub add { shift->_run('row','insert_one',@_) }
+# returning args ($_[0]) if we don't get anything back saves us needing
+# to emulate INSERT RETURNING in the case where no columns are supplied
+# by the database. I think this is a feature.
+
+sub add { shift->_run('row','insert_one',@_)||$_[0] }
+
 sub remove { shift->_run('row','delete_one',@_) }
 
 1;