Sqlite: Add change set iterator

Task-number: QDS-2998
Change-Id: I7bfa8af51d9d7e6122902ee132ad51019e20afb5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Marco Bubke
2020-10-27 15:09:25 +01:00
parent 3c7ab41e9e
commit c3873fcf40
8 changed files with 816 additions and 78 deletions

View File

@@ -136,8 +136,8 @@ void Sessions::revert()
for (auto &changeSet : changeSets) {
int resultCode = sqlite3changeset_apply_v2(database.backend().sqliteDatabaseHandle(),
changeSet.size,
changeSet.data,
changeSet.size(),
changeSet.data(),
nullptr,
xConflict,
nullptr,
@@ -160,8 +160,8 @@ void Sessions::apply()
for (auto &changeSet : changeSets) {
int resultCode = sqlite3changeset_apply_v2(database.backend().sqliteDatabaseHandle(),
changeSet.size,
changeSet.data,
changeSet.size(),
changeSet.data(),
nullptr,
xConflict,
nullptr,
@@ -185,4 +185,14 @@ void Sessions::deleteAll()
WriteStatement{Utils::SmallString{"DELETE FROM ", sessionsTableName}, database}.execute();
}
SessionChangeSets Sessions::changeSets() const
{
ReadStatement selectChangeSets{Utils::PathString{"SELECT changeset FROM ",
sessionsTableName,
" ORDER BY id DESC"},
database};
return selectChangeSets.values<SessionChangeSet>(1024);
}
} // namespace Sqlite