Page: Add 'title' column, storing title of last revision
This commit is contained in:
@ -58,9 +58,9 @@ std::optional<Page> PageDaoSqlite::find(unsigned int id)
|
||||
result.pageid = id;
|
||||
try
|
||||
{
|
||||
auto ps = *db << "SELECT name, lastrevision, visible FROM page WHERE id = ?";
|
||||
auto ps = *db << "SELECT name, title, lastrevision, visible FROM page WHERE id = ?";
|
||||
|
||||
ps << id >> std::tie(result.name, result.current_revision, result.listed);
|
||||
ps << id >> std::tie(result.name, result.title, result.current_revision, result.listed);
|
||||
}
|
||||
catch(const sqlite::errors::no_rows &e)
|
||||
{
|
||||
@ -97,9 +97,10 @@ void PageDaoSqlite::save(const Page &page)
|
||||
{
|
||||
try
|
||||
{
|
||||
*db << "INSERT OR REPLACE INTO page (id, name, lastrevision, visible) VALUES((SELECT id FROM page WHERE name = "
|
||||
"? OR id = ?), ?, ?, ?)"
|
||||
<< page.name << page.pageid << page.name << page.current_revision << page.listed;
|
||||
*db << "INSERT OR REPLACE INTO page (id, name, title, lastrevision, visible) VALUES((SELECT id FROM page WHERE "
|
||||
"name = "
|
||||
"? OR id = ?), ?, ?, ?, ?)"
|
||||
<< page.name << page.pageid << page.name << page.title << page.current_revision << page.listed;
|
||||
}
|
||||
catch(sqlite::sqlite_exception &e)
|
||||
{
|
||||
@ -183,7 +184,8 @@ std::vector<SearchResult> PageDaoSqlite::search(std::string name, QueryOption op
|
||||
auto query =
|
||||
*db << "SELECT page.name FROM search INNER JOIN page ON search.page = page.id WHERE search MATCH ? "
|
||||
<< ftsEscape(name);
|
||||
query >> [&](std::string pagename) {
|
||||
query >> [&](std::string pagename)
|
||||
{
|
||||
SearchResult sresult;
|
||||
sresult.pagename = pagename;
|
||||
sresult.query = name;
|
||||
|
Reference in New Issue
Block a user