{page,categorydao}sqlite: Add missing ROLLBACK
This commit is contained in:
parent
c0049fc7b6
commit
8a2d9fdc58
@ -72,6 +72,7 @@ void CategoryDaoSqlite::deleteCategory(std::string name)
|
|||||||
}
|
}
|
||||||
catch(sqlite::sqlite_exception &e)
|
catch(sqlite::sqlite_exception &e)
|
||||||
{
|
{
|
||||||
|
*db << "ROLLBACK";
|
||||||
throwFrom(e);
|
throwFrom(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -105,18 +106,21 @@ std::vector<Page> CategoryDaoSqlite::fetchMembers(std::string name, QueryOption
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
auto query = *db << "SELECT page.id, page.name AS name, page.title, page.lastrevision, page.visible FROM categorymember INNER JOIN page ON page.id = "
|
auto query = *db << "SELECT page.id, page.name AS name, page.title, page.lastrevision, page.visible FROM "
|
||||||
|
"categorymember INNER JOIN page ON page.id = "
|
||||||
"categorymember.page WHERE category = (SELECT id FROM category WHERE name = ? ) AND " +
|
"categorymember.page WHERE category = (SELECT id FROM category WHERE name = ? ) AND " +
|
||||||
queryoptions
|
queryoptions
|
||||||
<< name;
|
<< name;
|
||||||
query >> [&](unsigned int id, std::string name, std::string title, unsigned int lastrevision, bool visible) {
|
query >> [&](unsigned int id, std::string name, std::string title, unsigned int lastrevision, bool visible)
|
||||||
|
{
|
||||||
Page p;
|
Page p;
|
||||||
p.name = name;
|
p.name = name;
|
||||||
p.pageid = id;
|
p.pageid = id;
|
||||||
p.title = title;
|
p.title = title;
|
||||||
p.current_revision = lastrevision;
|
p.current_revision = lastrevision;
|
||||||
p.listed = visible;
|
p.listed = visible;
|
||||||
result.push_back(p); };
|
result.push_back(p);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
catch(const sqlite::exceptions::no_rows &e)
|
catch(const sqlite::exceptions::no_rows &e)
|
||||||
{
|
{
|
||||||
|
@ -109,6 +109,7 @@ void PageDaoSqlite::deletePage(std::string page)
|
|||||||
}
|
}
|
||||||
catch(sqlite::sqlite_exception &e)
|
catch(sqlite::sqlite_exception &e)
|
||||||
{
|
{
|
||||||
|
*db << "ROLLBACK";
|
||||||
throwFrom(e);
|
throwFrom(e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -140,15 +141,17 @@ std::vector<Page> PageDaoSqlite::getPageList(QueryOption option)
|
|||||||
.setPrependWhere(true)
|
.setPrependWhere(true)
|
||||||
.build();
|
.build();
|
||||||
std::string query = "SELECT id, name, title, lastrevision, visible FROM page " + queryOption;
|
std::string query = "SELECT id, name, title, lastrevision, visible FROM page " + queryOption;
|
||||||
*db << query >> [&](unsigned int pageid, std::string name, std::string title,unsigned int current_revision, bool visible ) {
|
*db << query >>
|
||||||
|
[&](unsigned int pageid, std::string name, std::string title, unsigned int current_revision, bool visible)
|
||||||
|
{
|
||||||
Page tmp;
|
Page tmp;
|
||||||
tmp.pageid = pageid;
|
tmp.pageid = pageid;
|
||||||
tmp.name = name;
|
tmp.name = name;
|
||||||
tmp.title = title;
|
tmp.title = title;
|
||||||
tmp.current_revision = current_revision;
|
tmp.current_revision = current_revision;
|
||||||
tmp.listed = visible;
|
tmp.listed = visible;
|
||||||
result.push_back(tmp); };
|
result.push_back(tmp);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
catch(const sqlite::errors::no_rows &e)
|
catch(const sqlite::errors::no_rows &e)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user