X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=618d5dd07c9bd7805b3877d1e8c1c65966d7ef1c;hp=902953b981fe0f94b06867a770ae7772b9e558a9;hb=8961f348947fc55cc4bc769563684af3f2ea7ccc;hpb=c1cf157116de7fc3da96203aa6f03c38c7ebb650 diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index 902953b9..618d5dd0 100644 --- a/src/core/sqlitestorage.h +++ b/src/core/sqlitestorage.h @@ -1,5 +1,5 @@ /*************************************************************************** - * Copyright (C) 2005-2018 by the Quassel Project * + * Copyright (C) 2005-2019 by the Quassel Project * * devel@quassel-irc.org * * * * This program is free software; you can redistribute it and/or modify * @@ -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: