X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fpostgresqlstorage.h;h=83b24e228b153d7ee8ca5220d8f5daf6868986b3;hp=4d18d1141ae8dc73ce60a3557a19add89961b4eb;hb=a72e2b4a90ce18c58b54e111161691ba008dc47d;hpb=a702aa44a055274a5cc8363e596c7bf944915613 diff --git a/src/core/postgresqlstorage.h b/src/core/postgresqlstorage.h index 4d18d114..83b24e22 100644 --- a/src/core/postgresqlstorage.h +++ b/src/core/postgresqlstorage.h @@ -92,6 +92,8 @@ public slots: virtual bool mergeBuffersPermanently(const UserId &user, const BufferId &bufferId1, const BufferId &bufferId2); virtual void setBufferLastSeenMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); virtual QHash bufferLastSeenMsgIds(UserId user); + virtual void setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId); + virtual QHash bufferMarkerLineMsgIds(UserId user); /* Message handling */ virtual bool logMessage(Message &msg); @@ -115,10 +117,9 @@ protected: bool beginReadOnlyTransaction(QSqlDatabase &db); - bool prepareQuery(const QString &handle, const QString &query, const QSqlDatabase &db); - QSqlQuery executePreparedQuery(const QString &handle, const QVariantList ¶ms, const QSqlDatabase &db); - QSqlQuery executePreparedQuery(const QString &handle, const QVariant ¶m, const QSqlDatabase &db); - void deallocateQuery(const QString &handle, const QSqlDatabase &db); + QSqlQuery executePreparedQuery(const QString &queryname, const QVariantList ¶ms, const QSqlDatabase &db); + QSqlQuery executePreparedQuery(const QString &queryname, const QVariant ¶m, const 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)); } inline void rollbackSavePoint(const QString &handle, const QSqlDatabase &db) { db.exec(QString("ROLLBACK TO SAVEPOINT %1").arg(handle)); } @@ -127,17 +128,14 @@ protected: 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); } QString _hostName; int _port; QString _databaseName; QString _userName; QString _password; - - typedef QHash QueryHash; - QHash _preparedQueries; // one query hash per db connection - QMutex _queryHashMutex; - }; inline void PostgreSqlStorage::safeExec(QSqlQuery &query) { query.exec(); }