Mercurial > hg > orthanc
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 } |