summaryrefslogtreecommitdiff
path: root/apps/fabric/src/fabric_db_delete.erl
diff options
context:
space:
mode:
Diffstat (limited to 'apps/fabric/src/fabric_db_delete.erl')
-rw-r--r--apps/fabric/src/fabric_db_delete.erl55
1 files changed, 0 insertions, 55 deletions
diff --git a/apps/fabric/src/fabric_db_delete.erl b/apps/fabric/src/fabric_db_delete.erl
deleted file mode 100644
index c3000e57..00000000
--- a/apps/fabric/src/fabric_db_delete.erl
+++ /dev/null
@@ -1,55 +0,0 @@
-% Copyright 2010 Cloudant
-%
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
--module(fabric_db_delete).
--export([go/2]).
-
--include("fabric.hrl").
--include_lib("mem3/include/mem3.hrl").
-
-go(DbName, Options) ->
- Shards = mem3:shards(DbName),
- Workers = fabric_util:submit_jobs(Shards, delete_db, [Options, DbName]),
- Acc0 = fabric_dict:init(Workers, nil),
- case fabric_util:recv(Workers, #shard.ref, fun handle_message/3, Acc0) of
- {ok, ok} ->
- ok;
- {ok, not_found} ->
- erlang:error(database_does_not_exist);
- Error ->
- Error
- end.
-
-handle_message(Msg, Shard, Counters) ->
- C1 = fabric_dict:store(Shard, Msg, Counters),
- case fabric_dict:any(nil, C1) of
- true ->
- {ok, C1};
- false ->
- final_answer(C1)
- end.
-
-final_answer(Counters) ->
- Successes = [X || {_, M} = X <- Counters, M == ok orelse M == not_found],
- case fabric_view:is_progress_possible(Successes) of
- true ->
- case lists:keymember(ok, 2, Successes) of
- true ->
- {stop, ok};
- false ->
- {stop, not_found}
- end;
- false ->
- {error, internal_server_error}
- end.