Mercurial > hg > orthanc-databases
diff PostgreSQL/Plugins/PostgreSQLStorageArea.cpp @ 255:d663d9e44f8d
reintroduction of IDatabaseFactory into DatabaseManager
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 14 Apr 2021 17:57:08 +0200 |
parents | 35598014f140 |
children | 567761f0c1ea |
line wrap: on
line diff
--- a/PostgreSQL/Plugins/PostgreSQLStorageArea.cpp Wed Apr 14 15:33:57 2021 +0200 +++ b/PostgreSQL/Plugins/PostgreSQLStorageArea.cpp Wed Apr 14 17:57:08 2021 +0200 @@ -70,16 +70,13 @@ PostgreSQLStorageArea::PostgreSQLStorageArea(const PostgreSQLParameters& parameters, - bool clearAll) + bool clearAll) : + StorageBackend(PostgreSQLDatabase::CreateDatabaseFactory(parameters)) { - std::unique_ptr<PostgreSQLDatabase> database(PostgreSQLDatabase::OpenDatabaseConnection(parameters)); - - if (database.get() == NULL) { - throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); + AccessorBase accessor(*this); + PostgreSQLDatabase& database = dynamic_cast<PostgreSQLDatabase&>(accessor.GetManager().GetDatabase()); + ConfigureDatabase(database, parameters, clearAll); } - - ConfigureDatabase(*database, parameters, clearAll); - SetDatabase(database.release()); } }