diff options
Diffstat (limited to 'src/libraries/qtopiamail/qmailmessagekey.cpp')
| -rw-r--r-- | src/libraries/qtopiamail/qmailmessagekey.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/libraries/qtopiamail/qmailmessagekey.cpp b/src/libraries/qtopiamail/qmailmessagekey.cpp index b9a771a2..6137a5b3 100644 --- a/src/libraries/qtopiamail/qmailmessagekey.cpp +++ b/src/libraries/qtopiamail/qmailmessagekey.cpp @@ -25,7 +25,6 @@ using namespace QMailKey; /*! \class QMailMessageKey - \inpublicgroup QtMessagingModule \preliminary \brief The QMailMessageKey class defines the parameters used for querying a subset of @@ -593,6 +592,14 @@ QMailMessageKey QMailMessageKey::serverUid(const QString &uid, QMailDataComparat */ QMailMessageKey QMailMessageKey::serverUid(const QStringList &uids, QMailDataComparator::InclusionComparator cmp) { +#ifndef USE_ALTERNATE_MAILSTORE_IMPLEMENTATION + if (uids.count() >= IdLookupThreshold) { + // If there are a large number of UIDs, they will be inserted into a temporary table + // with a uniqueness constraint; ensure only unique values are supplied + return QMailMessageKey(uids.toSet().toList(), ServerUid, QMailKey::comparator(cmp)); + } +#endif + return QMailMessageKey(uids, ServerUid, QMailKey::comparator(cmp)); } |
