At 11:34 AM 6/11/2002 -0700, Mark Crispin wrote: >On Tue, 11 Jun 2002, Simon Josefsson wrote: > > I need to find all valid UIDs on the server in order to synch the > > local header cache against the server. > >OK, this is the correct reason. > >Now, take it a step further. If, instead of getting a list of valid UIDs >via UID SEARCH ALL, you get the UID/sequence map via FETCH 1:* UID, do you >see that you no longer need the UIDs except to in store your local cache? > >There are a lot of things that you can do using both UIDs and sequence >numbers if you are imaginative. Note, in particular, the very useful >property that UIDs are strictly ascending.
I find it fascinating that I think I know this protocol so well yet I keep gaining new insights. I always thought of FETCH 1:* UID as the way to get a list of UIDs -- probably since that is what most clients I deal with use. But UID SEARCH ALL effectively provides the same information, right? And does so with considerably less information being transferred. Of course the question of which is truly the more efficient could depend on the particular server and its implementation of the two commands.