diff options
Diffstat (limited to 'src/couch/src/couch_bt_engine.erl')
-rw-r--r-- | src/couch/src/couch_bt_engine.erl | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/src/couch/src/couch_bt_engine.erl b/src/couch/src/couch_bt_engine.erl index e0992cf6f..e4596116e 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", "."), |