diff MySQL/Plugins/MySQLIndex.cpp @ 225:94c9908e6aca

removed DatabaseManager member out of class IndexBackend
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 01 Apr 2021 19:18:19 +0200
parents 73cc85f3d9c1
children a4918d57435c
line wrap: on
line diff
--- a/MySQL/Plugins/MySQLIndex.cpp	Thu Apr 01 16:09:59 2021 +0200
+++ b/MySQL/Plugins/MySQLIndex.cpp	Thu Apr 01 19:18:19 2021 +0200
@@ -269,19 +269,20 @@
 
   MySQLIndex::MySQLIndex(OrthancPluginContext* context,
                          const MySQLParameters& parameters) :
-    IndexBackend(context, new Factory(*this)),
+    IndexBackend(context),
     parameters_(parameters),
     clearAll_(false)
   {
   }
 
 
-  int64_t MySQLIndex::CreateResource(const char* publicId,
+  int64_t MySQLIndex::CreateResource(DatabaseManager& manager,
+                                     const char* publicId,
                                      OrthancPluginResourceType type)
   {
     {
       DatabaseManager::CachedStatement statement(
-        STATEMENT_FROM_HERE, GetManager(),
+        STATEMENT_FROM_HERE, manager,
         "INSERT INTO Resources VALUES(${}, ${type}, ${id}, NULL)");
     
       statement.SetParameterType("id", ValueType_Utf8String);
@@ -296,7 +297,7 @@
 
     {
       DatabaseManager::CachedStatement statement(
-        STATEMENT_FROM_HERE, GetManager(),
+        STATEMENT_FROM_HERE, manager,
         "SELECT LAST_INSERT_ID()");
 
       statement.Execute();
@@ -307,9 +308,10 @@
 
 
   void MySQLIndex::DeleteResource(IDatabaseBackendOutput& output,
+                                  DatabaseManager& manager,
                                   int64_t id)
   {
-    ClearDeletedFiles();
+    ClearDeletedFiles(manager);
 
     // Recursive exploration of resources to be deleted, from the "id"
     // resource to the top of the tree of resources
@@ -322,7 +324,7 @@
       
       {
         DatabaseManager::CachedStatement lookupSiblings(
-          STATEMENT_FROM_HERE, GetManager(),
+          STATEMENT_FROM_HERE, manager,
           "SELECT parentId FROM Resources "
           "WHERE parentId = (SELECT parentId FROM Resources WHERE internalId=${id});");
 
@@ -355,7 +357,7 @@
             done = true;
 
             DatabaseManager::CachedStatement parent(
-              STATEMENT_FROM_HERE, GetManager(),
+              STATEMENT_FROM_HERE, manager,
               "SELECT publicId, resourceType FROM Resources WHERE internalId=${id};");
             
             parent.SetParameterType("id", ValueType_Integer64);
@@ -375,7 +377,7 @@
 
     {
       DatabaseManager::CachedStatement deleteHierarchy(
-        STATEMENT_FROM_HERE, GetManager(),
+        STATEMENT_FROM_HERE, manager,
         "DELETE FROM Resources WHERE internalId IN (SELECT * FROM (SELECT internalId FROM Resources WHERE internalId=${id} OR parentId=${id} OR parentId IN (SELECT internalId FROM Resources WHERE parentId=${id}) OR parentId IN (SELECT internalId FROM Resources WHERE parentId IN (SELECT internalId FROM Resources WHERE parentId=${id}))) as t);");
       
       deleteHierarchy.SetParameterType("id", ValueType_Integer64);
@@ -386,14 +388,14 @@
       deleteHierarchy.Execute(args);
     }
 
-    SignalDeletedFiles(output);
+    SignalDeletedFiles(output, manager);
   }
 
   
-  int64_t MySQLIndex::GetLastChangeIndex()
+  int64_t MySQLIndex::GetLastChangeIndex(DatabaseManager& manager)
   {
     DatabaseManager::CachedStatement statement(
-      STATEMENT_FROM_HERE, GetManager(),
+      STATEMENT_FROM_HERE, manager,
       "SELECT value FROM GlobalIntegers WHERE property = 0");
     
     statement.SetReadOnly(true);
@@ -405,6 +407,7 @@
 
 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
   void MySQLIndex::CreateInstance(OrthancPluginCreateInstanceResult& result,
+                                  DatabaseManager& manager,
                                   const char* hashPatient,
                                   const char* hashStudy,
                                   const char* hashSeries,
@@ -412,7 +415,7 @@
   {
     {
       DatabaseManager::CachedStatement statement(
-        STATEMENT_FROM_HERE, GetManager(),
+        STATEMENT_FROM_HERE, manager,
         "CALL CreateInstance(${patient}, ${study}, ${series}, ${instance}, "
         "@isNewPatient, @isNewStudy, @isNewSeries, @isNewInstance, "
         "@patientKey, @studyKey, @seriesKey, @instanceKey)");
@@ -438,7 +441,7 @@
 
     {
       DatabaseManager::CachedStatement statement(
-        STATEMENT_FROM_HERE, GetManager(),
+        STATEMENT_FROM_HERE, manager,
         "SELECT @isNewPatient, @isNewStudy, @isNewSeries, @isNewInstance, "
         "@patientKey, @studyKey, @seriesKey, @instanceKey");