summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGarren Smith <garren.smith@gmail.com>2020-03-23 15:35:22 +0200
committergarren smith <garren.smith@gmail.com>2020-04-06 17:55:49 +0200
commitbd1667d3bf1b5328ac7b0c4a4b50d1b8b91a9ec2 (patch)
tree23f15cef63ffb8402514097bac14fa19d6518199
parente28eb6b791d3421753f6806d9c0a42e9d0f7b4b1 (diff)
downloadcouchdb-bd1667d3bf1b5328ac7b0c4a4b50d1b8b91a9ec2.tar.gz
remove unneeded r/w parameter
-rw-r--r--src/mango/src/mango_crud.erl17
-rw-r--r--src/mango/src/mango_cursor_view.erl12
-rw-r--r--src/mango/src/mango_httpd.erl28
-rw-r--r--src/mango/src/mango_idx.erl2
-rw-r--r--src/mango/src/mango_opts.erl12
-rw-r--r--src/mango/test/mango.py2
6 files changed, 6 insertions, 67 deletions
diff --git a/src/mango/src/mango_crud.erl b/src/mango/src/mango_crud.erl
index 41a4d143d..42717ffc8 100644
--- a/src/mango/src/mango_crud.erl
+++ b/src/mango/src/mango_crud.erl
@@ -35,8 +35,7 @@ insert(Db, {_}=Doc, Opts) ->
insert(Db, [Doc], Opts);
insert(Db, Docs, Opts0) when is_list(Docs) ->
Opts1 = maybe_add_user_ctx(Db, Opts0),
- Opts2 = maybe_int_to_str(w, Opts1),
- case fabric:update_docs(Db, Docs, Opts2) of
+ case fabric:update_docs(Db, Docs, Opts1) of
{ok, Results0} ->
{ok, lists:zipwith(fun result_to_json/2, Docs, Results0)};
{accepted, Results0} ->
@@ -48,8 +47,7 @@ insert(Db, Docs, Opts0) when is_list(Docs) ->
find(Db, Selector, Callback, UserAcc, Opts0) ->
Opts1 = maybe_add_user_ctx(Db, Opts0),
- Opts2 = maybe_int_to_str(r, Opts1),
- {ok, Cursor} = mango_cursor:create(Db, Selector, Opts2),
+ {ok, Cursor} = mango_cursor:create(Db, Selector, Opts1),
mango_cursor:execute(Cursor, Callback, UserAcc).
@@ -101,8 +99,7 @@ delete(Db, Selector, Options) ->
explain(Db, Selector, Opts0) ->
Opts1 = maybe_add_user_ctx(Db, Opts0),
- Opts2 = maybe_int_to_str(r, Opts1),
- {ok, Cursor} = mango_cursor:create(Db, Selector, Opts2),
+ {ok, Cursor} = mango_cursor:create(Db, Selector, Opts1),
mango_cursor:explain(Cursor).
@@ -115,14 +112,6 @@ maybe_add_user_ctx(Db, Opts) ->
end.
-maybe_int_to_str(_Key, []) ->
- [];
-maybe_int_to_str(Key, [{Key, Val} | Rest]) when is_integer(Val) ->
- [{Key, integer_to_list(Val)} | maybe_int_to_str(Key, Rest)];
-maybe_int_to_str(Key, [KV | Rest]) ->
- [KV | maybe_int_to_str(Key, Rest)].
-
-
result_to_json(#doc{id=Id}, Result) ->
result_to_json(Id, Result);
result_to_json({Props}, Result) ->
diff --git a/src/mango/src/mango_cursor_view.erl b/src/mango/src/mango_cursor_view.erl
index bced842ae..5187c10c6 100644
--- a/src/mango/src/mango_cursor_view.erl
+++ b/src/mango/src/mango_cursor_view.erl
@@ -353,18 +353,6 @@ ddocid(Idx) ->
apply_opts([], Args) ->
Args;
-apply_opts([{r, RStr} | Rest], Args) ->
- IncludeDocs = case list_to_integer(RStr) of
- 1 ->
- true;
- R when R > 1 ->
- % We don't load the doc in the view query because
- % we have to do a quorum read in the coordinator
- % so there's no point.
- false
- end,
- NewArgs = Args#mrargs{include_docs = IncludeDocs},
- apply_opts(Rest, NewArgs);
apply_opts([{conflicts, true} | Rest], Args) ->
NewArgs = Args#mrargs{conflicts = true},
apply_opts(Rest, NewArgs);
diff --git a/src/mango/src/mango_httpd.erl b/src/mango/src/mango_httpd.erl
index 946d7e41c..1054c74bb 100644
--- a/src/mango/src/mango_httpd.erl
+++ b/src/mango/src/mango_httpd.erl
@@ -94,8 +94,7 @@ handle_index_req(#httpd{method='POST', path_parts=[_, _]}=Req, Db) ->
{ok, DDoc} ->
<<"exists">>;
{ok, NewDDoc} ->
- CreateOpts = get_idx_w_opts(Opts),
- case mango_crud:insert(Db, NewDDoc, CreateOpts) of
+ case mango_crud:insert(Db, NewDDoc, Opts) of
{ok, [{RespProps}]} ->
case lists:keyfind(error, 1, RespProps) of
{error, Reason} ->
@@ -121,12 +120,11 @@ handle_index_req(#httpd{method='POST', path_parts=[_, <<"_index">>,
{ok, Opts} = mango_opts:validate_bulk_delete(chttpd:json_body_obj(Req)),
Idxs = mango_idx:list(Db),
DDocs = get_bulk_delete_ddocs(Opts),
- DelOpts = get_idx_w_opts(Opts),
{Success, Fail} = lists:foldl(fun(DDocId0, {Success0, Fail0}) ->
DDocId = convert_to_design_id(DDocId0),
Filt = fun(Idx) -> mango_idx:ddoc(Idx) == DDocId end,
Id = {<<"id">>, DDocId},
- case mango_idx:delete(Filt, Db, Idxs, DelOpts) of
+ case mango_idx:delete(Filt, Db, Idxs, Opts) of
{ok, true} ->
{[{[Id, {<<"ok">>, true}]} | Success0], Fail0};
{error, Error} ->
@@ -148,14 +146,13 @@ handle_index_req(#httpd{method='DELETE',
path_parts=[_, _, DDocId0, Type, Name]}=Req, Db) ->
Idxs = mango_idx:list(Db),
DDocId = convert_to_design_id(DDocId0),
- DelOpts = get_idx_del_opts(Req),
Filt = fun(Idx) ->
IsDDoc = mango_idx:ddoc(Idx) == DDocId,
IsType = mango_idx:type(Idx) == Type,
IsName = mango_idx:name(Idx) == Name,
IsDDoc andalso IsType andalso IsName
end,
- case mango_idx:delete(Filt, Db, Idxs, DelOpts) of
+ case mango_idx:delete(Filt, Db, Idxs, []) of
{ok, true} ->
chttpd:send_json(Req, {[{ok, true}]});
{error, not_found} ->
@@ -203,15 +200,6 @@ set_user_ctx(#httpd{user_ctx=Ctx}, Db) ->
NewDb.
-get_idx_w_opts(Opts) ->
- case lists:keyfind(w, 1, Opts) of
- {w, N} when is_integer(N), N > 0 ->
- [{w, integer_to_list(N)}];
- _ ->
- [{w, "2"}]
- end.
-
-
get_bulk_delete_ddocs(Opts) ->
case lists:keyfind(docids, 1, Opts) of
{docids, DDocs} when is_list(DDocs) ->
@@ -221,16 +209,6 @@ get_bulk_delete_ddocs(Opts) ->
end.
-get_idx_del_opts(Req) ->
- try
- WStr = chttpd:qs_value(Req, "w", "2"),
- _ = list_to_integer(WStr),
- [{w, WStr}]
- catch _:_ ->
- [{w, "2"}]
- end.
-
-
convert_to_design_id(DDocId) ->
case DDocId of
<<"_design/", _/binary>> -> DDocId;
diff --git a/src/mango/src/mango_idx.erl b/src/mango/src/mango_idx.erl
index 0f79bdb8a..a26a6851a 100644
--- a/src/mango/src/mango_idx.erl
+++ b/src/mango/src/mango_idx.erl
@@ -344,8 +344,6 @@ filter_opts([{name, _} | Rest]) ->
filter_opts(Rest);
filter_opts([{type, _} | Rest]) ->
filter_opts(Rest);
-filter_opts([{w, _} | Rest]) ->
- filter_opts(Rest);
filter_opts([Opt | Rest]) ->
[Opt | filter_opts(Rest)].
diff --git a/src/mango/src/mango_opts.erl b/src/mango/src/mango_opts.erl
index 7bae9c90d..e35767600 100644
--- a/src/mango/src/mango_opts.erl
+++ b/src/mango/src/mango_opts.erl
@@ -64,12 +64,6 @@ validate_idx_create({Props}) ->
{optional, true},
{default, auto_name},
{validator, fun validate_idx_name/1}
- ]},
- {<<"w">>, [
- {tag, w},
- {optional, true},
- {default, 2},
- {validator, fun is_pos_integer/1}
]}
],
validate(Props, Opts).
@@ -117,12 +111,6 @@ validate_find({Props}) ->
{default, []},
{validator, fun validate_fields/1}
]},
- {<<"r">>, [
- {tag, r},
- {optional, true},
- {default, 1},
- {validator, fun mango_opts:is_pos_integer/1}
- ]},
{<<"conflicts">>, [
{tag, conflicts},
{optional, true},
diff --git a/src/mango/test/mango.py b/src/mango/test/mango.py
index 03cb85f48..638de4787 100644
--- a/src/mango/test/mango.py
+++ b/src/mango/test/mango.py
@@ -244,7 +244,6 @@ class Database(object):
skip=0,
sort=None,
fields=None,
- r=1,
conflicts=False,
use_index=None,
explain=False,
@@ -258,7 +257,6 @@ class Database(object):
"use_index": use_index,
"limit": limit,
"skip": skip,
- "r": r,
"conflicts": conflicts,
}
if sort is not None: