comparison OrthancServer/Sources/ServerContext.cpp @ 5688:d0a264b803f1 find-refactoring

first implementation of database paging
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 09 Jul 2024 15:36:28 +0200
parents 11575590e493
children 708952bd869c
comparison
equal deleted inserted replaced
5686:11575590e493 5688:d0a264b803f1
1537 const std::set<std::string>& labels, 1537 const std::set<std::string>& labels,
1538 LabelsConstraint labelsConstraint, 1538 LabelsConstraint labelsConstraint,
1539 size_t since, 1539 size_t since,
1540 size_t limit) 1540 size_t limit)
1541 { 1541 {
1542 unsigned int databaseLimit = (queryLevel == ResourceType_Instance ? 1542 const uint64_t databaseLimit = GetDatabaseLimits(queryLevel);
1543 limitFindInstances_ : limitFindResults_);
1544 1543
1545 std::vector<std::string> resources, instances; 1544 std::vector<std::string> resources, instances;
1546 const DicomTagConstraint* dicomModalitiesConstraint = NULL; 1545 const DicomTagConstraint* dicomModalitiesConstraint = NULL;
1547 1546
1548 bool hasModalitiesInStudyLookup = (queryLevel == ResourceType_Study && 1547 bool hasModalitiesInStudyLookup = (queryLevel == ResourceType_Study &&
1562 /** 1561 /**
1563 * EXPERIMENTAL VERSION 1562 * EXPERIMENTAL VERSION
1564 **/ 1563 **/
1565 1564
1566 ResourceFinder finder(queryLevel, false /* TODO-FIND: don't expand for now */); 1565 ResourceFinder finder(queryLevel, false /* TODO-FIND: don't expand for now */);
1566 finder.SetDatabaseLimits(databaseLimit);
1567 1567
1568 if (databaseLimit != 0) 1568 if (databaseLimit != 0)
1569 { 1569 {
1570 finder.SetLimits(0, databaseLimit + 1); 1570 finder.SetLimits(0, databaseLimit + 1);
1571 } 1571 }