diff options
author | Eric Avdey <eiri@eiri.ca> | 2018-11-16 14:53:48 -0400 |
---|---|---|
committer | Eric Avdey <eiri@eiri.ca> | 2018-11-21 17:18:15 -0400 |
commit | a2fd9eb8a0f7fba39248ab84764f5d735bcb83aa (patch) | |
tree | 82a5f63254700aca2eaa4efde614f4940c478761 | |
parent | 854f3d9fcbd8db91ab208e27038c252d91841fcf (diff) | |
download | couchdb-a2fd9eb8a0f7fba39248ab84764f5d735bcb83aa.tar.gz |
Fix total_rows for _design_docs handler
-rw-r--r-- | src/couch/src/couch_db.erl | 5 | ||||
-rw-r--r-- | src/couch_mrview/src/couch_mrview.erl | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/src/couch/src/couch_db.erl b/src/couch/src/couch_db.erl index 9d6a5dc45..60a395fd7 100644 --- a/src/couch/src/couch_db.erl +++ b/src/couch/src/couch_db.erl @@ -78,6 +78,7 @@ get_full_doc_infos/2, get_missing_revs/2, get_design_docs/1, + get_design_doc_count/1, get_purge_infos/2, get_minimum_purge_seq/1, @@ -618,6 +619,10 @@ get_design_docs(#db{} = Db) -> {ok, Docs} = fold_design_docs(Db, FoldFun, [], []), {ok, lists:reverse(Docs)}. +get_design_doc_count(#db{} = Db) -> + FoldFun = fun(_, Acc) -> {ok, Acc + 1} end, + fold_design_docs(Db, FoldFun, 0, []). + check_is_admin(#db{user_ctx=UserCtx}=Db) -> case is_admin(Db) of true -> ok; diff --git a/src/couch_mrview/src/couch_mrview.erl b/src/couch_mrview/src/couch_mrview.erl index 533dd2de9..f6462e156 100644 --- a/src/couch_mrview/src/couch_mrview.erl +++ b/src/couch_mrview/src/couch_mrview.erl @@ -712,6 +712,9 @@ get_total_rows(Db, #mrargs{extra = Extra}) -> case couch_util:get_value(namespace, Extra) of <<"_local">> -> null; + <<"_design">> -> + {ok, N} = couch_db:get_design_doc_count(Db), + N; _ -> {ok, Info} = couch_db:get_db_info(Db), couch_util:get_value(doc_count, Info) |