Mercurial > hg > orthanc-databases
comparison Framework/Odbc/OdbcDatabase.cpp @ 338:79e21c33962d
cppcheck
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 11 Aug 2021 14:09:43 +0200 |
parents | b5fb8b77ce4d |
children | d543832987da |
comparison
equal
deleted
inserted
replaced
337:8f109cfbfc5d | 338:79e21c33962d |
---|---|
68 { | 68 { |
69 std::unique_ptr<IResult> result(Execute(statement, parameters)); | 69 std::unique_ptr<IResult> result(Execute(statement, parameters)); |
70 } | 70 } |
71 | 71 |
72 public: | 72 public: |
73 OdbcImplicitTransaction(OdbcDatabase& db) : | 73 explicit OdbcImplicitTransaction(OdbcDatabase& db) : |
74 db_(db) | 74 db_(db) |
75 { | 75 { |
76 SetAutoCommitTransaction(db_.GetHandle(), true); | 76 SetAutoCommitTransaction(db_.GetHandle(), true); |
77 } | 77 } |
78 | 78 |
121 { | 121 { |
122 const std::string state(reinterpret_cast<const char*>(stateBuf)); | 122 const std::string state(reinterpret_cast<const char*>(stateBuf)); |
123 | 123 |
124 if (state == "40001") | 124 if (state == "40001") |
125 { | 125 { |
126 #if ORTHANC_PLUGINS_VERSION_IS_ABOVE(1, 9, 2) | |
126 throw Orthanc::OrthancException(Orthanc::ErrorCode_DatabaseCannotSerialize); | 127 throw Orthanc::OrthancException(Orthanc::ErrorCode_DatabaseCannotSerialize); |
128 #else | |
129 throw Orthanc::OrthancException(Orthanc::ErrorCode_Database, "Collision between multiple writers"); | |
130 #endif | |
127 } | 131 } |
128 } | 132 } |
129 | 133 |
130 switch (completionType) | 134 switch (completionType) |
131 { | 135 { |
140 } | 144 } |
141 } | 145 } |
142 } | 146 } |
143 | 147 |
144 public: | 148 public: |
145 OdbcExplicitTransaction(OdbcDatabase& db) : | 149 explicit OdbcExplicitTransaction(OdbcDatabase& db) : |
146 db_(db), | 150 db_(db), |
147 isOpen_(true) | 151 isOpen_(true) |
148 { | 152 { |
149 SetAutoCommitTransaction(db_.GetHandle(), false); | 153 SetAutoCommitTransaction(db_.GetHandle(), false); |
150 } | 154 } |
502 | 506 |
503 return false; | 507 return false; |
504 } | 508 } |
505 | 509 |
506 | 510 |
507 void CheckMSSQLEncodings(OdbcDatabase& db) | 511 void CheckMSSQLEncodings(const OdbcDatabase& db) |
508 { | 512 { |
509 // https://en.wikipedia.org/wiki/History_of_Microsoft_SQL_Server | 513 // https://en.wikipedia.org/wiki/History_of_Microsoft_SQL_Server |
510 if (db.GetDbmsMajorVersion() <= 14) | 514 if (db.GetDbmsMajorVersion() <= 14) |
511 { | 515 { |
512 // Microsoft SQL Server up to 2017 | 516 // Microsoft SQL Server up to 2017 |
539 } | 543 } |
540 } | 544 } |
541 } | 545 } |
542 | 546 |
543 | 547 |
544 void CheckMySQLEncodings(OdbcDatabase& db) | 548 void CheckMySQLEncodings(const OdbcDatabase& db) |
545 { | 549 { |
546 // https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-connection-parameters.html | 550 // https://dev.mysql.com/doc/connector-odbc/en/connector-odbc-configuration-connection-parameters.html |
547 | 551 |
548 std::string value; | 552 std::string value; |
549 if (LookupConnectionOption(value, "charset")) | 553 if (LookupConnectionOption(value, "charset")) |