Hello guys
I've got problem with my custom implementation of
org.apache.james.mailbox.store.mail.MessageMapper.findInMailbox(). I'd
like to ask you if I understand API correctly here and how should I
implement it.
From Thunderbird I got request
452 UID fetch 16,17:18,20:41,43:45,47,49 (UID RFC822.SIZE BODY.PEEK[])
which is mapped to calls on MessageMapper.findInMailbox()
findInMailbox: TYPE: RANGE UID: 16:18, Full
*findInMailbox: TYPE: FROM UID: 19:-1, Full
findInMailbox: TYPE: RANGE UID: 20:41, Full
*findInMailbox: TYPE: FROM UID: 42:-1, Full
findInMailbox: TYPE: RANGE UID: 43:45, Full
*findInMailbox: TYPE: FROM UID: 46:-1, Full
findInMailbox: TYPE: ONE UID: 47:47, Full
*findInMailbox: TYPE: ONE UID: 48:48, Full
findInMailbox: TYPE: ONE UID: 49:49, Full
what I don't fully understand is why there are those marked(*) calls
with -1 as upper bound and also 48:48 despite the fact that there were
not requested in fetch request? Does -1 here mean infinity or something
else ?
Those marked calls cause me a problem in my implementation. What can I
do about it ? Can I return an empty Iterator from
MessageMapper.findInMailbox() in such situation when upper bound is -1 ?
Is this the only situation when upper bound is -1 ? If not how should I
implement it in order to avoid unnecessary calls to database system ?
Peter