comparison Framework/PostgreSQL/PostgreSQLTransaction.cpp @ 469:302f3c2b1c34

merge pg-transactions -> mainline
author Alain Mazy <am@osimis.io>
date Mon, 05 Feb 2024 09:48:11 +0100
parents f0976163dbe1
children 8e6a95629a22
comparison
equal deleted inserted replaced
464:042416783518 469:302f3c2b1c34
68 database_.ExecuteMultiLines("BEGIN"); 68 database_.ExecuteMultiLines("BEGIN");
69 69
70 switch (type) 70 switch (type)
71 { 71 {
72 case TransactionType_ReadWrite: 72 case TransactionType_ReadWrite:
73 database_.ExecuteMultiLines("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ WRITE"); 73 {
74 break; 74 const std::string& statement = database_.GetReadWriteTransactionStatement();
75 if (!statement.empty()) // if not defined, will use the default DB transaction isolation level
76 {
77 database_.ExecuteMultiLines(statement);
78 }
79 }; break;
75 80
76 case TransactionType_ReadOnly: 81 case TransactionType_ReadOnly:
77 database_.ExecuteMultiLines("SET TRANSACTION ISOLATION LEVEL SERIALIZABLE READ ONLY"); 82 {
78 break; 83 const std::string& statement = database_.GetReadOnlyTransactionStatement();
84 if (!statement.empty()) // if not defined, will use the default DB transaction isolation level
85 {
86 database_.ExecuteMultiLines(statement);
87 }
88 }; break;
79 89
80 default: 90 default:
81 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange); 91 throw Orthanc::OrthancException(Orthanc::ErrorCode_ParameterOutOfRange);
82 } 92 }
83 93