summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2020-09-29 09:56:19 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2020-09-29 15:41:01 -0500
commitecb067ba1a2b32a1d6a5a210d496664adedd55ce (patch)
treedc855b61aeffac3f09c188dfe938d0e252ab333d
parent279b9d95a92fad86f30aa13e0c6b3c5f2757d065 (diff)
downloadcouchdb-fdb-btree-reduce-davisp.tar.gz
-rw-r--r--src/couch_views/src/couch_views_reduce_fdb.erl7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/couch_views/src/couch_views_reduce_fdb.erl b/src/couch_views/src/couch_views_reduce_fdb.erl
index a5cb90568..8ea206174 100644
--- a/src/couch_views/src/couch_views_reduce_fdb.erl
+++ b/src/couch_views/src/couch_views_reduce_fdb.erl
@@ -193,11 +193,18 @@ open_tree(TxDb, Sig, ViewId, ViewReduceFun) ->
TreeOpts = [
{reduce_fun, get_reducer(ViewReduceFun)},
+ {collate_fun, fun less_json_rows/2},
{encode_fun, EncodeFun}
],
ebtree:open(Tx, ReduceIdxPrefix, btree_order_size(), TreeOpts).
+less_json_rows({_, _} = A, {_, _} = B) ->
+ couch_ejson_compare:less_json_ids(A, B);
+less_json_rows(A, B) ->
+ couch_ejson_compare:less_json(A, B).
+
+
delete_keys(Tx, Tree, DocId, Keys) ->
lists:foreach(fun (Key) ->
EK = create_key(Key, DocId),