You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ja...@apache.org on 2020/07/26 18:10:16 UTC
[couchdb] 14/17: feat(ddoc_cache): make access aware
This is an automated email from the ASF dual-hosted git repository.
jan pushed a commit to branch feat/access-master-clean
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 3434cea45ad968ee1d75ff954d292e4875c30e3c
Author: Jan Lehnardt <ja...@apache.org>
AuthorDate: Sun Jul 26 20:07:13 2020 +0200
feat(ddoc_cache): make access aware
---
src/ddoc_cache/src/ddoc_cache_entry_ddocid.erl | 2 +-
src/ddoc_cache/src/ddoc_cache_entry_ddocid_rev.erl | 2 +-
src/ddoc_cache/src/ddoc_cache_entry_validation_funs.erl | 3 ++-
3 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/src/ddoc_cache/src/ddoc_cache_entry_ddocid.erl b/src/ddoc_cache/src/ddoc_cache_entry_ddocid.erl
index 5248469..03a4b14 100644
--- a/src/ddoc_cache/src/ddoc_cache_entry_ddocid.erl
+++ b/src/ddoc_cache/src/ddoc_cache_entry_ddocid.erl
@@ -33,7 +33,7 @@ ddocid({_, DDocId}) ->
recover({DbName, DDocId}) ->
- fabric:open_doc(DbName, DDocId, [ejson_body, ?ADMIN_CTX]).
+ fabric:open_doc(DbName, DDocId, [ejson_body, ?ADMIN_CTX, ddoc_cache]).
insert({DbName, DDocId}, {ok, #doc{revs = Revs} = DDoc}) ->
diff --git a/src/ddoc_cache/src/ddoc_cache_entry_ddocid_rev.erl b/src/ddoc_cache/src/ddoc_cache_entry_ddocid_rev.erl
index 868fa77..fa7187f 100644
--- a/src/ddoc_cache/src/ddoc_cache_entry_ddocid_rev.erl
+++ b/src/ddoc_cache/src/ddoc_cache_entry_ddocid_rev.erl
@@ -33,7 +33,7 @@ ddocid({_, DDocId, _}) ->
recover({DbName, DDocId, Rev}) ->
- Opts = [ejson_body, ?ADMIN_CTX],
+ Opts = [ejson_body, ?ADMIN_CTX, ddoc_cache],
{ok, [Resp]} = fabric:open_revs(DbName, DDocId, [Rev], Opts),
Resp.
diff --git a/src/ddoc_cache/src/ddoc_cache_entry_validation_funs.erl b/src/ddoc_cache/src/ddoc_cache_entry_validation_funs.erl
index 2182dea..dc22b01 100644
--- a/src/ddoc_cache/src/ddoc_cache_entry_validation_funs.erl
+++ b/src/ddoc_cache/src/ddoc_cache_entry_validation_funs.erl
@@ -30,7 +30,8 @@ ddocid(_) ->
recover(DbName) ->
- {ok, DDocs} = fabric:design_docs(mem3:dbname(DbName)),
+ {ok, DDocs0} = fabric:design_docs(mem3:dbname(DbName)),
+ DDocs = lists:filter(fun couch_doc:has_no_access/1, DDocs0),
Funs = lists:flatmap(fun(DDoc) ->
case couch_doc:get_validate_doc_fun(DDoc) of
nil -> [];