Mercurial > hg > orthanc-databases
comparison 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 |
comparison
equal
deleted
inserted
replaced
454:f4244c7e2725 | 455:d0dd95ff0662 |
---|---|
471 parent.ReadString(0), | 471 parent.ReadString(0), |
472 static_cast<OrthancPluginResourceType>(parent.ReadInteger32(1))); | 472 static_cast<OrthancPluginResourceType>(parent.ReadInteger32(1))); |
473 } | 473 } |
474 } | 474 } |
475 | 475 |
476 // { | 476 { |
477 // DatabaseManager::CachedStatement dropTemporaryTable( | 477 DatabaseManager::CachedStatement dropTemporaryTable( |
478 // STATEMENT_FROM_HERE, manager, | 478 STATEMENT_FROM_HERE, manager, |
479 // "DROP TEMPORARY TABLE IF EXISTS DeletedResources"); | 479 "DROP TEMPORARY TABLE IF EXISTS DeletedResources"); |
480 // dropTemporaryTable.Execute(); | 480 dropTemporaryTable.Execute(); |
481 // } | 481 } |
482 | 482 |
483 // { | 483 { |
484 // DatabaseManager::CachedStatement lookupResourcesToDelete( | 484 DatabaseManager::CachedStatement lookupResourcesToDelete( |
485 // STATEMENT_FROM_HERE, manager, | 485 STATEMENT_FROM_HERE, manager, |
486 // "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"); | 486 "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"); |
487 // lookupResourcesToDelete.SetParameterType("id", ValueType_Integer64); | 487 lookupResourcesToDelete.SetParameterType("id", ValueType_Integer64); |
488 | 488 |
489 // Dictionary args; | 489 Dictionary args; |
490 // args.SetIntegerValue("id", id); | 490 args.SetIntegerValue("id", id); |
491 // lookupResourcesToDelete.Execute(args); | 491 lookupResourcesToDelete.Execute(args); |
492 // } | 492 } |
493 | 493 |
494 // { | 494 // { |
495 // DatabaseManager::CachedStatement deleteHierarchy( | 495 // DatabaseManager::CachedStatement deleteHierarchy( |
496 // STATEMENT_FROM_HERE, manager, | 496 // STATEMENT_FROM_HERE, manager, |
497 // "DELETE FROM Resources WHERE internalId IN (SELECT internalId FROM DeletedResources)"); | 497 // "DELETE FROM Resources WHERE internalId IN (SELECT internalId FROM DeletedResources)"); |