changeset 539:12f1c5265081 find-refactoring

integration mainline->find-refactoring
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 09 Sep 2024 12:44:10 +0200
parents a8bf2d6e86ef (current diff) aff02ad9fbbc (diff)
children cd9766f294fa
files Framework/Plugins/DatabaseBackendAdapterV4.cpp Framework/Plugins/IDatabaseBackend.h Framework/Plugins/IndexBackend.cpp Framework/Plugins/IndexBackend.h MySQL/NEWS Odbc/NEWS PostgreSQL/NEWS Resources/Orthanc/Databases/DatabaseConstraint.cpp Resources/Orthanc/Databases/DatabaseConstraint.h Resources/Orthanc/Databases/ISqlLookupFormatter.cpp Resources/Orthanc/Databases/ISqlLookupFormatter.h
diffstat 8 files changed, 9 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/Framework/Plugins/DatabaseBackendAdapterV4.cpp	Mon Sep 09 08:46:34 2024 +0200
+++ b/Framework/Plugins/DatabaseBackendAdapterV4.cpp	Mon Sep 09 12:44:10 2024 +0200
@@ -561,8 +561,6 @@
                                    IndexBackend& backend,
                                    DatabaseManager& manager)
   {
-    Orthanc::DatabaseConstraints lookup;
-
     size_t countValues = 0;
 
     for (int i = 0; i < request.lookup().size(); i++)
@@ -574,6 +572,8 @@
     std::vector<const char*> values;
     values.reserve(countValues);
 
+    Orthanc::DatabaseConstraints lookup;
+
     for (int i = 0; i < request.lookup().size(); i++)
     {
       const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint = request.lookup(i);
--- a/Framework/Plugins/IDatabaseBackend.h	Mon Sep 09 08:46:34 2024 +0200
+++ b/Framework/Plugins/IDatabaseBackend.h	Mon Sep 09 12:44:10 2024 +0200
@@ -293,7 +293,7 @@
 #if ORTHANC_PLUGINS_HAS_DATABASE_CONSTRAINT == 1
     virtual void LookupResources(IDatabaseBackendOutput& output,
                                  DatabaseManager& manager,
-                                 Orthanc::DatabaseConstraints& lookup,
+                                 const Orthanc::DatabaseConstraints& lookup,
                                  OrthancPluginResourceType queryLevel,
                                  const std::set<std::string>& labels,         // New in Orthanc 1.12.0
                                  Orthanc::LabelsConstraint labelsConstraint,  // New in Orthanc 1.12.0
--- a/Framework/Plugins/IndexBackend.cpp	Mon Sep 09 08:46:34 2024 +0200
+++ b/Framework/Plugins/IndexBackend.cpp	Mon Sep 09 12:44:10 2024 +0200
@@ -2244,7 +2244,7 @@
   // New primitive since Orthanc 1.5.2
   void IndexBackend::LookupResources(IDatabaseBackendOutput& output,
                                      DatabaseManager& manager,
-                                     Orthanc::DatabaseConstraints& lookup,
+                                     const Orthanc::DatabaseConstraints& lookup,
                                      OrthancPluginResourceType queryLevel_,
                                      const std::set<std::string>& labels,
                                      Orthanc::LabelsConstraint labelsConstraint,
--- a/Framework/Plugins/IndexBackend.h	Mon Sep 09 08:46:34 2024 +0200
+++ b/Framework/Plugins/IndexBackend.h	Mon Sep 09 12:44:10 2024 +0200
@@ -312,7 +312,7 @@
     // New primitive since Orthanc 1.5.2
     virtual void LookupResources(IDatabaseBackendOutput& output,
                                  DatabaseManager& manager,
-                                 Orthanc::DatabaseConstraints& lookup,
+                                 const Orthanc::DatabaseConstraints& lookup,
                                  OrthancPluginResourceType queryLevel,
                                  const std::set<std::string>& labels,
                                  Orthanc::LabelsConstraint labelsConstraint,
--- a/MySQL/NEWS	Mon Sep 09 08:46:34 2024 +0200
+++ b/MySQL/NEWS	Mon Sep 09 12:44:10 2024 +0200
@@ -3,6 +3,7 @@
 
 * Added support for ExtendedChanges:
   - changes?type=...&to=...
+* Fixed a memory leak when executing non cached SQL statements (rarely used)
 
 
 Release 5.2 (2024-06-06)
--- a/Odbc/NEWS	Mon Sep 09 08:46:34 2024 +0200
+++ b/Odbc/NEWS	Mon Sep 09 12:44:10 2024 +0200
@@ -11,6 +11,7 @@
   - changes?type=...&to=...
 * Fix bug 224, error when using LIMIT with MSSQLServer
   https://orthanc.uclouvain.be/bugs/show_bug.cgi?id=224
+* Fixed a memory leak when executing non cached SQL statements (rarely used)
 
 
 Release 1.2 (2024-03-06)
--- a/PostgreSQL/NEWS	Mon Sep 09 08:46:34 2024 +0200
+++ b/PostgreSQL/NEWS	Mon Sep 09 12:44:10 2024 +0200
@@ -15,6 +15,7 @@
   - merged BEGIN and SET TRANSACTION statements
   - reduced the number of round-trips between Orthanc and the PostgreSQL server:
     - e.g: when receiving an instance in an existing series, reduced the number of SQL queries from 13 to 9
+* Fixed a memory leak when executing non cached SQL statements (rarely used)
 
 
 Release 6.2 (2024-03-25)
--- a/TODO	Mon Sep 09 08:46:34 2024 +0200
+++ b/TODO	Mon Sep 09 12:44:10 2024 +0200
@@ -58,6 +58,7 @@
 
 * MySQL performance => implement GlobalProperty_GetTotalSizeIsFast:
   https://groups.google.com/d/msg/orthanc-users/kSR4a110zDo/D7e4ITR8BwAJ
+  https://discourse.orthanc-server.org/t/when-running-housekeeping-mysqld-exe-searching-and-dicom-transfer-is-slow/4921/9
 
 * Add index to speed up wildcard search, as already done in PostgreSQL: