summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2018-12-07 16:55:58 -0600
committerGitHub <noreply@github.com>2018-12-07 16:55:58 -0600
commitb755e72594d3ec436e8fa6d7fec592942f3e3f5b (patch)
tree04ec0662acd7a333ecf3767667a10c92e219e782
parent89368b2a6ebc1fad75235229dcd6d891722d6896 (diff)
parente1730b8b861f7375bb9657e5ec0888ef7700f7ca (diff)
downloadcouchdb-b755e72594d3ec436e8fa6d7fec592942f3e3f5b.tar.gz
Merge pull request #37 from cloudant-labs/fix-get-minimum-purge-seq
Avoid calls to `fabric:design_docs/1`
-rw-r--r--src/dreyfus_util.erl25
1 files changed, 3 insertions, 22 deletions
diff --git a/src/dreyfus_util.erl b/src/dreyfus_util.erl
index a06717ae4..3b3f4f955 100644
--- a/src/dreyfus_util.erl
+++ b/src/dreyfus_util.erl
@@ -304,13 +304,12 @@ verify_index_exists(DbName, Props) ->
IndexName = couch_util:get_value(<<"indexname">>, Props),
Sig = couch_util:get_value(<<"signature">>, Props),
couch_util:with_db(DbName, fun(Db) ->
- {ok, DesignDocs} = couch_db:get_design_docs(Db),
- case get_ddoc(DbName, DesignDocs, DDocId) of
- #doc{} = DDoc ->
+ case couch_db:get_design_doc(Db, DDocId) of
+ {ok, #doc{} = DDoc} ->
{ok, IdxState} = dreyfus_index:design_doc_to_index(
DDoc, IndexName),
IdxState#index.sig == Sig;
- not_found ->
+ {not_found, _} ->
false
end
end)
@@ -319,24 +318,6 @@ verify_index_exists(DbName, Props) ->
false
end.
-get_ddoc(<<"shards/", _/binary>> = _DbName, DesignDocs, DDocId) ->
- DDocs = [couch_doc:from_json_obj(DD) || DD <- DesignDocs],
- case lists:keyfind(DDocId, #doc.id, DDocs) of
- #doc{} = DDoc -> DDoc;
- false -> not_found
- end;
-get_ddoc(DbName, DesignDocs, DDocId) ->
- couch_util:with_db(DbName, fun(Db) ->
- case lists:keyfind(DDocId, #full_doc_info.id, DesignDocs) of
- #full_doc_info{} = DDocInfo ->
- {ok, DDoc} = couch_db:open_doc_int(
- Db, DDocInfo, [ejson_body]),
- DDoc;
- false ->
- not_found
- end
- end).
-
-ifdef(TEST).
-include_lib("eunit/include/eunit.hrl").