summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDon Sanders <don.sanders@nokia.com>2011-03-14 19:31:39 +1000
committerDon Sanders <don.sanders@nokia.com>2011-03-14 19:31:39 +1000
commitac896bff8c1d86066a18011610ad9a16178215d0 (patch)
tree6c1f015467748c48e625f37ad74ee8fc03d16609
parentf1bad516ec5d9492d443ac7a371e19dc5ab7ce8f (diff)
Revert "Add the includes QMailMessageKey to QMailThreadKey"2010W10_2
This reverts commit 6ae36f998a513564153ff29fcdc77079035cb79a.
-rw-r--r--src/libraries/qmfclient/qmailstore_p.cpp78
-rw-r--r--src/libraries/qmfclient/qmailthreadkey.cpp21
-rw-r--r--src/libraries/qmfclient/qmailthreadkey.h8
3 files changed, 4 insertions, 103 deletions
diff --git a/src/libraries/qmfclient/qmailstore_p.cpp b/src/libraries/qmfclient/qmailstore_p.cpp
index f4400c59..dfa38683 100644
--- a/src/libraries/qmfclient/qmailstore_p.cpp
+++ b/src/libraries/qmfclient/qmailstore_p.cpp
@@ -112,8 +112,6 @@ class QMailStorePrivate::Key
bool isType(QMailAccountSortKey*) const { return (m_type == AccountSort); }
bool isType(QMailFolderKey*) const { return (m_type == Folder); }
bool isType(QMailFolderSortKey*) const { return (m_type == FolderSort); }
- bool isType(QMailThreadKey*) const { return (m_type == Thread); }
- bool isType(QMailThreadSortKey*) const { return (m_type == ThreadSort); }
bool isType(QMailMessageKey*) const { return (m_type == Message); }
bool isType(QMailMessageSortKey*) const { return (m_type == MessageSort); }
bool isType(QString*) const { return (m_type == Text); }
@@ -124,8 +122,6 @@ class QMailStorePrivate::Key
const QMailFolderSortKey &key(QMailFolderSortKey*) const { return *reinterpret_cast<const QMailFolderSortKey*>(m_key); }
const QMailMessageKey &key(QMailMessageKey*) const { return *reinterpret_cast<const QMailMessageKey*>(m_key); }
const QMailMessageSortKey &key(QMailMessageSortKey*) const { return *reinterpret_cast<const QMailMessageSortKey*>(m_key); }
- const QMailThreadKey &key(QMailThreadKey*) const { return *reinterpret_cast<const QMailThreadKey*>(m_key); }
- const QMailThreadSortKey &key(QMailThreadSortKey*) const { return *reinterpret_cast<const QMailThreadSortKey*>(m_key); }
const QString &key(QString*) const { return *m_alias; }
public:
@@ -524,7 +520,6 @@ static ThreadPropertyMap threadPropertyMap()
map.insert(QMailThreadKey::MessageCount, "messagecount");
map.insert(QMailThreadKey::UnreadCount, "unreadcount");
map.insert(QMailThreadKey::ServerUid, "serveruid");
- map.insert(QMailThreadKey::Includes, "id");
return map;
}
@@ -1473,8 +1468,6 @@ public:
QVariant unreadCount() const { return intValue(); }
QVariantList custom() const { return customValues(); }
-
- QVariantList includes() const { return idValues<QMailMessageKey>(); }
};
template<>
@@ -1503,9 +1496,6 @@ void appendWhereValues<QMailThreadKey::ArgumentType>(const QMailThreadKey::Argum
case QMailThreadKey::Custom:
values += extractor.custom();
break;
-
- case QMailThreadKey::Includes:
- values += extractor.includes();
}
}
@@ -2021,63 +2011,6 @@ QString whereClauseItem<QMailFolderKey>(const QMailFolderKey &, const QMailFolde
return item;
}
-
-template<>
-QString whereClauseItem<QMailThreadKey>(const QMailThreadKey &, const QMailThreadKey::ArgumentType &a, const QString &alias, const QString &field, const QMailStorePrivate &store)
-{
- QString item;
- {
- QTextStream q(&item);
-
- QString columnName;
- if (!field.isEmpty()) {
- columnName = qualifiedName(field, alias);
- } else {
- columnName = fieldName(a.property, alias);
- }
-
- QString expression = columnExpression(columnName, a.op, a.valueList);
-
- switch (a.property)
- {
- case QMailThreadKey::Id:
- if (a.valueList.first().canConvert<QMailThreadKey>()) {
- QMailThreadKey subKey = a.valueList.first().value<QMailThreadKey>();
- QString nestedAlias(incrementAlias(alias));
-
- // Expand comparison to sub-query result
- q << baseExpression(columnName, a.op, true) << "( SELECT " << qualifiedName("id", nestedAlias) << " FROM mailthreads " << nestedAlias;
- q << store.buildWhereClause(QMailStorePrivate::Key(subKey, nestedAlias)) << ")";
- } else {
- q << expression;
- }
- break;
-
- case QMailThreadKey::Includes:
- if(a.valueList.first().canConvert<QMailMessageKey>()) {
- QMailMessageKey messageSubKey = a.valueList.first().value<QMailMessageKey>();
- QString nestedAlias(incrementAlias(alias));
-
- q << baseExpression(columnName, a.op, true) << "( SELECT " << qualifiedName("parentthreadid", nestedAlias) << " FROM mailmessages " << nestedAlias;
- q << store.buildWhereClause(QMailStorePrivate::Key(messageSubKey, nestedAlias)) << ")";
- } else {
- Q_ASSERT(false);
- q << expression;
- }
- break;
-
- case QMailThreadKey::Custom:
- Q_ASSERT(false);
- case QMailThreadKey::ServerUid:
- case QMailThreadKey::MessageCount:
- case QMailThreadKey::UnreadCount:
- q << expression;
- break;
- }
- }
- return item;
-}
-
template<typename KeyType, typename ArgumentListType, typename KeyListType, typename CombineType>
QString buildWhereClause(const KeyType &key,
const ArgumentListType &args,
@@ -3188,9 +3121,6 @@ QString QMailStorePrivate::buildWhereClause(const Key& key, bool nested, bool fi
} else if (key.isType<QMailAccountKey>()) {
const QMailAccountKey &accountKey(key.key<QMailAccountKey>());
return ::buildWhereClause(accountKey, accountKey.arguments(), accountKey.subKeys(), accountKey.combiner(), accountKey.isNegated(), nested, firstClause, key.alias(), key.field(), *this);
- } else if (key.isType<QMailThreadKey>()) {
- const QMailThreadKey &threadKey(key.key<QMailThreadKey>());
- return ::buildWhereClause(threadKey, threadKey.arguments(), threadKey.subKeys(), threadKey.combiner(), threadKey.isNegated(), nested, firstClause, key.alias(), key.field(), *this);
}
return QString();
@@ -6400,7 +6330,7 @@ QMailStorePrivate::AttemptResult QMailStorePrivate::attemptQueryThreads(const QM
QVariantList(),
QList<Key>() << Key(key) << Key(sortKey),
qMakePair(limit, offset),
- "querythreads mailthreadss query"));
+ "queryFolders mailfolders query"));
if (query.lastError().type() != QSqlError::NoError)
return DatabaseFailure;
@@ -8119,15 +8049,13 @@ QSqlQuery QMailStorePrivate::performQuery(const QString& statement, bool batch,
bool firstClause(true);
foreach (const Key &key, keys) {
- if (key.isType<QMailMessageKey>() || key.isType<QMailFolderKey>() || key.isType<QMailAccountKey>() || key.isType<QMailThreadKey>()) {
+ if (key.isType<QMailMessageKey>() || key.isType<QMailFolderKey>() || key.isType<QMailAccountKey>()) {
keyStatements.append(buildWhereClause(key, false, firstClause));
keyValues << whereClauseValues(key);
- } else if (key.isType<QMailMessageSortKey>() || key.isType<QMailFolderSortKey>() || key.isType<QMailAccountSortKey>() || key.isType<QMailThreadSortKey>()) {
+ } else if (key.isType<QMailMessageSortKey>() || key.isType<QMailFolderSortKey>() || key.isType<QMailAccountSortKey>()) {
keyStatements.append(buildOrderClause(key));
} else if (key.isType<QString>()) {
keyStatements.append(key.key<QString>());
- } else {
- Q_ASSERT(false);
}
firstClause = false;
diff --git a/src/libraries/qmfclient/qmailthreadkey.cpp b/src/libraries/qmfclient/qmailthreadkey.cpp
index d0a2d7aa..0bf78a7b 100644
--- a/src/libraries/qmfclient/qmailthreadkey.cpp
+++ b/src/libraries/qmfclient/qmailthreadkey.cpp
@@ -43,7 +43,6 @@
#include "qmailthreadkey_p.h"
#include "qmailaccountkey.h"
-#include "qmailmessagekey.h"
#include <QStringList>
using namespace QMailKey;
@@ -382,23 +381,3 @@ QMailThreadKey QMailThreadKey::serverUid(const QStringList &uids, QMailDataCompa
return QMailThreadKey(uids, ServerUid, QMailKey::comparator(cmp));
}
-
-/*!
- Returns a key matching threads that include a message in \a ids, according to \a cmp.
-*/
-
-QMailThreadKey QMailThreadKey::includes(const QMailMessageIdList &ids, QMailDataComparator::InclusionComparator cmp)
-{
- return QMailThreadKey(ids, QMailThreadKey::Includes, QMailKey::comparator(cmp));
-}
-
-/*!
- Returns a key matching threads that include a message in \a keys, according to \a cmp.
-*/
-
-QMailThreadKey QMailThreadKey::includes(const QMailMessageKey &key, QMailDataComparator::InclusionComparator cmp)
-{
- return QMailThreadKey(Includes, key, QMailKey::comparator(cmp));
-}
-
-
diff --git a/src/libraries/qmfclient/qmailthreadkey.h b/src/libraries/qmfclient/qmailthreadkey.h
index b838e515..7108199d 100644
--- a/src/libraries/qmfclient/qmailthreadkey.h
+++ b/src/libraries/qmfclient/qmailthreadkey.h
@@ -54,7 +54,6 @@
class QMailAccountKey;
class QMailThreadKeyPrivate;
-class QMailMessageKey;
template <typename Key>
class MailKeyImpl;
@@ -68,8 +67,7 @@ public:
ServerUid = (1 << 1),
MessageCount = (1 << 2),
UnreadCount = (1 << 3),
- Custom = (1 << 4),
- Includes = (1 << 5)
+ Custom = (1 << 4)
};
typedef QMailThreadId IdType;
@@ -114,10 +112,6 @@ public:
static QMailThreadKey serverUid(const QString &uid, QMailDataComparator::EqualityComparator cmp = QMailDataComparator::Equal);
static QMailThreadKey serverUid(const QString &uid, QMailDataComparator::InclusionComparator cmp);
static QMailThreadKey serverUid(const QStringList &uids, QMailDataComparator::InclusionComparator cmp = QMailDataComparator::Includes);
-
- static QMailThreadKey includes(const QMailMessageIdList &ids, QMailDataComparator::InclusionComparator cmp = QMailDataComparator::Includes);
- static QMailThreadKey includes(const QMailMessageKey &key, QMailDataComparator::InclusionComparator cmp = QMailDataComparator::Includes);
-
private:
QMailThreadKey(Property p, const QVariant& value, QMailKey::Comparator c);