Mercurial > hg > orthanc-databases
diff Framework/PostgreSQL/PostgreSQLParameters.cpp @ 497:8e6a95629a22
reorganization
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 03 Apr 2024 10:54:26 +0200 |
parents | 4a76aca03774 |
children | 54d518dcd74a |
line wrap: on
line diff
--- a/Framework/PostgreSQL/PostgreSQLParameters.cpp Tue Apr 02 20:21:04 2024 +0200 +++ b/Framework/PostgreSQL/PostgreSQLParameters.cpp Wed Apr 03 10:54:26 2024 +0200 @@ -199,6 +199,36 @@ database_ = database; } + const std::string PostgreSQLParameters::GetReadWriteTransactionStatement() const + { + switch (isolationMode_) + { + case IsolationMode_ReadCommited: + return "SET TRANSACTION ISOLATION LEVEL READ COMMITTED READ WRITE"; + + case IsolationMode_Serializable: + return "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ WRITE"; + + default: + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); + } + } + + const std::string PostgreSQLParameters::GetReadOnlyTransactionStatement() const + { + switch (isolationMode_) + { + case IsolationMode_ReadCommited: + return "SET TRANSACTION ISOLATION LEVEL READ COMMITTED READ ONLY"; + + case IsolationMode_Serializable: + return "SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY"; + + default: + throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); + } + } + void PostgreSQLParameters::Format(std::string& target) const { if (uri_.empty())