comparison 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
comparison
equal deleted inserted replaced
254:8a4ce70f456a 255:d663d9e44f8d
68 } 68 }
69 } 69 }
70 70
71 71
72 PostgreSQLStorageArea::PostgreSQLStorageArea(const PostgreSQLParameters& parameters, 72 PostgreSQLStorageArea::PostgreSQLStorageArea(const PostgreSQLParameters& parameters,
73 bool clearAll) 73 bool clearAll) :
74 StorageBackend(PostgreSQLDatabase::CreateDatabaseFactory(parameters))
74 { 75 {
75 std::unique_ptr<PostgreSQLDatabase> database(PostgreSQLDatabase::OpenDatabaseConnection(parameters));
76
77 if (database.get() == NULL)
78 { 76 {
79 throw Orthanc::OrthancException(Orthanc::ErrorCode_InternalError); 77 AccessorBase accessor(*this);
78 PostgreSQLDatabase& database = dynamic_cast<PostgreSQLDatabase&>(accessor.GetManager().GetDatabase());
79 ConfigureDatabase(database, parameters, clearAll);
80 } 80 }
81
82 ConfigureDatabase(*database, parameters, clearAll);
83 SetDatabase(database.release());
84 } 81 }
85 } 82 }