removed with-datastack usage (using output>array)
made dirty-flag handling optionaldb4
parent
57b3801992
commit
8965b31325
|
@ -1,7 +1,7 @@
|
||||||
|
|
||||||
USING: accessors arrays assocs bson.constants classes classes.tuple
|
USING: accessors arrays assocs bson.constants classes classes.tuple
|
||||||
combinators continuations fry kernel mongodb.driver sequences strings
|
combinators continuations fry kernel mongodb.driver sequences strings
|
||||||
vectors words ;
|
vectors words combinators.smart ;
|
||||||
|
|
||||||
IN: mongodb.tuple
|
IN: mongodb.tuple
|
||||||
|
|
||||||
|
@ -50,7 +50,7 @@ CONSTANT: MDB_COLLECTION_MAP "_mdb_col_map"
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
: MDB_ADDON_SLOTS ( -- slots )
|
: MDB_ADDON_SLOTS ( -- slots )
|
||||||
{ } [ MDB_OID_FIELD MDB_META_FIELD ] with-datastack ; inline
|
[ MDB_OID_FIELD MDB_META_FIELD ] output>array ; inline
|
||||||
|
|
||||||
: link-class ( collection class -- )
|
: link-class ( collection class -- )
|
||||||
over classes>>
|
over classes>>
|
||||||
|
|
|
@ -7,8 +7,6 @@ SINGLETONS: +fieldindex+ +compoundindex+ +deepindex+ ;
|
||||||
|
|
||||||
IN: mongodb.tuple.index
|
IN: mongodb.tuple.index
|
||||||
|
|
||||||
FROM: mongodb.tuple => +fieldindex+ +compoundindex+ +deepindex+ ;
|
|
||||||
|
|
||||||
TUPLE: tuple-index name spec ;
|
TUPLE: tuple-index name spec ;
|
||||||
|
|
||||||
<PRIVATE
|
<PRIVATE
|
||||||
|
|
|
@ -52,12 +52,12 @@ TUPLE: cond-value value quot ;
|
||||||
CONSTRUCTOR: cond-value ( value quot -- cond-value ) ;
|
CONSTRUCTOR: cond-value ( value quot -- cond-value ) ;
|
||||||
|
|
||||||
: write-mdb-persistent ( value quot: ( tuple -- assoc ) -- value' )
|
: write-mdb-persistent ( value quot: ( tuple -- assoc ) -- value' )
|
||||||
over needs-store?
|
over needs-store? mdb-dirty-handling? get and
|
||||||
[ over [ (( tuple -- assoc )) call-effect ] dip
|
[ over [ (( tuple -- assoc )) call-effect ] dip
|
||||||
[ tuple-collection name>> ] keep
|
[ tuple-collection name>> ] keep
|
||||||
[ add-storable ] dip
|
[ add-storable ] dip
|
||||||
] [ drop ] if
|
] [ drop ] if
|
||||||
[ tuple-collection name>> ] [ _id>> ] bi <objref> ; inline
|
[ tuple-collection name>> ] [ _id>> ] bi <objref> ; inline
|
||||||
|
|
||||||
: write-field ( value quot: ( tuple -- assoc ) -- value' )
|
: write-field ( value quot: ( tuple -- assoc ) -- value' )
|
||||||
<cond-value> {
|
<cond-value> {
|
||||||
|
|
|
@ -12,6 +12,8 @@ CONSTANT: MDB_DIRTY_ADVICE "mdb-dirty-set"
|
||||||
|
|
||||||
PRIVATE>
|
PRIVATE>
|
||||||
|
|
||||||
|
SYMBOL: mdb-dirty-handling?
|
||||||
|
|
||||||
: advised-with? ( name word loc -- ? )
|
: advised-with? ( name word loc -- ? )
|
||||||
word-prop key? ; inline
|
word-prop key? ; inline
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue