diff MySQL/Plugins/MySQLIndex.cpp @ 455:d0dd95ff0662 improve-delete

move temp table creation out of the procedure
author Alain Mazy <am@osimis.io>
date Mon, 22 Jan 2024 12:27:42 +0100
parents f4244c7e2725
children a164d8aebe0e
line wrap: on
line diff
--- a/MySQL/Plugins/MySQLIndex.cpp	Mon Jan 22 10:00:28 2024 +0100
+++ b/MySQL/Plugins/MySQLIndex.cpp	Mon Jan 22 12:27:42 2024 +0100
@@ -473,23 +473,23 @@
       }
     }
 
-    // {
-    //   DatabaseManager::CachedStatement dropTemporaryTable(
-    //     STATEMENT_FROM_HERE, manager,
-    //     "DROP TEMPORARY TABLE IF EXISTS DeletedResources");
-    //   dropTemporaryTable.Execute();
-    // }
+    {
+      DatabaseManager::CachedStatement dropTemporaryTable(
+        STATEMENT_FROM_HERE, manager,
+        "DROP TEMPORARY TABLE IF EXISTS DeletedResources");
+      dropTemporaryTable.Execute();
+    }
 
-    // {
-    //   DatabaseManager::CachedStatement lookupResourcesToDelete(
-    //     STATEMENT_FROM_HERE, manager,
-    //     "CREATE TEMPORARY TABLE DeletedResources SELECT * FROM (SELECT internalId, resourceType, publicId 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");
-    //   lookupResourcesToDelete.SetParameterType("id", ValueType_Integer64);
+    {
+      DatabaseManager::CachedStatement lookupResourcesToDelete(
+        STATEMENT_FROM_HERE, manager,
+        "CREATE TEMPORARY TABLE DeletedResources SELECT * FROM (SELECT internalId, resourceType, publicId 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");
+      lookupResourcesToDelete.SetParameterType("id", ValueType_Integer64);
 
-    //   Dictionary args;
-    //   args.SetIntegerValue("id", id);
-    //   lookupResourcesToDelete.Execute(args);
-    // }
+      Dictionary args;
+      args.SetIntegerValue("id", id);
+      lookupResourcesToDelete.Execute(args);
+    }
 
     // {
     //   DatabaseManager::CachedStatement deleteHierarchy(