diff options
author | Don Sanders <don.sanders@nokia.com> | 2011-03-14 19:31:39 +1000 |
---|---|---|
committer | Don Sanders <don.sanders@nokia.com> | 2011-03-14 19:31:39 +1000 |
commit | ac896bff8c1d86066a18011610ad9a16178215d0 (patch) | |
tree | 6c1f015467748c48e625f37ad74ee8fc03d16609 | |
parent | f1bad516ec5d9492d443ac7a371e19dc5ab7ce8f (diff) |
Revert "Add the includes QMailMessageKey to QMailThreadKey"2010W10_2
This reverts commit 6ae36f998a513564153ff29fcdc77079035cb79a.
-rw-r--r-- | src/libraries/qmfclient/qmailstore_p.cpp | 78 | ||||
-rw-r--r-- | src/libraries/qmfclient/qmailthreadkey.cpp | 21 | ||||
-rw-r--r-- | src/libraries/qmfclient/qmailthreadkey.h | 8 |
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); |