You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2017/04/04 21:06:45 UTC
[01/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de [Forced Update!]
Repository: couchdb-couch-mrview
Updated Branches:
refs/heads/COUCHDB-3288-remove-public-db-record a27144733 -> 66274de21 (forced update)
Refactor mrview_index get
This is a simple refactoring of mrview's
get function that uses function's pattern
matching instead of staircase case.
Arguably this makes code easier to read
and more idiomatic.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/f7f4db26
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/f7f4db26
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/f7f4db26
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: f7f4db2660f3196916ccbdb9dc25cfc5d709a19f
Parents: 15a1ae9
Author: Eric Avdey <ei...@eiri.ca>
Authored: Tue Feb 7 10:39:46 2017 -0400
Committer: Eric Avdey <ei...@eiri.ca>
Committed: Wed Feb 8 12:31:18 2017 -0400
----------------------------------------------------------------------
src/couch_mrview_index.erl | 152 +++++++++++++++++++---------------------
1 file changed, 74 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/f7f4db26/src/couch_mrview_index.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_index.erl b/src/couch_mrview_index.erl
index 95698bc..47245bd 100644
--- a/src/couch_mrview_index.erl
+++ b/src/couch_mrview_index.erl
@@ -23,84 +23,80 @@
-include_lib("couch_mrview/include/couch_mrview.hrl").
-get(Property, State) ->
- case Property of
- db_name ->
- State#mrst.db_name;
- idx_name ->
- State#mrst.idx_name;
- signature ->
- State#mrst.sig;
- update_seq ->
- State#mrst.update_seq;
- purge_seq ->
- State#mrst.purge_seq;
- update_options ->
- Opts = State#mrst.design_opts,
- IncDesign = couch_util:get_value(<<"include_design">>, Opts, false),
- LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
- SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
- KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
- if IncDesign -> [include_design]; true -> [] end
- ++ if LocalSeq -> [local_seq]; true -> [] end
- ++ if KeySeqIndexed -> [keyseq_indexed]; true -> [] end
- ++ if SeqIndexed -> [seq_indexed]; true -> [] end;
- fd ->
- State#mrst.fd;
- language ->
- State#mrst.language;
- views ->
- State#mrst.views;
- info ->
- #mrst{
- fd = Fd,
- sig = Sig,
- id_btree = IdBtree,
- log_btree = LogBtree,
- language = Lang,
- update_seq = UpdateSeq,
- purge_seq = PurgeSeq,
- views = Views,
- design_opts = Opts
- } = State,
- {ok, FileSize} = couch_file:bytes(Fd),
- {ok, ExternalSize} = couch_mrview_util:calculate_external_size(Views),
- LogBtSize = case LogBtree of
- nil ->
- 0;
- _ ->
- couch_btree:size(LogBtree)
- end,
- ActiveSize = couch_btree:size(IdBtree) + LogBtSize + ExternalSize,
-
- IncDesign = couch_util:get_value(<<"include_design">>, Opts, false),
- LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
- SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
- KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
- UpdateOptions =
- if IncDesign -> [<<"include_design">>]; true -> [] end
- ++ if LocalSeq -> [<<"local_seq">>]; true -> [] end
- ++ if KeySeqIndexed -> [<<"keyseq_indexed">>]; true -> [] end
- ++ if SeqIndexed -> [<<"seq_indexed">>]; true -> [] end,
-
-
- {ok, [
- {signature, list_to_binary(couch_index_util:hexsig(Sig))},
- {language, Lang},
- {disk_size, FileSize}, % legacy
- {data_size, ExternalSize}, % legacy
- {sizes, {[
- {file, FileSize},
- {active, ActiveSize},
- {external, ExternalSize}
- ]}},
- {update_seq, UpdateSeq},
- {purge_seq, PurgeSeq},
- {update_options, UpdateOptions}
- ]};
- Other ->
- throw({unknown_index_property, Other})
- end.
+get(db_name, #mrst{db_name = DbName}) ->
+ DbName;
+get(idx_name, #mrst{idx_name = IdxName}) ->
+ IdxName;
+get(signature, #mrst{sig = Signature}) ->
+ Signature;
+get(update_seq, #mrst{update_seq = UpdateSeq}) ->
+ UpdateSeq;
+get(purge_seq, #mrst{purge_seq = PurgeSeq}) ->
+ PurgeSeq;
+get(update_options, #mrst{design_opts = Opts}) ->
+ IncDesign = couch_util:get_value(<<"include_design">>, Opts, false),
+ LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
+ SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
+ KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
+ if IncDesign -> [include_design]; true -> [] end
+ ++ if LocalSeq -> [local_seq]; true -> [] end
+ ++ if KeySeqIndexed -> [keyseq_indexed]; true -> [] end
+ ++ if SeqIndexed -> [seq_indexed]; true -> [] end;
+get(fd, #mrst{fd = Fd}) ->
+ Fd;
+get(language, #mrst{language = Language}) ->
+ Language;
+get(views, #mrst{views = Views}) ->
+ Views;
+get(info, State) ->
+ #mrst{
+ fd = Fd,
+ sig = Sig,
+ id_btree = IdBtree,
+ log_btree = LogBtree,
+ language = Lang,
+ update_seq = UpdateSeq,
+ purge_seq = PurgeSeq,
+ views = Views,
+ design_opts = Opts
+ } = State,
+ {ok, FileSize} = couch_file:bytes(Fd),
+ {ok, ExternalSize} = couch_mrview_util:calculate_external_size(Views),
+ LogBtSize = case LogBtree of
+ nil ->
+ 0;
+ _ ->
+ couch_btree:size(LogBtree)
+ end,
+ ActiveSize = couch_btree:size(IdBtree) + LogBtSize + ExternalSize,
+
+ IncDesign = couch_util:get_value(<<"include_design">>, Opts, false),
+ LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
+ SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
+ KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
+ UpdateOptions =
+ if IncDesign -> [<<"include_design">>]; true -> [] end
+ ++ if LocalSeq -> [<<"local_seq">>]; true -> [] end
+ ++ if KeySeqIndexed -> [<<"keyseq_indexed">>]; true -> [] end
+ ++ if SeqIndexed -> [<<"seq_indexed">>]; true -> [] end,
+
+
+ {ok, [
+ {signature, list_to_binary(couch_index_util:hexsig(Sig))},
+ {language, Lang},
+ {disk_size, FileSize}, % legacy
+ {data_size, ExternalSize}, % legacy
+ {sizes, {[
+ {file, FileSize},
+ {active, ActiveSize},
+ {external, ExternalSize}
+ ]}},
+ {update_seq, UpdateSeq},
+ {purge_seq, PurgeSeq},
+ {update_options, UpdateOptions}
+ ]};
+get(Other, _) ->
+ throw({unknown_index_property, Other}).
init(Db, DDoc) ->
[02/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Re-use get update_options in get(info)
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/8b1c137e
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/8b1c137e
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/8b1c137e
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 8b1c137ea4decca2ac4f3717b71f369fbdb5d7b5
Parents: f7f4db2
Author: Eric Avdey <ei...@eiri.ca>
Authored: Wed Feb 8 14:05:37 2017 -0400
Committer: Eric Avdey <ei...@eiri.ca>
Committed: Wed Feb 8 14:05:37 2017 -0400
----------------------------------------------------------------------
src/couch_mrview_index.erl | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/8b1c137e/src/couch_mrview_index.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_index.erl b/src/couch_mrview_index.erl
index 47245bd..a65bc94 100644
--- a/src/couch_mrview_index.erl
+++ b/src/couch_mrview_index.erl
@@ -74,12 +74,9 @@ get(info, State) ->
LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
- UpdateOptions =
- if IncDesign -> [<<"include_design">>]; true -> [] end
- ++ if LocalSeq -> [<<"local_seq">>]; true -> [] end
- ++ if KeySeqIndexed -> [<<"keyseq_indexed">>]; true -> [] end
- ++ if SeqIndexed -> [<<"seq_indexed">>]; true -> [] end,
+ UpdateOptions0 = get(update_options, State),
+ UpdateOptions = [atom_to_binary(O, latin1) || O <- UpdateOptions0],
{ok, [
{signature, list_to_binary(couch_index_util:hexsig(Sig))},
[09/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Fix unit tests in couch_mrview_compactor
This fixes the two tests that are in couch_mrview_compactor.erl. For
some reason they don't always run in CI or even for local `make check`
runs. However when they do run they fail as they don't account for how
couch_index_updater:update/3 works and don't start couch_log.
The theory for why these don't always run is related to how meck loads
modules. I'm told that these should probably be moved to
test/couch_mrview_compactor_tests.erl but then that would remove access
to the recompact/1 function. For now I'll leave them here I guess and if
they do ever run they'll not break the build now.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/3c70ae90
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/3c70ae90
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/3c70ae90
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 3c70ae90ba6b45fb86641b88fca0d88059121d34
Parents: f897fdc
Author: Paul J. Davis <pa...@gmail.com>
Authored: Wed Feb 8 12:11:47 2017 -0600
Committer: Paul J. Davis <pa...@gmail.com>
Committed: Thu Mar 23 16:52:30 2017 -0500
----------------------------------------------------------------------
src/couch_mrview_compactor.erl | 30 +++++++++++++++++++-----------
1 file changed, 19 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/3c70ae90/src/couch_mrview_compactor.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_compactor.erl b/src/couch_mrview_compactor.erl
index 5957908..9ef79b6 100644
--- a/src/couch_mrview_compactor.erl
+++ b/src/couch_mrview_compactor.erl
@@ -307,13 +307,16 @@ recompact_success_after_progress() ->
?_test(begin
ok = meck:expect(couch_index_updater, update, fun
(Pid, _, #mrst{update_seq=0} = State) ->
- Pid ! {'$gen_cast', {new_state, State#mrst{update_seq=1}}};
- (_, _, State) ->
- exit({updated, self(), State})
+ Pid ! {'$gen_cast', {new_state, State#mrst{update_seq = 1}}},
+ timer:sleep(100),
+ exit({updated, self(), State#mrst{update_seq = 2}})
end),
- State = #mrst{fd=self(), update_seq=0},
- ?assertEqual({ok, State#mrst{update_seq=1}}, recompact(State)),
- meck:unload(couch_index_updater)
+ try
+ State = #mrst{fd=self(), update_seq=0},
+ ?assertEqual({ok, State#mrst{update_seq = 2}}, recompact(State))
+ after
+ meck:unload(couch_index_updater)
+ end
end).
recompact_exceeded_retry_count() ->
@@ -322,11 +325,16 @@ recompact_exceeded_retry_count() ->
fun(_, _, _) ->
exit(error)
end),
- State = #mrst{fd=self(), db_name=foo, idx_name=bar},
- ExpectedError = {exceeded_recompact_retry_count,
- [{db_name, foo}, {idx_name, bar}]},
- ?assertError(ExpectedError, recompact(State)),
- meck:unload(couch_index_updater)
+ ok = meck:expect(couch_log, warning, fun(_, _) -> ok end),
+ try
+ State = #mrst{fd=self(), db_name=foo, idx_name=bar},
+ ExpectedError = {exceeded_recompact_retry_count,
+ [{db_name, foo}, {idx_name, bar}]},
+ ?assertError(ExpectedError, recompact(State))
+ after
+ meck:unload(couch_log),
+ meck:unload(couch_index_updater)
+ end
end).
-endif.
[07/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Add send_list_row test suite
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/c01d4c08
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/c01d4c08
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/c01d4c08
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: c01d4c088e1073c669e900cc14d0404a00ea36ff
Parents: 56616fa
Author: Jay Doane <ja...@gmail.com>
Authored: Wed Mar 15 23:01:28 2017 -0700
Committer: Jay Doane <ja...@gmail.com>
Committed: Wed Mar 15 23:01:28 2017 -0700
----------------------------------------------------------------------
src/couch_mrview_show.erl | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/c01d4c08/src/couch_mrview_show.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_show.erl b/src/couch_mrview_show.erl
index f79ad62..4f59acc 100644
--- a/src/couch_mrview_show.erl
+++ b/src/couch_mrview_show.erl
@@ -424,4 +424,42 @@ should_apply_headers_with_merge_overwrite() ->
?assertEqual({NewHeaders}, JsonHeaders)
end).
+
+send_list_row_test_() ->
+ Cases = couch_tests_combinatorics:product([
+ [
+ {"[<<\"end\">>, [], []]", fun(_, _) -> [<<"end">>, [], []] end},
+ {"[<<\"end\">>, []]", fun(_, _) -> [<<"end">>, []] end},
+ {"throw(timeout)", fun(_, _) -> throw(timeout) end}
+ ],
+ [
+ req,
+ undefined
+ ]]),
+ {"Ensure send_list_row returns a valid response on end or error",
+ {setup, fun setup/0, fun(_) -> meck:unload() end, [
+ {
+ lists:flatten(io_lib:format("~s -- ~p", [N, R])),
+ should_return_valid_response(F, R)
+ } || [{N, F}, R] <- Cases
+ ]}
+ }.
+
+setup() ->
+ ok = meck:expect(chttpd, send_chunk,
+ fun(Resp, _) -> {ok, Resp} end),
+ ok = meck:expect(chttpd, send_chunked_error,
+ fun(Resp, _) -> {ok, Resp} end),
+ ok = meck:expect(chttpd, start_chunked_response,
+ fun(_, _, _) -> {ok, resp} end),
+ ok = meck:expect(chttpd_external, parse_external_response, 1,
+ #extern_resp_args{headers = []}).
+
+should_return_valid_response(Spec, Req) ->
+ ?_test(begin
+ ok = meck:expect(couch_query_servers, proc_prompt, Spec),
+ Acc = #lacc{qserver = {proc, undefined}, req = Req, resp = resp},
+ ?assertEqual({stop, resp}, send_list_row([], Acc))
+ end).
+
-endif.
[11/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Merge remote branch 'cloudant:fix-unused-variable-warning'
This closes #73
Signed-off-by: Eric Avdey <ei...@eiri.ca>
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/f08c26a0
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/f08c26a0
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/f08c26a0
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: f08c26a098a46366cfaf0e14b940af1f11d84577
Parents: 3c70ae9 5954ef6
Author: Eric Avdey <ei...@eiri.ca>
Authored: Fri Mar 31 11:10:32 2017 -0300
Committer: Eric Avdey <ei...@eiri.ca>
Committed: Fri Mar 31 11:10:32 2017 -0300
----------------------------------------------------------------------
src/couch_mrview_index.erl | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
----------------------------------------------------------------------
[04/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Fix undef error on empty list function response
Prior to this commit, if a list function did not return any data or
returned an error, it would return a #lacc{} record from list_cb/2
rather than a valid #mochiweb_response{} record. This would cause chttpd
to crash. This commit fixes this bug by always returning a valid
record.
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/56616fad
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/56616fad
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/56616fad
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 56616fad9b0621b6606e4b521a2ec4b8342877aa
Parents: e1d13a9
Author: Benjamin Bastian <be...@gmail.com>
Authored: Thu Mar 9 18:20:25 2017 -0800
Committer: Benjamin Bastian <be...@gmail.com>
Committed: Thu Mar 9 18:20:25 2017 -0800
----------------------------------------------------------------------
src/couch_mrview_show.erl | 26 ++++++++++++--------------
1 file changed, 12 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/56616fad/src/couch_mrview_show.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_show.erl b/src/couch_mrview_show.erl
index 52e07a7..f79ad62 100644
--- a/src/couch_mrview_show.erl
+++ b/src/couch_mrview_show.erl
@@ -284,26 +284,24 @@ send_list_row(Row, #lacc{qserver = {Proc, _}, req = Req, resp = Resp} = Acc) ->
Acc2 = send_non_empty_chunk(Acc, Chunk),
{ok, Acc2};
[<<"end">>, Chunk, Headers] ->
- Acc2 = send_non_empty_chunk(fixup_headers(Headers, Acc), Chunk),
- #lacc{resp = Resp2} = Acc2,
- last_chunk(Req, Resp2),
- {stop, Acc2};
+ #lacc{resp = Resp2} = send_non_empty_chunk(fixup_headers(Headers, Acc), Chunk),
+ {ok, Resp3} = last_chunk(Req, Resp2),
+ {stop, Resp3};
[<<"end">>, Chunk] ->
- Acc2 = send_non_empty_chunk(Acc, Chunk),
- #lacc{resp = Resp2} = Acc2,
- last_chunk(Req, Resp2),
- {stop, Acc2}
+ #lacc{resp = Resp2} = send_non_empty_chunk(Acc, Chunk),
+ {ok, Resp3} = last_chunk(Req, Resp2),
+ {stop, Resp3}
catch Error ->
- case Resp of
+ {ok, Resp2} = case Resp of
undefined ->
{Code, _, _} = chttpd:error_info(Error),
#lacc{req=Req, headers=Headers} = Acc,
- {ok, Resp2} = chttpd:start_chunked_response(Req, Code, Headers),
- Acc2 = Acc#lacc{resp=Resp2, code=Code};
- _ -> Resp2 = Resp, Acc2 = Acc
+ chttpd:start_chunked_response(Req, Code, Headers);
+ _ ->
+ {ok, Resp}
end,
- chttpd:send_chunked_error(Resp2, Error),
- {stop, Acc2}
+ {ok, Resp3} = chttpd:send_chunked_error(Resp2, Error),
+ {stop, Resp3}
end.
send_non_empty_chunk(Acc, []) ->
[03/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Merge remote branch 'cloudant:refactor-mrview-index-get'
This closes #65
Signed-off-by: Eric Avdey <ei...@eiri.ca>
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/e1d13a98
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/e1d13a98
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/e1d13a98
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: e1d13a983a0ba56fcb1eb31c4e4fe56bc3692719
Parents: 15a1ae9 8b1c137
Author: Eric Avdey <ei...@eiri.ca>
Authored: Thu Feb 9 09:57:22 2017 -0400
Committer: Eric Avdey <ei...@eiri.ca>
Committed: Thu Feb 9 09:57:22 2017 -0400
----------------------------------------------------------------------
src/couch_mrview_index.erl | 149 +++++++++++++++++++---------------------
1 file changed, 71 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
[05/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Allow limiting maximum document body size
This is a companion commit to this one:
https://github.com/apache/couchdb-couch/pull/235
COUCHDB-2992
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/398c30e8
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/398c30e8
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/398c30e8
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 398c30e8785c3cd880d7d9788d25810dfe626c18
Parents: e1d13a9
Author: Nick Vatamaniuc <va...@apache.org>
Authored: Wed Mar 15 17:55:22 2017 -0400
Committer: Nick Vatamaniuc <va...@apache.org>
Committed: Wed Mar 15 17:55:22 2017 -0400
----------------------------------------------------------------------
src/couch_mrview_show.erl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/398c30e8/src/couch_mrview_show.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_show.erl b/src/couch_mrview_show.erl
index 52e07a7..fee104e 100644
--- a/src/couch_mrview_show.erl
+++ b/src/couch_mrview_show.erl
@@ -132,7 +132,7 @@ send_doc_update_response(Req, Db, DDoc, UpdateName, Doc, DocId) ->
_ ->
Options = [{user_ctx, Req#httpd.user_ctx}]
end,
- NewDoc = couch_doc:from_json_obj({NewJsonDoc}),
+ NewDoc = couch_doc:from_json_obj_validate({NewJsonDoc}),
couch_doc:validate_docid(NewDoc#doc.id),
{ok, NewRev} = couch_db:update_doc(Db, NewDoc, Options),
NewRevStr = couch_doc:rev_to_str(NewRev),
[10/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Fix unused variables warning
This cleans up the artifacts left after
refactoring of `couch_mrview_index:get/2`
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/5954ef69
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/5954ef69
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/5954ef69
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 5954ef69383547f572419c29380495b9a25a5bf4
Parents: 3c70ae9
Author: Eric Avdey <ei...@eiri.ca>
Authored: Fri Mar 31 10:56:03 2017 -0300
Committer: Eric Avdey <ei...@eiri.ca>
Committed: Fri Mar 31 10:56:03 2017 -0300
----------------------------------------------------------------------
src/couch_mrview_index.erl | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/5954ef69/src/couch_mrview_index.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_index.erl b/src/couch_mrview_index.erl
index a65bc94..0473d5d 100644
--- a/src/couch_mrview_index.erl
+++ b/src/couch_mrview_index.erl
@@ -57,8 +57,7 @@ get(info, State) ->
language = Lang,
update_seq = UpdateSeq,
purge_seq = PurgeSeq,
- views = Views,
- design_opts = Opts
+ views = Views
} = State,
{ok, FileSize} = couch_file:bytes(Fd),
{ok, ExternalSize} = couch_mrview_util:calculate_external_size(Views),
@@ -70,11 +69,6 @@ get(info, State) ->
end,
ActiveSize = couch_btree:size(IdBtree) + LogBtSize + ExternalSize,
- IncDesign = couch_util:get_value(<<"include_design">>, Opts, false),
- LocalSeq = couch_util:get_value(<<"local_seq">>, Opts, false),
- SeqIndexed = couch_util:get_value(<<"seq_indexed">>, Opts, false),
- KeySeqIndexed = couch_util:get_value(<<"keyseq_indexed">>, Opts, false),
-
UpdateOptions0 = get(update_options, State),
UpdateOptions = [atom_to_binary(O, latin1) || O <- UpdateOptions0],
[12/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Remove public db record
COUCHDB-3288
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/66274de2
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/66274de2
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/66274de2
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 66274de217f64b167c1bdfe0c6a6fc211065fb12
Parents: f08c26a
Author: Paul J. Davis <pa...@gmail.com>
Authored: Wed Feb 1 15:36:16 2017 -0600
Committer: Paul J. Davis <pa...@gmail.com>
Committed: Tue Apr 4 16:06:21 2017 -0500
----------------------------------------------------------------------
src/couch_mrview.erl | 14 +++++++-------
src/couch_mrview_compactor.erl | 7 ++-----
src/couch_mrview_http.erl | 10 +++++-----
src/couch_mrview_show.erl | 16 ++++++++++------
test/couch_mrview_all_docs_tests.erl | 2 +-
test/couch_mrview_changes_since_tests.erl | 2 +-
test/couch_mrview_collation_tests.erl | 2 +-
test/couch_mrview_compact_tests.erl | 2 +-
test/couch_mrview_ddoc_validation_tests.erl | 2 +-
test/couch_mrview_index_changes_tests.erl | 2 +-
test/couch_mrview_index_info_tests.erl | 2 +-
test/couch_mrview_map_views_tests.erl | 2 +-
test/couch_mrview_red_views_tests.erl | 2 +-
13 files changed, 33 insertions(+), 32 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/src/couch_mrview.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview.erl b/src/couch_mrview.erl
index 088327c..0f207fb 100644
--- a/src/couch_mrview.erl
+++ b/src/couch_mrview.erl
@@ -360,15 +360,12 @@ get_view_info(Db, DDoc, VName) ->
%% @doc refresh a view index
-refresh(#db{name=DbName}, DDoc) ->
- refresh(DbName, DDoc);
-
-refresh(Db, DDoc) ->
- UpdateSeq = couch_util:with_db(Db, fun(WDb) ->
+refresh(DbName, DDoc) when is_binary(DbName)->
+ UpdateSeq = couch_util:with_db(DbName, fun(WDb) ->
couch_db:get_update_seq(WDb)
end),
- case couch_index_server:get_index(couch_mrview_index, Db, DDoc) of
+ case couch_index_server:get_index(couch_mrview_index, DbName, DDoc) of
{ok, Pid} ->
case catch couch_index:get_state(Pid, UpdateSeq) of
{ok, _} -> ok;
@@ -376,7 +373,10 @@ refresh(Db, DDoc) ->
end;
Error ->
{error, Error}
- end.
+ end;
+
+refresh(Db, DDoc) ->
+ refresh(couch_db:name(Db), DDoc).
compact(Db, DDoc) ->
compact(Db, DDoc, []).
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/src/couch_mrview_compactor.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_compactor.erl b/src/couch_mrview_compactor.erl
index 9ef79b6..3c30d2f 100644
--- a/src/couch_mrview_compactor.erl
+++ b/src/couch_mrview_compactor.erl
@@ -52,10 +52,7 @@ compact(State) ->
CompactFName = couch_mrview_util:compaction_file(DbName, Sig),
{ok, Fd} = couch_mrview_util:open_file(CompactFName),
ESt = couch_mrview_util:reset_index(Db, Fd, State),
-
- {ok, DbReduce} = couch_btree:full_reduce(Db#db.id_tree),
- Count = element(1, DbReduce),
-
+ {ok, Count} = couch_db:get_doc_count(Db),
{ESt, Count}
end),
@@ -290,7 +287,7 @@ swap_compacted(OldState, NewState) ->
unlink(OldState#mrst.fd),
erlang:demonitor(OldState#mrst.fd_monitor, [flush]),
-
+
{ok, NewState#mrst{fd_monitor=Ref}}.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/src/couch_mrview_http.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_http.erl b/src/couch_mrview_http.erl
index 7e3fd78..e5638fe 100644
--- a/src/couch_mrview_http.erl
+++ b/src/couch_mrview_http.erl
@@ -103,11 +103,11 @@ handle_view_changes_req(#httpd{path_parts=[_,<<"_design">>,DDocName,<<"_view_cha
handle_view_req(#httpd{method='GET',
path_parts=[_, _, DDocName, _, VName, <<"_info">>]}=Req,
Db, _DDoc) ->
-
+ DbName = couch_db:name(Db),
DDocId = <<"_design/", DDocName/binary >>,
- {ok, Info} = couch_mrview:get_view_info(Db#db.name, DDocId, VName),
+ {ok, Info} = couch_mrview:get_view_info(DbName, DDocId, VName),
- FinalInfo = [{db_name, Db#db.name},
+ FinalInfo = [{db_name, DbName},
{ddoc, DDocId},
{view, VName}] ++ Info,
chttpd:send_json(Req, 200, {FinalInfo});
@@ -212,7 +212,7 @@ is_restricted(Db, _) ->
couch_db:is_system_db(Db).
is_public_fields_configured(Db) ->
- DbName = ?b2l(Db#db.name),
+ DbName = ?b2l(couch_db:name(Db)),
case config:get("couch_httpd_auth", "authentication_db", "_users") of
DbName ->
UsersDbPublic = config:get("couch_httpd_auth", "users_db_public", "false"),
@@ -237,7 +237,7 @@ do_all_docs_req(Req, Db, Keys, NS) ->
{ok, Resp} = couch_httpd:etag_maybe(Req, fun() ->
Max = chttpd:chunked_response_buffer_size(),
VAcc0 = #vacc{db=Db, req=Req, threshold=Max},
- DbName = ?b2l(Db#db.name),
+ DbName = ?b2l(couch_db:name(Db)),
UsersDbName = config:get("couch_httpd_auth",
"authentication_db",
"_users"),
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/src/couch_mrview_show.erl
----------------------------------------------------------------------
diff --git a/src/couch_mrview_show.erl b/src/couch_mrview_show.erl
index 1ebc85b..60e8a2c 100644
--- a/src/couch_mrview_show.erl
+++ b/src/couch_mrview_show.erl
@@ -364,13 +364,17 @@ json_apply_field({Key, NewValue}, [], Acc) ->
% This loads the db info if we have a fully loaded db record, but we might not
% have the db locally on this node, so then load the info through fabric.
-json_req_obj(Req, #db{main_pid=Pid}=Db) when is_pid(Pid) ->
- chttpd_external:json_req_obj(Req, Db);
json_req_obj(Req, Db) ->
- % use a separate process because we're already in a receive loop, and
- % json_req_obj calls fabric:get_db_info()
- spawn_monitor(fun() -> exit(chttpd_external:json_req_obj(Req, Db)) end),
- receive {'DOWN', _, _, _, JsonReq} -> JsonReq end.
+ case couch_db:is_clustered(Db) of
+ true ->
+ % use a separate process because we're already in a receive loop,
+ % and json_req_obj calls fabric:get_db_info()
+ JRO = fun() -> exit(chttpd_external:json_req_obj(Req, Db)) end,
+ spawn_monitor(JRO),
+ receive {'DOWN', _, _, _, JsonReq} -> JsonReq end;
+ false ->
+ chttpd_external:json_req_obj(Req, Db)
+ end.
last_chunk(Req, undefined) ->
chttpd:send_response(Req, 200, [], <<"">>);
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_all_docs_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_all_docs_tests.erl b/test/couch_mrview_all_docs_tests.erl
index 5e35279..bf8eb7e 100644
--- a/test/couch_mrview_all_docs_tests.erl
+++ b/test/couch_mrview_all_docs_tests.erl
@@ -25,7 +25,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_changes_since_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_changes_since_tests.erl b/test/couch_mrview_changes_since_tests.erl
index 8b11e3d..7e2f321 100644
--- a/test/couch_mrview_changes_since_tests.erl
+++ b/test/couch_mrview_changes_since_tests.erl
@@ -25,7 +25,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_collation_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_collation_tests.erl b/test/couch_mrview_collation_tests.erl
index c4a714d..5c8cb54 100644
--- a/test/couch_mrview_collation_tests.erl
+++ b/test/couch_mrview_collation_tests.erl
@@ -64,7 +64,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_compact_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_compact_tests.erl b/test/couch_mrview_compact_tests.erl
index 079639f..7cd5de8 100644
--- a/test/couch_mrview_compact_tests.erl
+++ b/test/couch_mrview_compact_tests.erl
@@ -24,7 +24,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_ddoc_validation_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_ddoc_validation_tests.erl b/test/couch_mrview_ddoc_validation_tests.erl
index 028e0be..5ac3e7e 100644
--- a/test/couch_mrview_ddoc_validation_tests.erl
+++ b/test/couch_mrview_ddoc_validation_tests.erl
@@ -21,7 +21,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
ddoc_validation_test_() ->
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_index_changes_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_index_changes_tests.erl b/test/couch_mrview_index_changes_tests.erl
index 8f0c296..2701e0c 100644
--- a/test/couch_mrview_index_changes_tests.erl
+++ b/test/couch_mrview_index_changes_tests.erl
@@ -22,7 +22,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
changes_index_test() ->
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_index_info_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_index_info_tests.erl b/test/couch_mrview_index_info_tests.erl
index 3f88972..c994df9 100644
--- a/test/couch_mrview_index_info_tests.erl
+++ b/test/couch_mrview_index_info_tests.erl
@@ -28,7 +28,7 @@ setup() ->
teardown({Db, _}) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_map_views_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_map_views_tests.erl b/test/couch_mrview_map_views_tests.erl
index 3a19928..229af18 100644
--- a/test/couch_mrview_map_views_tests.erl
+++ b/test/couch_mrview_map_views_tests.erl
@@ -24,7 +24,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/66274de2/test/couch_mrview_red_views_tests.erl
----------------------------------------------------------------------
diff --git a/test/couch_mrview_red_views_tests.erl b/test/couch_mrview_red_views_tests.erl
index 3100785..b836861 100644
--- a/test/couch_mrview_red_views_tests.erl
+++ b/test/couch_mrview_red_views_tests.erl
@@ -24,7 +24,7 @@ setup() ->
teardown(Db) ->
couch_db:close(Db),
- couch_server:delete(Db#db.name, [?ADMIN_CTX]),
+ couch_server:delete(couch_db:name(Db), [?ADMIN_CTX]),
ok.
[06/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Merge branch 'couchdb-2992'
Closes #69
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/49533ef9
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/49533ef9
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/49533ef9
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: 49533ef9d7a536003faabf9640861e0ecf45eb37
Parents: e1d13a9 398c30e
Author: Nick Vatamaniuc <va...@apache.org>
Authored: Wed Mar 15 22:48:49 2017 -0400
Committer: Nick Vatamaniuc <va...@apache.org>
Committed: Wed Mar 15 22:48:49 2017 -0400
----------------------------------------------------------------------
src/couch_mrview_show.erl | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
[08/12] couch-mrview commit: updated
refs/heads/COUCHDB-3288-remove-public-db-record to 66274de
Posted by da...@apache.org.
Merge remote-tracking branch 'cloudant/undef-lacc-list-function'
Project: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/commit/f897fdc2
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/tree/f897fdc2
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/diff/f897fdc2
Branch: refs/heads/COUCHDB-3288-remove-public-db-record
Commit: f897fdc2cab02ac5ed7950cb25c36f2cafb86b38
Parents: 49533ef c01d4c0
Author: Benjamin Bastian <be...@gmail.com>
Authored: Thu Mar 16 10:18:03 2017 -0700
Committer: Benjamin Bastian <be...@gmail.com>
Committed: Thu Mar 16 10:18:03 2017 -0700
----------------------------------------------------------------------
src/couch_mrview_show.erl | 64 +++++++++++++++++++++++++++++++++---------
1 file changed, 50 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/couchdb-couch-mrview/blob/f897fdc2/src/couch_mrview_show.erl
----------------------------------------------------------------------