summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2018-06-18 19:34:56 +0200
committerGarren Smith <garren.smith@gmail.com>2018-06-18 19:34:56 +0200
commitf5b3156766dfc5cad3a8cba3547d8ac5b0238f1e (patch)
tree71541877eeb3e9b6f295ad7c0fc63b795144a816
parentde8c6e1d65665bd68c78ef31f80e82c1f046a9b9 (diff)
downloadcouchdb-add-sort-from-selector.tar.gz
-rw-r--r--src/mango/src/mango_idx.erl4
-rw-r--r--src/mango/src/mango_idx_special.erl15
2 files changed, 6 insertions, 13 deletions
diff --git a/src/mango/src/mango_idx.erl b/src/mango/src/mango_idx.erl
index 211edacf4..8af92b946 100644
--- a/src/mango/src/mango_idx.erl
+++ b/src/mango/src/mango_idx.erl
@@ -70,8 +70,8 @@ get_usable_indexes(Db, Selector, Opts) ->
case lists:filter(UsableFilter, UsableIndexes0) of
[] ->
?MANGO_ERROR({no_usable_index, missing_sort_index});
- UsableIndexes1 ->
- UsableIndexes1
+ UsableIndexes ->
+ UsableIndexes
end.
diff --git a/src/mango/src/mango_idx_special.erl b/src/mango/src/mango_idx_special.erl
index aa1ec2f41..ac6efc707 100644
--- a/src/mango/src/mango_idx_special.erl
+++ b/src/mango/src/mango_idx_special.erl
@@ -22,9 +22,7 @@
columns/1,
is_usable/3,
start_key/1,
- end_key/1,
-
- maybe_filter_by_sort_fields/3
+ end_key/1
]).
@@ -69,7 +67,7 @@ is_usable(#idx{def=all_docs}, _Selector, []) ->
true;
is_usable(#idx{def=all_docs} = Idx, Selector, SortFields) ->
Fields = mango_idx_view:indexable_fields(Selector),
- lists:member(<<"_id">>, Fields) and maybe_filter_by_sort_fields(Idx, SortFields, Selector).
+ lists:member(<<"_id">>, Fields) and can_use_sort(Idx, SortFields, Selector).
start_key([{'$gt', Key, _, _}]) ->
@@ -102,13 +100,8 @@ end_key([{'$eq', Key, '$eq', Key}]) ->
Key.
-% maybe_filter_by_sort_fields(Idx, SortFields, Selector) ->
-% Cols = columns(Idx),
-% io:format("HERE BOOM ~p ~n ~p ~n", [Idx, Cols]),
-% lists:prefix(SortFields, Cols).
-
-maybe_filter_by_sort_fields(_Idx, [], _Selector) ->
+can_use_sort(_Idx, [], _Selector) ->
true;
-maybe_filter_by_sort_fields(Idx, SortFields, _Selector) ->
+can_use_sort(Idx, SortFields, _Selector) ->
Cols = columns(Idx),
lists:prefix(SortFields, Cols).