diff options
author | Nick Vatamaniuc <vatamane@apache.org> | 2019-08-22 16:44:09 -0400 |
---|---|---|
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | 2019-08-22 16:52:08 -0400 |
commit | d4db3c869355657fe1e8671c2c4a8e3ec2aae4f6 (patch) | |
tree | 2947903431edb5abbb6b7598825232d8a36889c8 | |
parent | 10a60115d86bc8a680eec320678ebe8c2db30325 (diff) | |
download | couchdb-d4db3c869355657fe1e8671c2c4a8e3ec2aae4f6.tar.gz |
Implement update_seq for couch_views
-rw-r--r-- | src/couch_views/src/couch_views_reader.erl | 14 |
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}; |