You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ko...@apache.org on 2017/03/01 16:38:37 UTC

[39/50] fabric commit: updated refs/heads/2971-count-distinct to 5d18415

Include conflicts parameter in doc_options

When a keys array is passed to _all_docs, fabric translates this
to individual open_doc calls. The conflicts=true query parameter is
specified as a view-level option and is not, by default, parsed as
an option that should be passed to open_doc.

As a workaround, explicitly copy the view-level conflict parameter into
the document options before open_doc is called.

An alternative approach would be to address this when the query
parameters are parsed, setting conflicts=true in both #mrargs and
detail of fabric, I elected to make the change here instead.

Fixes #COUCHDB-3264


Project: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/commit/8dcc3fb1
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/tree/8dcc3fb1
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-fabric/diff/8dcc3fb1

Branch: refs/heads/2971-count-distinct
Commit: 8dcc3fb175807ac18a3d7c1fc95364910ee8969e
Parents: 863b8d9
Author: Will Holley <wi...@gmail.com>
Authored: Tue Jan 3 09:54:30 2017 +0000
Committer: Will Holley <wi...@gmail.com>
Committed: Tue Jan 3 10:37:15 2017 +0000

----------------------------------------------------------------------
 src/fabric_view_all_docs.erl | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-fabric/blob/8dcc3fb1/src/fabric_view_all_docs.erl
----------------------------------------------------------------------
diff --git a/src/fabric_view_all_docs.erl b/src/fabric_view_all_docs.erl
index 90ff128..2ba6f0d 100644
--- a/src/fabric_view_all_docs.erl
+++ b/src/fabric_view_all_docs.erl
@@ -54,14 +54,19 @@ go(DbName, Options, QueryArgs, Callback, Acc0) ->
     #mrargs{
         direction = Dir,
         include_docs = IncludeDocs,
-        doc_options = Doc_Options,
+        doc_options = DocOptions0,
         limit = Limit,
+        conflicts = Conflicts,
         skip = Skip,
         keys = Keys0
     } = QueryArgs,
     {_, Ref0} = spawn_monitor(fun() -> exit(fabric:get_doc_count(DbName)) end),
+    DocOptions1 = case Conflicts of
+        true -> [conflicts|DocOptions0];
+        _ -> DocOptions0
+    end,
     SpawnFun = fun(Key) ->
-        spawn_monitor(?MODULE, open_doc, [DbName, Options ++ Doc_Options, Key, IncludeDocs])
+        spawn_monitor(?MODULE, open_doc, [DbName, Options ++ DocOptions1, Key, IncludeDocs])
     end,
     MaxJobs = all_docs_concurrency(),
     Keys1 = case Dir of