Mercurial > hg > orthanc-databases
diff Framework/MySQL/MySQLDatabase.cpp @ 234:d1b124d116c1
PostgreSQL index plugin handles retries for collisions between multiple writers
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 08 Apr 2021 10:50:01 +0200 |
parents | a4918d57435c |
children | d1d2edbbe6fb |
line wrap: on
line diff
--- a/Framework/MySQL/MySQLDatabase.cpp Tue Apr 06 15:07:27 2021 +0200 +++ b/Framework/MySQL/MySQLDatabase.cpp Thu Apr 08 10:50:01 2021 +0200 @@ -69,6 +69,10 @@ { throw Orthanc::OrthancException(Orthanc::ErrorCode_DatabaseUnavailable); } + else if (error == ER_LOCK_DEADLOCK) + { + throw Orthanc::OrthancException(Orthanc::ErrorCode_DatabaseCannotSerialize); + } else { throw Orthanc::OrthancException(Orthanc::ErrorCode_Database); @@ -627,6 +631,7 @@ { std::unique_ptr<MySQLDatabase> db(new MySQLDatabase(parameters_)); db->Open(); + db->Execute("SET SESSION TRANSACTION ISOLATION LEVEL SERIALIZABLE", false); return db.release(); }