X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=618d5dd07c9bd7805b3877d1e8c1c65966d7ef1c;hp=d22ab07aa676f43227e6e58cee45f695a6862f09;hb=8961f348947fc55cc4bc769563684af3f2ea7ccc;hpb=cc6e7c08709c4e761e2fd9c2e322751015497003 diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index d22ab07a..618d5dd0 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -20,6 +20,9 @@ #pragma once +#include + +#include #include #include "abstractsqlstorage.h" @@ -139,8 +142,24 @@ protected: QString driverName() override { return "QSQLITE"; } QString databaseName() override { return backlogFile(); } int installedSchemaVersion() override; - bool updateSchemaVersion(int newVersion) override; + bool updateSchemaVersion(int newVersion, bool clearUpgradeStep) override; bool setupSchemaVersion(int version) override; + + /** + * Gets the last successful schema upgrade step, or an empty string if no upgrade is in progress + * + * @return Filename of last successful schema upgrade query, or empty string if not upgrading + */ + QString schemaVersionUpgradeStep() override; + + /** + * Sets the last successful schema upgrade step + * + * @param upgradeQuery The filename of the last successful schema upgrade query + * @return True if successfully set, otherwise false + */ + virtual bool setSchemaVersionUpgradeStep(QString upgradeQuery) override; + bool safeExec(QSqlQuery& query, int retryCount = 0); private: