summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@apache.org>2019-08-22 16:44:09 -0400
committerNick Vatamaniuc <nickva@users.noreply.github.com>2019-08-22 16:52:08 -0400
commitd4db3c869355657fe1e8671c2c4a8e3ec2aae4f6 (patch)
tree2947903431edb5abbb6b7598825232d8a36889c8
parent10a60115d86bc8a680eec320678ebe8c2db30325 (diff)
downloadcouchdb-d4db3c869355657fe1e8671c2c4a8e3ec2aae4f6.tar.gz
Implement update_seq for couch_views
-rw-r--r--src/couch_views/src/couch_views_reader.erl14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/couch_views/src/couch_views_reader.erl b/src/couch_views/src/couch_views_reader.erl
index c7989d89c..27671fb9c 100644
--- a/src/couch_views/src/couch_views_reader.erl
+++ b/src/couch_views/src/couch_views_reader.erl
@@ -35,9 +35,7 @@ read(Db, Mrst, ViewName, UserCallback, UserAcc0, Args) ->
try
fabric2_fdb:transactional(Db, fun(TxDb) ->
- TotalRows = couch_views_fdb:get_row_count(TxDb, Mrst, ViewId),
-
- Meta = {meta, [{total, TotalRows}, {offset, null}]},
+ Meta = get_meta(TxDb, Mrst, ViewId, Args),
UserAcc1 = maybe_stop(UserCallback(Meta, UserAcc0)),
Acc0 = #{
@@ -73,6 +71,16 @@ read(Db, Mrst, ViewName, UserCallback, UserAcc0, Args) ->
end.
+get_meta(TxDb, Mrst, ViewId, #mrargs{update_seq = true}) ->
+ TotalRows = couch_views_fdb:get_row_count(TxDb, Mrst, ViewId),
+ ViewSeq = couch_views_fdb:get_update_seq(TxDb, Mrst),
+ {meta, [{update_seq, ViewSeq}, {total, TotalRows}, {offset, null}]};
+
+get_meta(TxDb, Mrst, ViewId, #mrargs{}) ->
+ TotalRows = couch_views_fdb:get_row_count(TxDb, Mrst, ViewId),
+ {meta, [{total, TotalRows}, {offset, null}]}.
+
+
handle_row(_DocId, _Key, _Value, #{skip := Skip} = Acc) when Skip > 0 ->
Acc#{skip := Skip - 1};