X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fcore%2Fsqlitestorage.h;h=31f18d3e4cbaf87620ee2f5b6496887137ce27ee;hb=d030c159599a22c9023b8f0d34909d3277707f52;hp=902953b981fe0f94b06867a770ae7772b9e558a9;hpb=c1cf157116de7fc3da96203aa6f03c38c7ebb650;p=quassel.git diff --git a/src/core/sqlitestorage.h b/src/core/sqlitestorage.h index 902953b9..31f18d3e 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 * @@ -139,8 +139,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: