changeset 6012:caa471247735

SQLite: tools/find is now returning results when e.g, ordering instances against a metadata they don't have
author Alain Mazy <am@orthanc.team>
date Thu, 20 Feb 2025 12:36:22 +0100
parents 6f6888ab5e5c
children 97cfdcdf47e3 78b1934b4ce3
files NEWS OrthancServer/Sources/Search/ISqlLookupFormatter.cpp
diffstat 2 files changed, 4 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/NEWS	Thu Feb 20 11:52:25 2025 +0100
+++ b/NEWS	Thu Feb 20 12:36:22 2025 +0100
@@ -13,7 +13,9 @@
 Maintenance
 -----------
 
-* In the "ExtendedFind" mode, optimized "tools/find" when "StorageAccessMode" is set to "Never".
+* In the "ExtendedFind" mode:
+  - optimized "tools/find" when "StorageAccessMode" is set to "Never".
+  - "tools/find" is now returning results when e.g, ordering instances against a metadata they don't have
 * Fixed interpretation of returnUnsupportedImage in /preview route. 
 * GET /series/../study now also contain LastUpdate field:
   https://discourse.orthanc-server.org/t/lastupdate-coherency/5524
--- a/OrthancServer/Sources/Search/ISqlLookupFormatter.cpp	Thu Feb 20 11:52:25 2025 +0100
+++ b/OrthancServer/Sources/Search/ISqlLookupFormatter.cpp	Thu Feb 20 12:36:22 2025 +0100
@@ -373,7 +373,7 @@
     std::string arg = "order" + boost::lexical_cast<std::string>(index);
 
 
-    target = " INNER JOIN Metadata " + arg + " ON " + arg + ".id = " + FormatLevel(requestLevel) +
+    target = " LEFT JOIN Metadata " + arg + " ON " + arg + ".id = " + FormatLevel(requestLevel) +
              ".internalId AND " + arg + ".type = " +
              boost::lexical_cast<std::string>(metadata);
   }