Mercurial > hg > orthanc-databases
comparison Framework/Plugins/DatabaseBackendAdapterV4.cpp @ 538:aff02ad9fbbc
sync
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Mon, 09 Sep 2024 08:59:29 +0200 |
parents | 54d518dcd74a |
children | 12f1c5265081 1a23f1ce3b98 |
comparison
equal
deleted
inserted
replaced
531:7fd40079a8ee | 538:aff02ad9fbbc |
---|---|
542 static void ApplyLookupResources(Orthanc::DatabasePluginMessages::LookupResources_Response& response, | 542 static void ApplyLookupResources(Orthanc::DatabasePluginMessages::LookupResources_Response& response, |
543 const Orthanc::DatabasePluginMessages::LookupResources_Request& request, | 543 const Orthanc::DatabasePluginMessages::LookupResources_Request& request, |
544 IndexBackend& backend, | 544 IndexBackend& backend, |
545 DatabaseManager& manager) | 545 DatabaseManager& manager) |
546 { | 546 { |
547 std::vector<Orthanc::DatabaseConstraint> lookup; | |
548 lookup.reserve(request.lookup().size()); | |
549 | |
550 size_t countValues = 0; | 547 size_t countValues = 0; |
551 | 548 |
552 for (int i = 0; i < request.lookup().size(); i++) | 549 for (int i = 0; i < request.lookup().size(); i++) |
553 { | 550 { |
554 const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint = request.lookup(i); | 551 const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint = request.lookup(i); |
555 countValues += constraint.values().size(); | 552 countValues += constraint.values().size(); |
556 } | 553 } |
557 | 554 |
558 std::vector<const char*> values; | 555 std::vector<const char*> values; |
559 values.reserve(countValues); | 556 values.reserve(countValues); |
557 | |
558 Orthanc::DatabaseConstraints lookup; | |
560 | 559 |
561 for (int i = 0; i < request.lookup().size(); i++) | 560 for (int i = 0; i < request.lookup().size(); i++) |
562 { | 561 { |
563 const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint = request.lookup(i); | 562 const Orthanc::DatabasePluginMessages::DatabaseConstraint& constraint = request.lookup(i); |
564 | 563 |
617 assert(values.size() < countValues); | 616 assert(values.size() < countValues); |
618 values.push_back(constraint.values(j).c_str()); | 617 values.push_back(constraint.values(j).c_str()); |
619 } | 618 } |
620 } | 619 } |
621 | 620 |
622 lookup.push_back(Orthanc::DatabaseConstraint(c)); | 621 lookup.AddConstraint(new Orthanc::DatabaseConstraint(c)); |
623 } | 622 } |
624 | 623 |
625 assert(values.size() == countValues); | 624 assert(values.size() == countValues); |
626 | 625 |
627 std::set<std::string> labels; | 626 std::set<std::string> labels; |