Mercurial > hg > orthanc-databases
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 } |