@@ -290,8 +290,10 @@ DBOptions SanitizeOptions(const std::string& dbname, const DBOptions& src) {
290
290
return result;
291
291
}
292
292
293
+ namespace {
294
+
293
295
Status SanitizeDBOptionsByCFOptions (
294
- DBOptions* db_opts,
296
+ const DBOptions* db_opts,
295
297
const std::vector<ColumnFamilyDescriptor>& column_families) {
296
298
Status s;
297
299
for (auto cf : column_families) {
@@ -303,7 +305,6 @@ Status SanitizeDBOptionsByCFOptions(
303
305
return Status::OK ();
304
306
}
305
307
306
- namespace {
307
308
CompressionType GetCompressionFlush (const Options& options) {
308
309
// Compressing memtable flushes might not help unless the sequential load
309
310
// optimization is used for leveled compaction. Otherwise the CPU and
@@ -4802,11 +4803,7 @@ Status DB::Open(const Options& options, const std::string& dbname, DB** dbptr) {
4802
4803
column_families.push_back (
4803
4804
ColumnFamilyDescriptor (kDefaultColumnFamilyName , cf_options));
4804
4805
std::vector<ColumnFamilyHandle*> handles;
4805
- Status s = SanitizeDBOptionsByCFOptions (&db_options, column_families);
4806
- if (!s.ok ()) {
4807
- return s;
4808
- }
4809
- s = DB::Open (db_options, dbname, column_families, &handles, dbptr);
4806
+ Status s = DB::Open (db_options, dbname, column_families, &handles, dbptr);
4810
4807
if (s.ok ()) {
4811
4808
assert (handles.size () == 1 );
4812
4809
// i can delete the handle since DBImpl is always holding a reference to
@@ -4819,6 +4816,10 @@ Status DB::Open(const Options& options, const std::string& dbname, DB** dbptr) {
4819
4816
Status DB::Open (const DBOptions& db_options, const std::string& dbname,
4820
4817
const std::vector<ColumnFamilyDescriptor>& column_families,
4821
4818
std::vector<ColumnFamilyHandle*>* handles, DB** dbptr) {
4819
+ Status s = SanitizeDBOptionsByCFOptions (&db_options, column_families);
4820
+ if (!s.ok ()) {
4821
+ return s;
4822
+ }
4822
4823
if (db_options.db_paths .size () > 1 ) {
4823
4824
for (auto & cfd : column_families) {
4824
4825
if (cfd.options .compaction_style != kCompactionStyleUniversal ) {
@@ -4844,7 +4845,7 @@ Status DB::Open(const DBOptions& db_options, const std::string& dbname,
4844
4845
}
4845
4846
4846
4847
DBImpl* impl = new DBImpl (db_options, dbname);
4847
- Status s = impl->env_ ->CreateDirIfMissing (impl->options_ .wal_dir );
4848
+ s = impl->env_ ->CreateDirIfMissing (impl->options_ .wal_dir );
4848
4849
if (s.ok ()) {
4849
4850
for (auto db_path : impl->options_ .db_paths ) {
4850
4851
s = impl->env_ ->CreateDirIfMissing (db_path.path );
0 commit comments