diff --git a/database/revisiondaosqlite.cpp b/database/revisiondaosqlite.cpp index e30eeba..61bfad2 100644 --- a/database/revisiondaosqlite.cpp +++ b/database/revisiondaosqlite.cpp @@ -54,9 +54,8 @@ std::vector RevisionDaoSqlite::getAllRevisions(QueryOption &options) try { SqliteQueryOption queryOption { options }; - std::string queryOptionSql = queryOption.setPrependWhere(true).setOrderByColumn("id").build(); - - auto query = *db << "SELECT author, comment, content, strftime('%s',creationtime), (SELECT name FROM page WHERE page.id = page ), revisionid FROM revision " + queryOptionSql; + std::string queryOptionSql = queryOption.setPrependWhere(true).setVisibleColumnName("page.visible").setOrderByColumn("revisionid").build(); + auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), page.name, revisionid FROM revision INNER JOIN page ON revision.page = page.id " + queryOptionSql; query >> [&](std::string author, std::string comment, std::string content, time_t creationtime, std::string page, unsigned int revisionid) { Revision r; @@ -87,9 +86,8 @@ std::vector RevisionDaoSqlite::getAllRevisionsForPage(std::string page try { SqliteQueryOption queryOption { option }; - std::string queryOptionSql = queryOption.setPrependWhere(false).setOrderByColumn("id").build(); - - auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), (SELECT name FROM page WHERE page.id = page ), revisionid FROM revision WHERE page = (SELECT id FROM page WHERE name = ?) " + queryOptionSql << pagename; + std::string queryOptionSql = queryOption.setPrependWhere(false).setVisibleColumnName("page.visible").setOrderByColumn("revisionid").build(); + auto query = *db << "SELECT (SELECT username FROM user WHERE id = author), comment, content, strftime('%s',creationtime), page.name, revisionid FROM revision INNER JOIN page ON revision.page = page.id WHERE page.name = ? AND " + queryOptionSql << pagename; query >> [&](std::string author, std::string comment, std::string content, time_t creationtime, std::string page, unsigned int revisionid) {