You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2020/04/02 12:39:36 UTC
[couchdb] 08/18: Add couch_views_encoding max value
This is an automated email from the ASF dual-hosted git repository.
garren pushed a commit to branch fdb-mango-indexes
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit fd323c171e14771af2dfa889df3d99a60c01861d
Author: Garren Smith <ga...@gmail.com>
AuthorDate: Tue Mar 24 15:48:14 2020 +0200
Add couch_views_encoding max value
Adds a max value to use for encoding. This is useful when getting the
max range when encoding startkey/endkeys.
---
src/couch_views/src/couch_views_encoding.erl | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/src/couch_views/src/couch_views_encoding.erl b/src/couch_views/src/couch_views_encoding.erl
index ef5fed9..2f69db3 100644
--- a/src/couch_views/src/couch_views_encoding.erl
+++ b/src/couch_views/src/couch_views_encoding.erl
@@ -14,6 +14,7 @@
-export([
+ max/0,
encode/1,
encode/2,
decode/1
@@ -27,6 +28,11 @@
-define(STRING, 4).
-define(LIST, 5).
-define(OBJECT, 6).
+-define(MAX, 255).
+
+
+max() ->
+ max_encoding_value.
encode(X) ->
@@ -51,6 +57,9 @@ encode_int(false, _Type) ->
encode_int(true, _Type) ->
{?TRUE};
+encode_int(max_encoding_value, _Type) ->
+ {?MAX};
+
encode_int(Num, key) when is_number(Num) ->
{?NUMBER, float(Num)};
@@ -87,6 +96,9 @@ decode_int({?FALSE}) ->
decode_int({?TRUE}) ->
true;
+decode_int({?MAX}) ->
+ max_encoding_value;
+
decode_int({?STRING, Bin}) ->
Bin;