You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ga...@apache.org on 2018/07/04 14:12:52 UTC

[couchdb] 02/02: Add default props at db creation

This is an automated email from the ASF dual-hosted git repository.

garren pushed a commit to branch user-partitioned-dbs
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 79834c20e8f07d9cf418de9fa2b6d949e6790d67
Author: Garren Smith <ga...@gmail.com>
AuthorDate: Thu Jun 21 16:31:00 2018 +0200

    Add default props at db creation
---
 src/couch/src/couch_bt_engine.erl | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/src/couch/src/couch_bt_engine.erl b/src/couch/src/couch_bt_engine.erl
index e0992cf..e459611 100644
--- a/src/couch/src/couch_bt_engine.erl
+++ b/src/couch/src/couch_bt_engine.erl
@@ -791,17 +791,26 @@ increment_update_seq(#st{header = Header} = St) ->
     }.
 
 
-set_default_security_object(Fd, Header, Compression, Options) ->
-    case couch_bt_engine_header:get(Header, security_ptr) of
+set_default_values(Fd, Header, Compression, Options, PtrName, OptName, DefaultValue) ->
+    case couch_bt_engine_header:get(Header, PtrName) of
         Pointer when is_integer(Pointer) ->
             Header;
-        _ ->
-            Default = couch_util:get_value(default_security_object, Options),
+        Val when Val =:= nil; Val =:= undefined ->
+            Default = couch_util:get_value(OptName, Options, DefaultValue),
             AppendOpts = [{compression, Compression}],
             {ok, Ptr, _} = couch_file:append_term(Fd, Default, AppendOpts),
-            couch_bt_engine_header:set(Header, security_ptr, Ptr)
+            couch_bt_engine_header:set(Header, PtrName, Ptr)
     end.
 
+set_default_security_object(Fd, Header, Compression, Options) ->
+    set_default_values(Fd, Header, Compression, Options,
+        security_ptr, default_security_object, undefined).
+
+
+set_default_props(Fd, Header, Compression, Options) ->
+    set_default_values(Fd, Header, Compression, Options,
+        props_ptr, default_props, []).
+
 
 delete_compaction_files(FilePath) ->
     RootDir = config:get("couchdb", "database_dir", "."),