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;