diff options
author | Adam Kocoloski <adam@cloudant.com> | 2010-07-02 14:21:40 -0400 |
---|---|---|
committer | Adam Kocoloski <adam@cloudant.com> | 2010-07-02 14:22:57 -0400 |
commit | 6e6d8021855cb797e0312164d27b9e00b3c29411 (patch) | |
tree | b7688db6376b824fd6ce78e3c5e9f5e3c664073a /src | |
parent | 07cc904637aedf1ba0577a2aaa4574f593ef0007 (diff) |
convenience function to reset DB validation functions
Diffstat (limited to 'src')
-rw-r--r-- | src/fabric.erl | 6 | ||||
-rw-r--r-- | src/fabric_rpc.erl | 10 |
2 files changed, 14 insertions, 2 deletions
diff --git a/src/fabric.erl b/src/fabric.erl index b233677b..9545e729 100644 --- a/src/fabric.erl +++ b/src/fabric.erl @@ -13,7 +13,7 @@ get_view_group_info/2]). % miscellany --export([db_path/2, design_docs/1]). +-export([db_path/2, design_docs/1, reset_validation_funs/1]). -include("fabric.hrl"). @@ -120,6 +120,10 @@ design_docs(DbName) -> end, fabric:all_docs(dbname(DbName), QueryArgs, Callback, []). +reset_validation_funs(DbName) -> + [rexi:cast(Node, {fabric_rpc, reset_validation_funs, [Name]}) || + #shard{node=Node, name=Name} <- mem3:shards(DbName)]. + %% some simple type validation and transcoding dbname(DbName) when is_list(DbName) -> diff --git a/src/fabric_rpc.erl b/src/fabric_rpc.erl index 948bc54b..2baaf49a 100644 --- a/src/fabric_rpc.erl +++ b/src/fabric_rpc.erl @@ -3,7 +3,7 @@ -export([get_db_info/1, get_doc_count/1, get_update_seq/1]). -export([open_doc/3, open_revs/4, get_missing_revs/2, update_docs/3]). -export([all_docs/2, changes/3, map_view/4, reduce_view/4, group_info/2]). --export([create_db/3, delete_db/3]). +-export([create_db/3, delete_db/3, reset_validation_funs/1]). -include("fabric.hrl"). @@ -196,6 +196,14 @@ group_info(DbName, Group0) -> {ok, Pid} = gen_server:call(couch_view, {get_group_server, DbName, Group0}), rexi:reply(couch_view_group:request_group_info(Pid)). +reset_validation_funs(DbName) -> + case couch_db:open(DbName, []) of + {ok, Db} -> + gen_server:cast(Db#db.update_pid, {load_validation_funs, undefined}); + _ -> + ok + end. + %% %% internal %% |