Mercurial > hg > orthanc-databases
comparison PostgreSQL/Plugins/PostgreSQLIndex.cpp @ 434:23c7af6f671a pg-transactions
DeleteResource does not need the RemainingAncestor table anymore
author | Alain Mazy <am@osimis.io> |
---|---|
date | Wed, 13 Dec 2023 16:52:06 +0100 |
parents | 5964ce6385a5 |
children | 326f8304daa1 |
comparison
equal
deleted
inserted
replaced
433:5964ce6385a5 | 434:23c7af6f671a |
---|---|
537 statement.Execute(); | 537 statement.Execute(); |
538 } | 538 } |
539 | 539 |
540 } | 540 } |
541 | 541 |
542 void PostgreSQLIndex::DeleteResource(IDatabaseBackendOutput& output, | |
543 DatabaseManager& manager, | |
544 int64_t id) | |
545 { | |
546 ClearDeletedFiles(manager); | |
547 ClearDeletedResources(manager); | |
548 | |
549 DatabaseManager::CachedStatement statement( | |
550 STATEMENT_FROM_HERE, manager, | |
551 "SELECT * FROM DeleteResource(${id})"); | |
552 | |
553 statement.SetParameterType("id", ValueType_Integer64); | |
554 | |
555 Dictionary args; | |
556 args.SetIntegerValue("id", id); | |
557 | |
558 statement.Execute(args); | |
559 | |
560 if (statement.IsDone() || | |
561 statement.GetResultFieldsCount() != 2) | |
562 { | |
563 throw Orthanc::OrthancException(Orthanc::ErrorCode_Database); | |
564 } | |
565 | |
566 statement.SetResultFieldType(0, ValueType_Integer64); | |
567 statement.SetResultFieldType(1, ValueType_Utf8String); | |
568 | |
569 if (!statement.IsNull(0)) | |
570 { | |
571 output.SignalRemainingAncestor( | |
572 statement.ReadString(1), | |
573 static_cast<OrthancPluginResourceType>(statement.ReadInteger32(0))); | |
574 } | |
575 | |
576 SignalDeletedFiles(output, manager); | |
577 SignalDeletedResources(output, manager); | |
578 | |
579 } | |
580 | |
542 | 581 |
543 | 582 |
544 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 | 583 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1 |
545 void PostgreSQLIndex::CreateInstance(OrthancPluginCreateInstanceResult& result, | 584 void PostgreSQLIndex::CreateInstance(OrthancPluginCreateInstanceResult& result, |
546 DatabaseManager& manager, | 585 DatabaseManager& manager, |