comparison OrthancServer/DatabaseWrapper.cpp @ 1509:0586ed8897f1

limit and since arguments while retrieving DICOM resources in the REST API
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 10 Aug 2015 10:01:59 +0200
parents f967bdf8534e
children c40fe92a68e7
comparison
equal deleted inserted replaced
1508:86394eb9f5bb 1509:0586ed8897f1
740 { 740 {
741 target.push_back(s.ColumnString(0)); 741 target.push_back(s.ColumnString(0));
742 } 742 }
743 } 743 }
744 744
745 void DatabaseWrapper::GetAllPublicIds(std::list<std::string>& target,
746 ResourceType resourceType,
747 size_t since,
748 size_t limit)
749 {
750 if (limit == 0)
751 {
752 target.clear();
753 return;
754 }
755
756 SQLite::Statement s(db_, SQLITE_FROM_HERE, "SELECT publicId FROM Resources WHERE resourceType=? LIMIT ? OFFSET ?");
757 s.BindInt(0, resourceType);
758 s.BindInt64(1, limit);
759 s.BindInt64(2, since);
760
761 target.clear();
762 while (s.Step())
763 {
764 target.push_back(s.ColumnString(0));
765 }
766 }
767
745 static void UpgradeDatabase(SQLite::Connection& db, 768 static void UpgradeDatabase(SQLite::Connection& db,
746 EmbeddedResources::FileResourceId script) 769 EmbeddedResources::FileResourceId script)
747 { 770 {
748 std::string upgrade; 771 std::string upgrade;
749 EmbeddedResources::GetFileResource(upgrade, script); 772 EmbeddedResources::GetFileResource(upgrade, script);