summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2020-03-24 15:48:14 +0200
committergarren smith <garren.smith@gmail.com>2020-04-06 17:55:49 +0200
commit0c12654ec79ba9ad4a8b1dd43cd89e8deb5797c3 (patch)
tree7ff693ef174c6ff2aab1e9800fec50de41850880
parentb856501628359fba0a08087b4ce75a0606cae7a9 (diff)
downloadcouchdb-0c12654ec79ba9ad4a8b1dd43cd89e8deb5797c3.tar.gz
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.
-rw-r--r--src/couch_views/src/couch_views_encoding.erl12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/couch_views/src/couch_views_encoding.erl b/src/couch_views/src/couch_views_encoding.erl
index ef5fed9a2..2f69db306 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;