Mercurial > hg > orthanc-databases
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(