/***************************************************************************
- * Copyright (C) 2005-2014 by the Quassel Project *
+ * Copyright (C) 2005-2016 by the Quassel Project *
* devel@quassel-irc.org *
* *
* This program is free software; you can redistribute it and/or modify *
/* User handling */
- virtual UserId addUser(const QString &user, const QString &password);
+ virtual UserId addUser(const QString &user, const QString &password, const QString &authenticator = "Database");
virtual bool updateUser(UserId user, const QString &password);
virtual void renameUser(UserId user, const QString &newName);
virtual UserId validateUser(const QString &user, const QString &password);
virtual UserId getUserId(const QString &username);
+ virtual QString getUserAuthenticator(const UserId userid);
virtual UserId internalUser();
virtual void delUser(UserId user);
virtual void setUserSetting(UserId userId, const QString &settingName, const QVariant &data);
virtual bool setupSchemaVersion(int version);
void safeExec(QSqlQuery &query);
+ bool beginTransaction(QSqlDatabase &db);
bool beginReadOnlyTransaction(QSqlDatabase &db);
- QSqlQuery executePreparedQuery(const QString &queryname, const QVariantList ¶ms, const QSqlDatabase &db);
- QSqlQuery executePreparedQuery(const QString &queryname, const QVariant ¶m, const QSqlDatabase &db);
+ QSqlQuery executePreparedQuery(const QString &queryname, const QVariantList ¶ms, QSqlDatabase &db);
+ QSqlQuery executePreparedQuery(const QString &queryname, const QVariant ¶m, QSqlDatabase &db);
void deallocateQuery(const QString &queryname, const QSqlDatabase &db);
inline void savePoint(const QString &handle, const QSqlDatabase &db) { db.exec(QString("SAVEPOINT %1").arg(handle)); }
private:
void bindNetworkInfo(QSqlQuery &query, const NetworkInfo &info);
void bindServerInfo(QSqlQuery &query, const Network::Server &server);
- QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, const QSqlDatabase &db);
- inline QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QSqlDatabase &db) { return prepareAndExecuteQuery(queryname, QString(), db); }
+ QSqlQuery prepareAndExecuteQuery(const QString &queryname, const QString ¶mstring, QSqlDatabase &db);
+ inline QSqlQuery prepareAndExecuteQuery(const QString &queryname, QSqlDatabase &db) { return prepareAndExecuteQuery(queryname, QString(), db); }
QString _hostName;
int _port;
};
-inline void PostgreSqlStorage::safeExec(QSqlQuery &query) { query.exec(); }
-
// ========================================
// PostgreSqlMigration
// ========================================