Remove public db record
COUCHDB-3288
diff --git a/src/mango_crud.erl b/src/mango_crud.erl
index 68c9d6c..41a4d14 100644
--- a/src/mango_crud.erl
+++ b/src/mango_crud.erl
@@ -111,7 +111,7 @@
{user_ctx, _} ->
Opts;
false ->
- [{user_ctx, Db#db.user_ctx} | Opts]
+ [{user_ctx, couch_db:get_user_ctx(Db)} | Opts]
end.
diff --git a/src/mango_cursor_text.erl b/src/mango_cursor_text.erl
index a094b55..59e8b48 100644
--- a/src/mango_cursor_text.erl
+++ b/src/mango_cursor_text.erl
@@ -48,7 +48,7 @@
?MANGO_ERROR(multiple_text_indexes)
end,
- Opts = unpack_bookmark(Db#db.name, Opts0),
+ Opts = unpack_bookmark(couch_db:name(Db), Opts0),
DreyfusLimit = get_dreyfus_limit(),
Limit = erlang:min(DreyfusLimit, couch_util:get_value(limit, Opts, mango_opts:default_limit())),
@@ -94,7 +94,7 @@
},
CAcc = #cacc{
selector = Selector,
- dbname = Db#db.name,
+ dbname = couch_db:name(Db),
ddocid = ddocid(Idx),
idx_name = mango_idx:name(Idx),
bookmark = get_bookmark(Opts),
diff --git a/src/mango_httpd.erl b/src/mango_httpd.erl
index a088276..cc6cbd5 100644
--- a/src/mango_httpd.erl
+++ b/src/mango_httpd.erl
@@ -190,7 +190,8 @@
set_user_ctx(#httpd{user_ctx=Ctx}, Db) ->
- Db#db{user_ctx=Ctx}.
+ {ok, NewDb} = couch_db:set_user_ctx(Db, Ctx),
+ NewDb.
get_idx_w_opts(Opts) ->
diff --git a/src/mango_idx.erl b/src/mango_idx.erl
index bc88b97..1c3924a 100644
--- a/src/mango_idx.erl
+++ b/src/mango_idx.erl
@@ -290,12 +290,12 @@
end.
-db_to_name(#db{name=Name}) ->
- Name;
db_to_name(Name) when is_binary(Name) ->
Name;
db_to_name(Name) when is_list(Name) ->
- iolist_to_binary(Name).
+ iolist_to_binary(Name);
+db_to_name(Db) ->
+ couch_db:name(Db).
get_idx_def(Opts) ->
diff --git a/src/mango_idx_text.erl b/src/mango_idx_text.erl
index ad9d2e8..f6120a8 100644
--- a/src/mango_idx_text.erl
+++ b/src/mango_idx_text.erl
@@ -344,8 +344,9 @@
[<<"$default">> | Fields].
-maybe_reject_index_all_req({Def}, #db{name=DbName, user_ctx=Ctx}) ->
- User = Ctx#user_ctx.name,
+maybe_reject_index_all_req({Def}, Db) ->
+ DbName = couch_db:name(Db),
+ #user_ctx{name = User} = couch_db:get_user_ctx(Db),
Fields = couch_util:get_value(fields, Def),
case {Fields, forbid_index_all()} of
{all_fields, "true"} ->
@@ -374,7 +375,9 @@
end),
%default index all def that generates {fields, all_fields}
Index = #idx{def={[]}},
- Db = #db{name = <<"testdb">>, user_ctx=#user_ctx{name = <<"u1">>}},
+ DbName = <<"testdb">>,
+ UserCtx = #user_ctx{name = <<"u1">>},
+ {ok, Db} = couch_db:clustered_db(DbName, UserCtx),
{Index, Db}.