~ubuntu-branches/ubuntu/saucy/quassel/saucy-proposed

« back to all changes in this revision

Viewing changes to src/core/postgresqlstorage.cpp

  • Committer: Bazaar Package Importer
  • Author(s): Scott Kitterman
  • Date: 2010-02-17 12:49:50 UTC
  • mto: This revision was merged to the branch mainline in revision 59.
  • Revision ID: james.westby@ubuntu.com-20100217124950-v9hajw5d2xa6fszn
Tags: upstream-0.6~beta1
ImportĀ upstreamĀ versionĀ 0.6~beta1

Show diffs side-by-side

added added

removed removed

Lines of Context:
48
48
}
49
49
 
50
50
bool PostgreSqlStorage::isAvailable() const {
 
51
  qDebug() << QSqlDatabase::drivers();
51
52
  if(!QSqlDatabase::isDriverAvailable("QPSQL")) return false;
52
53
  return true;
53
54
}
567
568
  query.bindValue(":useautoidentify", info.useAutoIdentify);
568
569
  query.bindValue(":autoidentifyservice", info.autoIdentifyService);
569
570
  query.bindValue(":autoidentifypassword", info.autoIdentifyPassword);
 
571
  query.bindValue(":usesasl", info.useSasl);
 
572
  query.bindValue(":saslaccount", info.saslAccount);
 
573
  query.bindValue(":saslpassword", info.saslPassword);
570
574
  query.bindValue(":useautoreconnect", info.useAutoReconnect);
571
575
  query.bindValue(":autoreconnectinterval", info.autoReconnectInterval);
572
576
  query.bindValue(":autoreconnectretries", info.autoReconnectRetries);
706
710
    net.autoReconnectRetries = networksQuery.value(13).toInt();
707
711
    net.unlimitedReconnectRetries = networksQuery.value(14).toBool();
708
712
    net.rejoinChannels = networksQuery.value(15).toBool();
 
713
    net.useSasl = networksQuery.value(16).toBool();
 
714
    net.saslAccount = networksQuery.value(17).toString();
 
715
    net.saslPassword = networksQuery.value(18).toString();
709
716
 
710
717
    serversQuery.bindValue(":networkid", net.networkId.toInt());
711
718
    safeExec(serversQuery);
1144
1151
  return lastSeenHash;
1145
1152
}
1146
1153
 
 
1154
void PostgreSqlStorage::setBufferMarkerLineMsg(UserId user, const BufferId &bufferId, const MsgId &msgId) {
 
1155
  QSqlQuery query(logDb());
 
1156
  query.prepare(queryString("update_buffer_markerlinemsgid"));
 
1157
 
 
1158
  query.bindValue(":userid", user.toInt());
 
1159
  query.bindValue(":bufferid", bufferId.toInt());
 
1160
  query.bindValue(":markerlinemsgid", msgId.toInt());
 
1161
  safeExec(query);
 
1162
  watchQuery(query);
 
1163
}
 
1164
 
 
1165
QHash<BufferId, MsgId> PostgreSqlStorage::bufferMarkerLineMsgIds(UserId user) {
 
1166
  QHash<BufferId, MsgId> markerLineHash;
 
1167
 
 
1168
  QSqlDatabase db = logDb();
 
1169
  if(!beginReadOnlyTransaction(db)) {
 
1170
    qWarning() << "PostgreSqlStorage::bufferMarkerLineMsgIds(): cannot start read only transaction!";
 
1171
    qWarning() << " -" << qPrintable(db.lastError().text());
 
1172
    return markerLineHash;
 
1173
  }
 
1174
 
 
1175
  QSqlQuery query(db);
 
1176
  query.prepare(queryString("select_buffer_markerlinemsgids"));
 
1177
  query.bindValue(":userid", user.toInt());
 
1178
  safeExec(query);
 
1179
  if(!watchQuery(query)) {
 
1180
    db.rollback();
 
1181
    return markerLineHash;
 
1182
  }
 
1183
 
 
1184
  while(query.next()) {
 
1185
    markerLineHash[query.value(0).toInt()] = query.value(1).toInt();
 
1186
  }
 
1187
 
 
1188
  db.commit();
 
1189
  return markerLineHash;
 
1190
}
 
1191
 
1147
1192
bool PostgreSqlStorage::logMessage(Message &msg) {
1148
1193
  QSqlDatabase db = logDb();
1149
1194
  if(!db.transaction()) {
1615
1660
  bindValue(19, network.awaymessage);
1616
1661
  bindValue(20, network.attachperform);
1617
1662
  bindValue(21, network.detachperform);
 
1663
  bindValue(22, network.usesasl);
 
1664
  bindValue(23, network.saslaccount);
 
1665
  bindValue(24, network.saslpassword);
1618
1666
  return exec();
1619
1667
}
1620
1668
 
1628
1676
  bindValue(5, buffer.buffercname);
1629
1677
  bindValue(6, (int)buffer.buffertype);
1630
1678
  bindValue(7, buffer.lastseenmsgid);
1631
 
  bindValue(8, buffer.key);
1632
 
  bindValue(9, buffer.joined);
 
1679
  bindValue(8, buffer.markerlinemsgid);
 
1680
  bindValue(9, buffer.key);
 
1681
  bindValue(10, buffer.joined);
1633
1682
  return exec();
1634
1683
}
1635
1684