diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2018-12-07 16:55:58 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-07 16:55:58 -0600 |
commit | b755e72594d3ec436e8fa6d7fec592942f3e3f5b (patch) | |
tree | 04ec0662acd7a333ecf3767667a10c92e219e782 | |
parent | 89368b2a6ebc1fad75235229dcd6d891722d6896 (diff) | |
parent | e1730b8b861f7375bb9657e5ec0888ef7700f7ca (diff) | |
download | couchdb-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.erl | 25 |
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"). |