diff Resources/Orthanc/Databases/ISqlLookupFormatter.h @ 415:7e123f047771

LookupResources optimization continued
author Alain Mazy <am@osimis.io>
date Thu, 22 Jun 2023 18:07:41 +0200
parents f2d3b5c5a68d
children d700c8f9fc24
line wrap: on
line diff
--- a/Resources/Orthanc/Databases/ISqlLookupFormatter.h	Thu Jun 22 12:15:48 2023 +0200
+++ b/Resources/Orthanc/Databases/ISqlLookupFormatter.h	Thu Jun 22 18:07:41 2023 +0200
@@ -63,6 +63,8 @@
      **/
     virtual bool IsEscapeBrackets() const = 0;
 
+    static void GetLookupLevels(ResourceType& lowerLevel, ResourceType& upperLevel, const ResourceType& queryLevel, const std::vector<DatabaseConstraint>& lookup);
+
     static void Apply(std::string& sql,
                       ISqlLookupFormatter& formatter,
                       const std::vector<DatabaseConstraint>& lookup,
@@ -71,12 +73,12 @@
                       LabelsConstraint labelsConstraint,    // New in Orthanc 1.12.0
                       size_t limit);
 
-    static void ApplyExperimental(std::string& sql,
-                                  ISqlLookupFormatter& formatter,
-                                  const std::vector<DatabaseConstraint>& lookup,
-                                  ResourceType queryLevel,
-                                  const std::set<std::string>& labels,  // New in Orthanc 1.12.0
-                                  LabelsConstraint labelsConstraint,    // New in Orthanc 1.12.0
-                                  size_t limit);
+    static void ApplySingleLevel(std::string& sql,
+                                 ISqlLookupFormatter& formatter,
+                                 const std::vector<DatabaseConstraint>& lookup,
+                                 ResourceType queryLevel,
+                                 const std::set<std::string>& labels,  // New in Orthanc 1.12.0
+                                 LabelsConstraint labelsConstraint,    // New in Orthanc 1.12.0
+                                 size_t limit);
   };
 }