summaryrefslogtreecommitdiff
path: root/src/mango/src/mango_json_bookmark.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/mango/src/mango_json_bookmark.erl')
-rw-r--r--src/mango/src/mango_json_bookmark.erl71
1 files changed, 0 insertions, 71 deletions
diff --git a/src/mango/src/mango_json_bookmark.erl b/src/mango/src/mango_json_bookmark.erl
deleted file mode 100644
index 83fd00f29..000000000
--- a/src/mango/src/mango_json_bookmark.erl
+++ /dev/null
@@ -1,71 +0,0 @@
-% Licensed under the Apache License, Version 2.0 (the "License"); you may not
-% use this file except in compliance with the License. You may obtain a copy of
-% the License at
-%
-% http://www.apache.org/licenses/LICENSE-2.0
-%
-% Unless required by applicable law or agreed to in writing, software
-% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-% License for the specific language governing permissions and limitations under
-% the License.
-
-
--module(mango_json_bookmark).
-
--export([
- update_args/2,
- create/1
-]).
-
-
--include_lib("couch_mrview/include/couch_mrview.hrl").
--include("mango_cursor.hrl").
--include("mango.hrl").
-
-update_args(EncodedBookmark, #mrargs{skip = Skip} = Args) ->
- Bookmark = unpack(EncodedBookmark),
- case is_list(Bookmark) of
- true ->
- {startkey, Startkey} = lists:keyfind(startkey, 1, Bookmark),
- {startkey_docid, StartkeyDocId} = lists:keyfind(startkey_docid, 1, Bookmark),
- Args#mrargs{
- start_key = Startkey,
- start_key_docid = StartkeyDocId,
- skip = 1 + Skip
- };
- false ->
- Args
- end.
-
-
-create(#cursor{bookmark_docid = BookmarkDocId, bookmark_key = BookmarkKey}) when BookmarkKey =/= undefined ->
- QueryArgs = [
- {startkey_docid, BookmarkDocId},
- {startkey, BookmarkKey}
- ],
- Bin = term_to_binary(QueryArgs, [compressed, {minor_version,1}]),
- couch_util:encodeBase64Url(Bin);
-create(#cursor{bookmark = Bookmark}) ->
- Bookmark.
-
-
-unpack(nil) ->
- nil;
-unpack(Packed) ->
- try
- Bookmark = binary_to_term(couch_util:decodeBase64Url(Packed), [safe]),
- verify(Bookmark)
- catch _:_ ->
- ?MANGO_ERROR({invalid_bookmark, Packed})
- end.
-
-verify(Bookmark) when is_list(Bookmark) ->
- case lists:keymember(startkey, 1, Bookmark) andalso lists:keymember(startkey_docid, 1, Bookmark) of
- true -> Bookmark;
- _ -> throw(invalid_bookmark)
- end;
-verify(_Bookmark) ->
- throw(invalid_bookmark).
-
- \ No newline at end of file