MBOX-Line: From mrc+imap at panda.com  Fri Jun 11 09:09:44 2010
To: imap-protocol@u.washington.edu
From: Mark Crispin <mrc+imap@panda.com>
Date: Fri Jun  8 12:34:43 2018
Subject: [Imap-protocol] IMAP MOVE extension
In-Reply-To: <D159C4D6-24D9-4BF8-98EF-E5E1EC26028C@iki.fi>
References: <201006110854.37969.witold.krecicki@firma.o2.pl>
	<201006111115.19660.witold.krecicki@firma.o2.pl>
	<20131949-0279-4455-8FB9-99E4030A6904@iki.fi>
	<201006111437.03613.witold.krecicki@firma.o2.pl>
	<D159C4D6-24D9-4BF8-98EF-E5E1EC26028C@iki.fi>
Message-ID: <alpine.OSX.2.00.1006110859210.662@hsinghsing.panda.com>

On Fri, 11 Jun 2010, Timo Sirainen wrote:
>> And how hard it would be to really implement it in Dovecot?
> Much more difficult than I originally thought.

It is trivial to implement MOVE wrong.  It is very hard to implement it
right.

MOVE really requires a database.

With a maildir type store (such as Timo's server uses) have to do the
hardlink+delete, instead of rename, which loses much of the benefit over
pipelining COPY+UID EXPUNGE.  But you also have to keep the source and
destination locked throughout.

With any sort of store where messages are embedded in larger objects, it's
effectively unimplementable.

-- Mark --

http://panda.com/mrc
Democracy is two wolves and a sheep deciding what to eat for lunch.
Liberty is a well-armed sheep contesting the vote.

