summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2018-10-25 16:09:38 -0500
committerPaul J. Davis <paul.joseph.davis@gmail.com>2019-01-08 11:33:34 -0600
commit5f6a008377d5679b51c4cea2713550214a41b2ce (patch)
tree0b7403abbad800ff2949d84c37615ca5b0a2b91b
parent352bc802d3ed8260ea25a8a7d9fac28af35ef158 (diff)
downloadcouchdb-5f6a008377d5679b51c4cea2713550214a41b2ce.tar.gz
Improve `couch_db:clustered_db` flexibility
This allows for setting any combintaion of supported settings using a proplist appraoch.
-rw-r--r--src/couch/src/couch_db.erl17
1 files changed, 14 insertions, 3 deletions
diff --git a/src/couch/src/couch_db.erl b/src/couch/src/couch_db.erl
index 9bc0f9263..2b4f21aec 100644
--- a/src/couch/src/couch_db.erl
+++ b/src/couch/src/couch_db.erl
@@ -185,11 +185,22 @@ reopen(#db{} = Db) ->
incref(#db{} = Db) ->
couch_db_engine:incref(Db).
-clustered_db(DbName, UserCtx) ->
- clustered_db(DbName, UserCtx, []).
+clustered_db(DbName, Options) when is_list(Options) ->
+ UserCtx = couch_util:get_value(user_ctx, Options, #user_ctx{}),
+ SecProps = couch_util:get_value(security, Options, []),
+ Props = couch_util:get_value(props, Options, []),
+ {ok, #db{
+ name = DbName,
+ user_ctx = UserCtx,
+ security = SecProps,
+ options = [{props, Props}]
+ }};
+
+clustered_db(DbName, #user_ctx{} = UserCtx) ->
+ clustered_db(DbName, [{user_ctx, UserCtx}]).
clustered_db(DbName, UserCtx, SecProps) ->
- {ok, #db{name = DbName, user_ctx = UserCtx, security = SecProps}}.
+ clustered_db(DbName, [{user_ctx, UserCtx}, {security, SecProps}]).
is_db(#db{}) ->
true;