diff options
author | Nick Vatamaniuc <vatamane@apache.org> | 2019-09-09 10:37:39 -0400 |
---|---|---|
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | 2019-09-09 11:27:12 -0400 |
commit | 1c1d32690690dea966523de203f4f7be0b2177f4 (patch) | |
tree | 92db9bdcab3efa7ebb1e391452ef5f6693524b81 | |
parent | 198306c1ae09fd677cc382325bc700e5a57b33f5 (diff) | |
download | couchdb-1c1d32690690dea966523de203f4f7be0b2177f4.tar.gz |
Handle _changes since=now param
On master this is happening in `fabric_view_changes` but on FDB we don't go
through that module anymore, so we do in `chttpd_changes` module instead.
-rw-r--r-- | src/chttpd/src/chttpd_changes.erl | 8 | ||||
-rw-r--r-- | src/chttpd/src/chttpd_db.erl | 3 |
2 files changed, 6 insertions, 5 deletions
diff --git a/src/chttpd/src/chttpd_changes.erl b/src/chttpd/src/chttpd_changes.erl index c9107d16b..ba81de35e 100644 --- a/src/chttpd/src/chttpd_changes.erl +++ b/src/chttpd/src/chttpd_changes.erl @@ -106,11 +106,9 @@ handle_changes(Args1, Req, Db, Type) -> {SNFun, undefined} end, Start = fun() -> - StartSeq = case Dir of - rev -> - fabric2_fdb:get_update_seq(Db); - fwd -> - Since + StartSeq = case Dir =:= rev orelse Since =:= now of + true -> fabric2_db:get_update_seq(Db); + false -> Since end, View2 = if UseViewChanges -> {ok, {_, View1, _}, _, _} = couch_mrview_util:get_view( diff --git a/src/chttpd/src/chttpd_db.erl b/src/chttpd/src/chttpd_db.erl index 04da99c19..16774a27f 100644 --- a/src/chttpd/src/chttpd_db.erl +++ b/src/chttpd/src/chttpd_db.erl @@ -1945,6 +1945,9 @@ parse_changes_query(Req) -> end. +parse_since_seq(<<"now">>) -> + now; + parse_since_seq(Seq) when is_binary(Seq), size(Seq) > 30 -> throw({bad_request, url_encoded_since_seq}); |