Mercurial > hg > orthanc-databases
diff Framework/Plugins/IndexBackend.cpp @ 433:5964ce6385a5 pg-transactions
use temporary tables for DeletedFiles, RemainingAncestor and DeletedResources
author | Alain Mazy <am@osimis.io> |
---|---|
date | Wed, 13 Dec 2023 15:48:56 +0100 |
parents | 8b7c1c423367 |
children | f16faa1fdc46 |
line wrap: on
line diff
--- a/Framework/Plugins/IndexBackend.cpp Mon Dec 11 14:39:27 2023 +0100 +++ b/Framework/Plugins/IndexBackend.cpp Wed Dec 13 15:48:56 2023 +0100 @@ -176,6 +176,16 @@ statement.IsDone()); } + void IndexBackend::ClearRemainingAncestor(DatabaseManager& manager) + { + DatabaseManager::CachedStatement statement( + STATEMENT_FROM_HERE, manager, + "DELETE FROM RemainingAncestor"); + + statement.Execute(); + } + + void IndexBackend::ClearDeletedFiles(DatabaseManager& manager) { @@ -433,14 +443,7 @@ { ClearDeletedFiles(manager); ClearDeletedResources(manager); - - { - DatabaseManager::CachedStatement statement( - STATEMENT_FROM_HERE, manager, - "DELETE FROM RemainingAncestor"); - - statement.Execute(); - } + ClearRemainingAncestor(manager); { DatabaseManager::CachedStatement statement( @@ -460,7 +463,6 @@ DatabaseManager::CachedStatement statement( STATEMENT_FROM_HERE, manager, "SELECT * FROM RemainingAncestor"); - statement.Execute(); if (!statement.IsDone()) @@ -470,12 +472,13 @@ static_cast<OrthancPluginResourceType>(statement.ReadInteger32(0))); // There is at most 1 remaining ancestor - //assert((statement.Next(), statement.IsDone())); + assert((statement.Next(), statement.IsDone())); } } - + SignalDeletedFiles(output, manager); SignalDeletedResources(output, manager); + }