Add a break to setOption() switch statement. Better detection of missing options (and logging for present options).

This commit is contained in:
A.J. Beamon 2019-07-02 15:42:53 -07:00
parent c9ed860277
commit 6b6012ee7b
3 changed files with 13 additions and 5 deletions

View File

@ -665,10 +665,7 @@ void MultiVersionDatabase::setOption(FDBDatabaseOptions::Option option, Optional
MutexHolder holder(dbState->optionLock);
auto itr = FDBDatabaseOptions::optionInfo.find(option);
if(itr != FDBDatabaseOptions::optionInfo.end()) {
TraceEvent("SetDatabaseOption").detail("Option", itr->second.name);
}
else {
if(itr == FDBDatabaseOptions::optionInfo.end()) {
TraceEvent("UnknownDatabaseOption").detail("Option", option);
throw invalid_option();
}

View File

@ -779,7 +779,9 @@ void DatabaseContext::setOption( FDBDatabaseOptions::Option option, Optional<Str
validateOptionValue(value, false);
snapshotRywEnabled--;
break;
}
default:
break;
}
}
}

View File

@ -51,6 +51,15 @@ Reference<ITransaction> ThreadSafeDatabase::createTransaction() {
}
void ThreadSafeDatabase::setOption( FDBDatabaseOptions::Option option, Optional<StringRef> value) {
auto itr = FDBDatabaseOptions::optionInfo.find(option);
if(itr != FDBDatabaseOptions::optionInfo.end()) {
TraceEvent("SetDatabaseOption").detail("Option", itr->second.name);
}
else {
TraceEvent("UnknownDatabaseOption").detail("Option", option);
throw invalid_option();
}
DatabaseContext *db = this->db;
Standalone<Optional<StringRef>> passValue = value;