- bool isValidNetwork(UserId user, const NetworkId &networkId);
- NetworkId getNetworkId(UserId user, const QString &network);
- void createBuffer(UserId user, const NetworkId &networkId, BufferInfo::Type type, const QString &buffer);
+ void bindNetworkInfo(QSqlQuery &query, const NetworkInfo &info);
+ void bindServerInfo(QSqlQuery &query, const Network::Server &server);
+
+ inline void lockForRead() { _dbLock.lockForRead(); }
+ inline void lockForWrite() { _dbLock.lockForWrite(); }
+ inline void unlock() { _dbLock.unlock(); }
+ QReadWriteLock _dbLock;
+ static int _maxRetryCount;
+};
+
+// ========================================
+// SqliteMigration
+// ========================================
+class SqliteMigrationReader : public SqliteStorage, public AbstractSqlMigrationReader {
+ Q_OBJECT
+
+public:
+ SqliteMigrationReader();
+
+ virtual bool readMo(QuasselUserMO &user);
+ virtual bool readMo(SenderMO &sender);
+ virtual bool readMo(IdentityMO &identity);
+ virtual bool readMo(IdentityNickMO &identityNick);
+ virtual bool readMo(NetworkMO &network);
+ virtual bool readMo(BufferMO &buffer);
+ virtual bool readMo(BacklogMO &backlog);
+ virtual bool readMo(IrcServerMO &ircserver);
+ virtual bool readMo(UserSettingMO &userSetting);
+
+ virtual bool prepareQuery(MigrationObject mo);
+
+ inline int stepSize() { return 50000; }
+
+protected:
+ virtual inline bool transaction() { return logDb().transaction(); }
+ virtual inline void rollback() { logDb().rollback(); }
+ virtual inline bool commit() { return logDb().commit(); }
+
+private:
+ void setMaxId(MigrationObject mo);
+ int _maxId;