summaryrefslogtreecommitdiffstats
path: root/src/libraries/qtopiamail/qmailmessagekey.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libraries/qtopiamail/qmailmessagekey.cpp')
-rw-r--r--src/libraries/qtopiamail/qmailmessagekey.cpp9
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));
}