comparison OrthancServer/SQLiteDatabaseWrapper.cpp @ 3036:8fd203510d8b db-changes

moving LookupIdentifierQuery to the graveyard
author Sebastien Jodogne <s.jodogne@gmail.com>
date Wed, 19 Dec 2018 16:27:07 +0100
parents 5da6d1063d8f
children 53d583d2c775
comparison
equal deleted inserted replaced
3034:54e422fe31ce 3036:8fd203510d8b
1496 } 1496 }
1497 } 1497 }
1498 1498
1499 1499
1500 void SQLiteDatabaseWrapper::ApplyLookupResources(std::vector<std::string>& resourcesId, 1500 void SQLiteDatabaseWrapper::ApplyLookupResources(std::vector<std::string>& resourcesId,
1501 std::vector<std::string>& instancesId, 1501 std::vector<std::string>* instancesId,
1502 const std::vector<DatabaseConstraint>& lookup, 1502 const std::vector<DatabaseConstraint>& lookup,
1503 ResourceType queryLevel, 1503 ResourceType queryLevel,
1504 size_t limit) 1504 size_t limit)
1505 { 1505 {
1506 for (size_t i = 0; i < lookup.size(); i++)
1507 {
1508 std::cout << i << ": " << lookup[i].GetTag() << " - " << EnumerationToString(lookup[i].GetLevel());
1509 std::cout << std::endl;
1510 }
1511
1506 assert(ResourceType_Patient < ResourceType_Study && 1512 assert(ResourceType_Patient < ResourceType_Study &&
1507 ResourceType_Study < ResourceType_Series && 1513 ResourceType_Study < ResourceType_Series &&
1508 ResourceType_Series < ResourceType_Instance); 1514 ResourceType_Series < ResourceType_Instance);
1509 1515
1510 ResourceType upperLevel = queryLevel; 1516 ResourceType upperLevel = queryLevel;
1582 if (limit != 0) 1588 if (limit != 0)
1583 { 1589 {
1584 sql += " LIMIT " + boost::lexical_cast<std::string>(limit); 1590 sql += " LIMIT " + boost::lexical_cast<std::string>(limit);
1585 } 1591 }
1586 1592
1593 printf("[%s]\n", sql.c_str());
1594
1587 SQLite::Statement s(db_, sql); 1595 SQLite::Statement s(db_, sql);
1588 1596
1589 for (size_t i = 0; i < parameters.size(); i++) 1597 for (size_t i = 0; i < parameters.size(); i++)
1590 { 1598 {
1599 printf(" %lu = '%s'\n", i, parameters[i].c_str());
1591 s.BindString(i, parameters[i]); 1600 s.BindString(i, parameters[i]);
1592 } 1601 }
1593 1602
1594 s.Run(); 1603 s.Run();
1595 } 1604 }
1596 1605
1597 AnswerLookup(resourcesId, instancesId, db_, queryLevel); 1606 if (instancesId != NULL)
1607 {
1608 AnswerLookup(resourcesId, *instancesId, db_, queryLevel);
1609 }
1610 else
1611 {
1612 resourcesId.clear();
1613
1614 SQLite::Statement s(db_, SQLITE_FROM_HERE, "SELECT publicId FROM Lookup");
1615
1616 while (s.Step())
1617 {
1618 resourcesId.push_back(s.ColumnString(0));
1619 }
1620 }
1598 } 1621 }
1599 } 1622 }