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)");