Merge branch 'mongo-factor-driver' of git@github.com:x6j8x/factor into mongo-factor-driver

db4
Sascha Matzke 2009-05-11 10:08:22 +02:00
commit 90378f7429
2 changed files with 18 additions and 5 deletions

View File

@ -92,6 +92,8 @@ GENERIC: mdb-index-map ( tuple -- sequence )
[ ] [ name>> ] bi H{ } clone [ set-at ] keep
] [ 2drop H{ } clone ] if ;
PRIVATE>
: MDB_ADDON_SLOTS ( -- slots )
@ -116,7 +118,7 @@ PRIVATE>
[ drop MDB_USER_KEY set-word-prop ] [ 3drop ] if ; inline
: set-index-map ( class index-list -- )
[ [ dup user-defined-key-index ] dip index-list>map ] output>sequence
[ dup user-defined-key-index ] dip index-list>map 2array
assoc-combine MDB_INDEX_MAP set-word-prop ; inline
M: tuple-class tuple-collection ( tuple -- mdb-collection )

View File

@ -54,19 +54,30 @@ 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
save ;
: delete-tuple ( tuple -- )
[ tuple-collection name>> ] keep
id-selector delete ;
: delete-tuples ( seq -- )
[ delete-tuple ] each ;
: tuple>query ( tuple -- query )
[ tuple-collection name>> ] keep
tuple>selector <query> ;