diff options
author | Dan Pasette <dan@10gen.com> | 2013-03-21 14:46:04 -0400 |
---|---|---|
committer | Dan Pasette <dan@10gen.com> | 2013-03-21 14:46:04 -0400 |
commit | 2802b46fde6d3c20f738df0a233ebd0f0f5f8083 (patch) | |
tree | 3cf74507d79d83e8018dec8a7c4f256ee30d9698 | |
parent | 8ea5dd424949d66d0859a45e9b5bc0889fb0ca30 (diff) | |
download | mongo-2802b46fde6d3c20f738df0a233ebd0f0f5f8083.tar.gz |
SERVER-7817 Display chainingAllowed option when set to false
-rw-r--r-- | src/mongo/db/repl/rs_config.cpp | 41 |
1 files changed, 24 insertions, 17 deletions
diff --git a/src/mongo/db/repl/rs_config.cpp b/src/mongo/db/repl/rs_config.cpp index 27e54cd5dae..0c65e8c12f7 100644 --- a/src/mongo/db/repl/rs_config.cpp +++ b/src/mongo/db/repl/rs_config.cpp @@ -114,27 +114,34 @@ namespace mongo { a.append( members[i].asBson() ); b.append("members", a.arr()); - if( !ho.isDefault() || !getLastErrorDefaults.isEmpty() || !rules.empty()) { - bob settings; - if( !rules.empty() ) { - bob modes; - for (map<string,TagRule*>::const_iterator it = rules.begin(); it != rules.end(); it++) { - bob clauses; - vector<TagClause*> r = (*it).second->clauses; - for (vector<TagClause*>::iterator it2 = r.begin(); it2 < r.end(); it2++) { - clauses << (*it2)->name << (*it2)->target; - } - modes << (*it).first << clauses.obj(); + BSONObjBuilder settings; + bool empty = true; + + if (!rules.empty()) { + bob modes; + for (map<string,TagRule*>::const_iterator it = rules.begin(); it != rules.end(); it++) { + bob clauses; + vector<TagClause*> r = (*it).second->clauses; + for (vector<TagClause*>::iterator it2 = r.begin(); it2 < r.end(); it2++) { + clauses << (*it2)->name << (*it2)->target; } - settings << "getLastErrorModes" << modes.obj(); + modes << (*it).first << clauses.obj(); } - if( !getLastErrorDefaults.isEmpty() ) - settings << "getLastErrorDefaults" << getLastErrorDefaults; + settings << "getLastErrorModes" << modes.obj(); + empty = false; + } - if (!_chainingAllowed) { - settings << "chainingAllowed" << _chainingAllowed; - } + if (!getLastErrorDefaults.isEmpty()) { + settings << "getLastErrorDefaults" << getLastErrorDefaults; + empty = false; + } + + if (!_chainingAllowed) { + settings << "chainingAllowed" << _chainingAllowed; + empty = false; + } + if (!empty) { b << "settings" << settings.obj(); } |