X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.cpp;h=96a60d3c8d8eab15e91fd96e80aface21dd03f9c;hp=c37bab432dc459701dee296edaf3e2bd7edbe4d0;hb=5e5714fb2abf8feaf9cc4a27a26e86f2f9c45b30;hpb=aca3263f8f94e0d6640bdf857e71115151b85037 diff --git a/src/core/postgresqlstorage.cpp b/src/core/postgresqlstorage.cpp index c37bab43..96a60d3c 100644 --- a/src/core/postgresqlstorage.cpp +++ b/src/core/postgresqlstorage.cpp @@ -59,6 +59,14 @@ QVariantMap PostgreSqlStorage::setupKeys() const { return map; } +bool PostgreSqlStorage::setup(const QVariantMap &settings) { + bool success = AbstractSqlStorage::setup(settings); + if(success) { + logDb().exec(QString("ALTER USER %1 SET standard_conforming_strings TO on").arg(userName())); + } + return success; +} + void PostgreSqlStorage::setConnectionProperties(const QVariantMap &properties) { _userName = properties["Username"].toString(); _password = properties["Password"].toString(); @@ -1613,3 +1621,23 @@ bool PostgreSqlMigrationWriter::writeMo(const UserSettingMO &userSetting) { bindValue(2, userSetting.settingvalue); return exec(); } + +bool PostgreSqlMigrationWriter::postProcess() { + QSqlDatabase db = logDb(); + QList sequences; + sequences << Sequence("backlog", "messageid") + << Sequence("identity", "identityid") + << Sequence("identity_nick", "nickid") + << Sequence("ircserver", "serverid") + << Sequence("network", "networkid") + << Sequence("quasseluser", "userid") + << Sequence("sender", "senderid"); + QList::const_iterator iter; + for(iter = sequences.constBegin(); iter != sequences.constEnd(); iter++) { + resetQuery(); + newQuery(QString("SELECT setval('%1_%2_seq', max(%2)) FROM %1").arg(iter->table, iter->field), db); + if(!exec()) + return false; + } + return true; +}