]> gitweb.factorcode.org Git - factor.git/commitdiff
reworked insert, save and update; added save-deep
authorSascha Matzke <sascha.matzke@didolo.org>
Thu, 7 May 2009 08:32:32 +0000 (10:32 +0200)
committerSascha Matzke <sascha.matzke@didolo.org>
Sun, 10 May 2009 21:21:45 +0000 (23:21 +0200)
extra/mongodb/tuple/tuple.factor

index 917395797984c98cd4d3cdc6a58ea74ad4f78348..e5e4867d716af8d4fe1fb2d9723e7ec56fcd9daa 100644 (file)
@@ -54,14 +54,22 @@ M: mdb-persistent id-selector
            <update> >upsert update ] assoc-each ; inline
 PRIVATE>
  
-: save-tuple ( tuple -- )
-   tuple>storable [ (save-tuples) ] assoc-each ;
+: save-tuple-deep ( tuple -- )
+    tuple>storable [ (save-tuples) ] assoc-each ; 
  
 : update-tuple ( tuple -- )
-   save-tuple ;
+    [ tuple-collection name>> ]
+    [ id-selector ]
+    [ tuple>assoc ] tri
+    <mdb-update-msg> update ;
+
+: save-tuple ( tuple -- )
+    update-tuple ;
 
 : insert-tuple ( tuple -- )
-   save-tuple ;
+   [ tuple-collection name>> ]
+   [ tuple>assoc ] bi
+   <mdb-insert-msg> save ;
 
 : delete-tuple ( tuple -- )
    [ tuple-collection name>> ] keep