diff OrthancServer/IDatabaseWrapper.h @ 3025:039a9d262d64 db-changes

preparing to speed up find in databases
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 17 Dec 2018 17:05:28 +0100
parents d207f6ac1f86
children fd587cf51a89
line wrap: on
line diff
--- a/OrthancServer/IDatabaseWrapper.h	Mon Dec 17 10:26:01 2018 +0100
+++ b/OrthancServer/IDatabaseWrapper.h	Mon Dec 17 17:05:28 2018 +0100
@@ -34,11 +34,13 @@
 #pragma once
 
 #include "../Core/DicomFormat/DicomMap.h"
-#include "../Core/SQLite/ITransaction.h"
+#include "../Core/FileStorage/FileInfo.h"
 #include "../Core/FileStorage/IStorageArea.h"
-#include "../Core/FileStorage/FileInfo.h"
+#include "../Core/SQLite/ITransaction.h"
+
+#include "ExportedResource.h"
 #include "IDatabaseListener.h"
-#include "ExportedResource.h"
+#include "Search/DatabaseLookup.h"
 
 #include <list>
 #include <boost/noncopyable.hpp>
@@ -223,5 +225,18 @@
                          IStorageArea& storageArea) = 0;
 
     virtual bool IsDiskSizeAbove(uint64_t threshold) = 0;
+
+    virtual void FindOneChildInstance(std::vector<std::string>& instancesId,
+                                      const std::vector<std::string>& resourcesId,
+                                      ResourceType level) = 0;
+
+    virtual void ApplyLookupPatients(std::vector<std::string>& patientsId,
+                                     const DatabaseLookup& lookup,
+                                     size_t limit) = 0;
+
+    virtual void ApplyLookupResources(std::vector<std::string>& resourcesId,
+                                      const DatabaseLookup& lookup,
+                                      ResourceType queryLevel,
+                                      size_t limit) = 0;
   };
 }