summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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),