Mercurial > hg > orthanc
changeset 5669:f690568f0325
Fix C-Find queries not returning computed tags in very specific use-cases
author | Alain Mazy <am@orthanc.team> |
---|---|
date | Fri, 05 Jul 2024 19:18:23 +0200 |
parents | d77292629430 |
children | 56859a7ffa99 e47ac5e133b1 |
files | NEWS OrthancServer/Sources/ServerContext.cpp |
diffstat | 2 files changed, 10 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/NEWS Wed Jul 03 17:50:59 2024 +0200 +++ b/NEWS Fri Jul 05 19:18:23 2024 +0200 @@ -17,6 +17,9 @@ DB plugins that are implementing the UpdateAndGetStatistics function (currently only PostgreSQL). This avoids very long update times in case you don't call /statistics for a long period. +* Fix C-Find queries not returning computed tags like ModalitiesInStudy, NumberOfStudyRelatedSeries, ... + in very specific use-cases. + Version 1.12.4 (2024-06-05)
--- a/OrthancServer/Sources/ServerContext.cpp Wed Jul 03 17:50:59 2024 +0200 +++ b/OrthancServer/Sources/ServerContext.cpp Fri Jul 05 19:18:23 2024 +0200 @@ -2578,7 +2578,13 @@ Toolbox::GetMissingsFromSet(missingTags, requestedTags, retrievedTags); // if all possible tags have been read, no need to get them from DB anymore - if (missingTags.size() == 0 || DicomMap::HasOnlyComputedTags(missingTags)) + if (missingTags.size() > 0 && DicomMap::HasOnlyComputedTags(missingTags)) + { + resource.missingRequestedTags_ = missingTags; + ComputeTags(resource, *this, publicId, level, requestedTags); + return true; + } + else if (missingTags.size() == 0) { expandFlags = static_cast<ExpandResourceFlags>(expandFlags & ~ExpandResourceFlags_IncludeMainDicomTags); }