From 7295a0451915ec7d5e790864c08f0aef08e2937e Mon Sep 17 00:00:00 2001 From: Sascha Matzke Date: Sat, 31 Jul 2010 10:48:49 +0200 Subject: [PATCH] added >multi word, removed unused singletons, fixed tuple example in docs --- extra/mongodb/driver/driver.factor | 6 +++++- extra/mongodb/mongodb-docs.factor | 2 +- extra/mongodb/msg/msg.factor | 2 +- extra/mongodb/operations/operations.factor | 2 +- extra/mongodb/tuple/tuple.factor | 2 -- 5 files changed, 8 insertions(+), 6 deletions(-) diff --git a/extra/mongodb/driver/driver.factor b/extra/mongodb/driver/driver.factor index 0bd22ee7fe..0fff78249c 100644 --- a/extra/mongodb/driver/driver.factor +++ b/extra/mongodb/driver/driver.factor @@ -5,6 +5,7 @@ mongodb.cmd mongodb.connection mongodb.msg namespaces parser prettyprint prettyprint.custom prettyprint.sections sequences sets splitting strings ; FROM: ascii => ascii? ; +FROM: math.bitwise => set-bit ; IN: mongodb.driver TUPLE: mdb-pool < pool mdb ; @@ -278,7 +279,10 @@ PRIVATE> [ check-collection ] 2dip ; : >upsert ( mdb-update-msg -- mdb-update-msg ) - 1 >>upsert? ; + [ 0 set-bit ] change-update-flags ; + +: >multi ( mdb-update-msg -- mdb-update-msg ) + [ 1 set-bit ] change-update-flags ; : update ( mdb-update-msg -- ) send-message-check-error ; diff --git a/extra/mongodb/mongodb-docs.factor b/extra/mongodb/mongodb-docs.factor index 6bddc2f496..6a74392596 100644 --- a/extra/mongodb/mongodb-docs.factor +++ b/extra/mongodb/mongodb-docs.factor @@ -20,7 +20,7 @@ ARTICLE: "mongodb" "MongoDB factor integration" "person \"persons\" { } { $[ \"ageIdx\" [ \"age\" asc ] key-spec ] } define-persistent " "\"db\" \"127.0.0.1\" 27017 " "person new \"Alfred\" >>name 57 >>age" - "'[ _ save-tuple person new 57 >>age select-tuple ] with-db" + "'[ person ensure-table _ save-tuple person new 57 >>age select-tuple ] with-db" "" } ; diff --git a/extra/mongodb/msg/msg.factor b/extra/mongodb/msg/msg.factor index ca9393a108..3d1ca28557 100644 --- a/extra/mongodb/msg/msg.factor +++ b/extra/mongodb/msg/msg.factor @@ -38,7 +38,7 @@ TUPLE: mdb-insert-msg < mdb-msg TUPLE: mdb-update-msg < mdb-msg { collection string } - { upsert? integer initial: 0 } + { update-flags integer initial: 0 } { selector assoc } { object assoc } ; diff --git a/extra/mongodb/operations/operations.factor b/extra/mongodb/operations/operations.factor index 7d16b4c40a..1b51e2d377 100644 --- a/extra/mongodb/operations/operations.factor +++ b/extra/mongodb/operations/operations.factor @@ -120,7 +120,7 @@ PRIVATE> { [ flags>> write-int32 ] [ collection>> write-cstring ] - [ upsert?>> write-int32 ] + [ update-flags>> write-int32 ] [ selector>> assoc>stream ] [ object>> assoc>stream ] } cleave diff --git a/extra/mongodb/tuple/tuple.factor b/extra/mongodb/tuple/tuple.factor index 2f235f74a0..c787405f04 100644 --- a/extra/mongodb/tuple/tuple.factor +++ b/extra/mongodb/tuple/tuple.factor @@ -7,8 +7,6 @@ FROM: mongodb.tuple.persistent => assoc>tuple ; IN: mongodb.tuple -SINGLETONS: +fieldindex+ +compoundindex+ +deepindex+ +unique+ ; - SYNTAX: MDBTUPLE: parse-tuple-definition mdb-check-slots