Skip to content

Commit

Permalink
[fix] stdlib, mongo: ref path remove was broken
Browse files Browse the repository at this point in the history
  • Loading branch information
BourgerieQuentin committed Mar 7, 2012
1 parent b411902 commit 8e28487
Showing 1 changed file with 8 additions and 5 deletions.
13 changes: 8 additions & 5 deletions stdlib/database/mongo/db.opa
Expand Up @@ -539,8 +539,10 @@ type DbMongoSet.t('a) = dbset('a, DbMongoSet.engine('a))


DbSet = {{ DbSet = {{


@package path_to_id(path) = List.to_string_using("", "", ".", path)

@package index(db:DbMongo.t, path:list(string), idx) = @package index(db:DbMongo.t, path:list(string), idx) =
id = List.to_string_using("", "", ".", path) id = DbSet.path_to_id(path)
key = List.map((name -> ~{name value={Int32=1}}), idx) key = List.map((name -> ~{name value={Int32=1}}), idx)
opt = 0 opt = 0
opt = Bitwise.lor(opt, MongoCommon.UniqueBit) opt = Bitwise.lor(opt, MongoCommon.UniqueBit)
Expand All @@ -559,7 +561,7 @@ DbSet = {{
#<Ifstatic:DBGEN_DEBUG> #<Ifstatic:DBGEN_DEBUG>
do Log.notice("DbGen/Mongo", "DbSet.build : Selector {selector}") do Log.notice("DbGen/Mongo", "DbSet.build : Selector {selector}")
#<End> #<End>
id = List.to_string_using("", "", ".", path) id = DbSet.path_to_id(path)
reply=MongoDriver.query(db.db, 0, "{db.name}.{id}", skip, limit, selector, none) reply=MongoDriver.query(db.db, 0, "{db.name}.{id}", skip, limit, selector, none)
match reply with match reply with
| {none} -> | {none} ->
Expand All @@ -568,7 +570,7 @@ DbSet = {{
| {some=reply} -> ~{reply default} | {some=reply} -> ~{reply default}


@package update(db:DbMongo.t, path:list(string), selector, update) = @package update(db:DbMongo.t, path:list(string), selector, update) =
id = List.to_string_using("", "", ".", path) id = DbSet.path_to_id(path)
tag = Bitwise.lor(0, MongoCommon.UpsertBit) tag = Bitwise.lor(0, MongoCommon.UpsertBit)
tag = Bitwise.lor(tag, MongoCommon.MultiUpdateBit) tag = Bitwise.lor(tag, MongoCommon.MultiUpdateBit)
#<Ifstatic:DBGEN_DEBUG> #<Ifstatic:DBGEN_DEBUG>
Expand Down Expand Up @@ -705,22 +707,23 @@ DbSet = {{
@package build_vpath(db:DbMongo.t, path:list(string), selector, default:'b, skip, limit, @package build_vpath(db:DbMongo.t, path:list(string), selector, default:'b, skip, limit,
read_map:DbMongoSet.engine('a) -> option('b)):DbMongo.private.val_path('b) = read_map:DbMongoSet.engine('a) -> option('b)):DbMongo.private.val_path('b) =
{ {
id = DbMongo.path_to_id(path) id = DbSet.path_to_id(path)
read() = read_map(build(db, path, selector, @unsafe_cast(default), skip, limit)):option('b) read() = read_map(build(db, path, selector, @unsafe_cast(default), skip, limit)):option('b)
default = default default = default
more = void more = void
} }
// [selector | // [selector |
@package build_rpath(db:DbMongo.t, path:list(string), selector, default:'b, skip, limit, @package build_rpath(db:DbMongo.t, path:list(string), selector, default:'b, skip, limit,
read_map:DbMongoSet.engine('a) -> option('b), write_map:'b -> Bson.document):DbMongo.private.ref_path('b) = read_map:DbMongoSet.engine('a) -> option('b), write_map:'b -> Bson.document):DbMongo.private.ref_path('b) =
id = DbSet.path_to_id(path)
vpath = build_vpath(db, path, selector, default, skip, limit, read_map) vpath = build_vpath(db, path, selector, default, skip, limit, read_map)
write(data) = write(data) =
do update(db, path, selector, do update(db, path, selector,
[{name="$set"; value={Document = write_map(data)}}] [{name="$set"; value={Document = write_map(data)}}]
) )
true true
remove() = remove() =
if not(MongoDriver.delete(db.db, 0, "{db.name}.{vpath.id}", selector)) then if not(MongoDriver.delete(db.db, 0, "{db.name}.{id}", selector)) then
Log.error("DbGen/Mongo", "(failure) An error occurs when removing inside set '{path}'") Log.error("DbGen/Mongo", "(failure) An error occurs when removing inside set '{path}'")
#<Ifstatic:DBGEN_DEBUG> #<Ifstatic:DBGEN_DEBUG>
else Log.notice("DbGen/Mongo", "(success) removing inside set '{path}' removed ") else Log.notice("DbGen/Mongo", "(success) removing inside set '{path}' removed ")
Expand Down

0 comments on commit 8e28487

Please sign in to comment.