Mercurial > hg > orthanc
comparison OrthancServer/Sources/Database/StatelessDatabaseOperations.cpp @ 5783:56352ae88120 find-refactoring
wip: new ReadOnly configuration
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Mon, 16 Sep 2024 18:31:37 +0200 |
parents | de33982a0bf4 |
children | 9990b4140c1c |
comparison
equal
deleted
inserted
replaced
5782:f1ccb67fce31 | 5783:56352ae88120 |
---|---|
479 transaction.Commit(); | 479 transaction.Commit(); |
480 } | 480 } |
481 else | 481 else |
482 { | 482 { |
483 assert(writeOperations != NULL); | 483 assert(writeOperations != NULL); |
484 if (readOnly_) | |
485 { | |
486 throw OrthancException(ErrorCode_ReadOnly, "The DB is trying to execute a ReadWrite transaction while Orthanc has been started in ReadOnly mode."); | |
487 } | |
484 | 488 |
485 Transaction transaction(db_, *factory_, TransactionType_ReadWrite); | 489 Transaction transaction(db_, *factory_, TransactionType_ReadWrite); |
486 { | 490 { |
487 ReadWriteTransaction t(transaction.GetDatabaseTransaction(), transaction.GetContext()); | 491 ReadWriteTransaction t(transaction.GetDatabaseTransaction(), transaction.GetContext()); |
488 writeOperations->Apply(t); | 492 writeOperations->Apply(t); |
516 } | 520 } |
517 } | 521 } |
518 } | 522 } |
519 | 523 |
520 | 524 |
521 StatelessDatabaseOperations::StatelessDatabaseOperations(IDatabaseWrapper& db) : | 525 StatelessDatabaseOperations::StatelessDatabaseOperations(IDatabaseWrapper& db, bool readOnly) : |
522 db_(db), | 526 db_(db), |
523 mainDicomTagsRegistry_(new MainDicomTagsRegistry), | 527 mainDicomTagsRegistry_(new MainDicomTagsRegistry), |
524 maxRetries_(0) | 528 maxRetries_(0), |
529 readOnly_(readOnly) | |
525 { | 530 { |
526 } | 531 } |
527 | 532 |
528 | 533 |
529 void StatelessDatabaseOperations::FlushToDisk() | 534 void StatelessDatabaseOperations::FlushToDisk() |