Github user eiri commented on a diff in the pull request:

    https://github.com/apache/couchdb-couch-mrview/pull/65#discussion_r99881145
  
    --- Diff: 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,
    --- End diff --
    
    @iilyak yes, sure, good Idea. I just didn't want to complicate review more 
than necessary by refactoring and changing code at the same time. I'll do the 
tweak.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to