While looking over Cyrus's excellent review of the MOVE
draft it struck me that MOVE actually has another command
hidden inside its definition.
MOVE is defined as COPY + STORE + "UID EXPUNGE".
But it would be very useful to have the second half of that
available as a separate command in its own right, "ERASE"
(I would say DELETE, but that's already stolen by a different
namespace)
This probably shits the purists as much as anything else.
But I can tell you for sure that the FastMail web interface
does its "Delete Permanently" as:
$Res = $Self->store($Uids, "+flags", "(\\seen \\deleted)")
&& $Self->uidexpunge($Uids)
&& $Self->refresh_count('');
Which is an extra roundtrip to the server and an extra lock and
parse of the mailbox index. If this was implemented as:
$Res = $Self->erase($Uids)
&& $Self->refresh_count('');
It would make everything more efficient. And we wouldn't have to
touch the \Seen flag just in case the intermediate step failed.
So Arnt, does it make sense to either propose both commands as
part of this draft and implement one in terms of the other, or
to do an ERASE first and then a separate MOVE referencing ERASE?
Bron.
_______________________________________________
imap5 mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/imap5