You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2021/12/20 17:08:15 UTC
[couchdb] 01/02: rename ignore_partition_query_limit to is_mango_query for clarity
This is an automated email from the ASF dual-hosted git repository.
rnewson pushed a commit to branch enforce_rowlimit_mango
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 57050578d3ff2bc8b08e1f4451183c46f182605c
Author: Robert Newson <rn...@apache.org>
AuthorDate: Mon Dec 20 16:05:15 2021 +0000
rename ignore_partition_query_limit to is_mango_query for clarity
---
src/couch_mrview/src/couch_mrview_util.erl | 38 ++++++++++++++++--------------
src/mango/src/mango_cursor_view.erl | 2 +-
2 files changed, 21 insertions(+), 19 deletions(-)
diff --git a/src/couch_mrview/src/couch_mrview_util.erl b/src/couch_mrview/src/couch_mrview_util.erl
index b7220f7..41594ff 100644
--- a/src/couch_mrview/src/couch_mrview_util.erl
+++ b/src/couch_mrview/src/couch_mrview_util.erl
@@ -439,28 +439,30 @@ validate_args(#mrst{} = State, Args0) ->
mrverror(Msg2)
end.
-apply_limit(ViewPartitioned, Args) ->
- Options = Args#mrargs.extra,
- IgnorePQLimit = lists:keyfind(ignore_partition_query_limit, 1, Options),
- LimitType =
- case {ViewPartitioned, IgnorePQLimit} of
- {true, false} -> "partition_query_limit";
- {true, _} -> "query_limit";
- {false, _} -> "query_limit"
- end,
+apply_limit(ViewPartitioned, #mrargs{} = Args) ->
+ LimitType = case ViewPartitioned of
+ true -> "partition_query_limit";
+ false -> "query_limit"
+ end,
- MaxLimit = config:get_integer(
- "query_server_config",
- LimitType,
- ?MAX_VIEW_LIMIT
- ),
+ IsMangoQuery = lists:keyfind(is_mango_query, 1, Args#mrargs.extra),
+ MaxLimit = case IsMangoQuery of
+ {is_mango_query, true} ->
+ ?MAX_VIEW_LIMIT;
+ false ->
+ config:get_integer(
+ "query_server_config",
+ LimitType,
+ ?MAX_VIEW_LIMIT)
+ end,
% Set the highest limit possible if a user has not
- % specified a limit
+ % specified a limit or if this is a mango query
Args1 =
- case Args#mrargs.limit == ?MAX_VIEW_LIMIT of
- true -> Args#mrargs{limit = MaxLimit};
- false -> Args
+ case {Args#mrargs.limit == ?MAX_VIEW_LIMIT, IsMangoQuery} of
+ {_, {is_mango_query, true}} -> Args#mrargs{limit = ?MAX_VIEW_LIMIT};
+ {true, false} -> Args#mrargs{limit = MaxLimit};
+ {false, false} -> Args
end,
if
diff --git a/src/mango/src/mango_cursor_view.erl b/src/mango/src/mango_cursor_view.erl
index 5656ffc..eb2271b 100644
--- a/src/mango/src/mango_cursor_view.erl
+++ b/src/mango/src/mango_cursor_view.erl
@@ -120,7 +120,7 @@ base_args(#cursor{index = Idx, selector = Selector} = Cursor) ->
extra = [
{callback, {?MODULE, view_cb}},
{selector, Selector},
- {ignore_partition_query_limit, true}
+ {is_mango_query, true}
]
}.