Main: initialize Database before Storage

This commit is contained in:
Max Kellermann 2014-02-17 22:12:33 +01:00
parent 3af7af0b8f
commit 91729437a0
3 changed files with 14 additions and 19 deletions

View File

@ -172,7 +172,6 @@ glue_db_init_and_load(void)
Error error;
instance->database =
CreateConfiguredDatabase(*instance->event_loop, *instance,
instance->storage != nullptr,
is_simple, error);
if (instance->database == nullptr) {
if (error.IsDefined())
@ -181,6 +180,18 @@ glue_db_init_and_load(void)
return true;
}
if (!InitStorage(error))
FatalError(error);
if (instance->storage == nullptr) {
delete instance->database;
instance->database = nullptr;
LogDefault(config_domain,
"Found database setting without "
"music_directory - disabling database");
return true;
}
if (!instance->database->Open(error))
FatalError(error);
@ -199,10 +210,6 @@ glue_db_init_and_load(void)
static bool
InitDatabaseAndStorage()
{
Error error;
if (!InitStorage(error))
FatalError(error);
const bool create_db = !glue_db_init_and_load();
return create_db;
}

View File

@ -28,7 +28,7 @@
Database *
CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
bool have_storage, bool &is_simple_r, Error &error)
bool &is_simple_r, Error &error)
{
const struct config_param *param = config_get_param(CONF_DATABASE);
const struct config_param *path = config_get_param(CONF_DB_FILE);
@ -40,18 +40,6 @@ CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
return nullptr;
}
if (!have_storage) {
if (param != nullptr)
LogDefault(config_domain,
"Found database setting without "
"music_directory - disabling database");
if (path != nullptr)
LogDefault(config_domain,
"Found db_file setting without "
"music_directory - disabling database");
return nullptr;
}
struct config_param *allocated = nullptr;
if (param == nullptr && path != nullptr) {

View File

@ -34,6 +34,6 @@ class Error;
*/
Database *
CreateConfiguredDatabase(EventLoop &loop, DatabaseListener &listener,
bool have_storage, bool &is_simple_r, Error &error);
bool &is_simple_r, Error &error);
#endif