+// ========================================
+// 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;
+};
+
+inline AbstractSqlMigrationReader *SqliteStorage::createMigrationReader() {
+ return new SqliteMigrationReader();
+}
+