Re: [imap5] ERASE command as part of MOVE

Bron Gondwana <brong@fastmail.fm> Sat, 02 June 2012 04:24 UTC

Return-Path: <brong@fastmail.fm>
X-Original-To: imap5@ietfa.amsl.com
Delivered-To: imap5@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id F23A321F8939 for <imap5@ietfa.amsl.com>; Fri, 1 Jun 2012 21:24:10 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.492
X-Spam-Level:
X-Spam-Status: No, score=-3.492 tagged_above=-999 required=5 tests=[AWL=0.107, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id yNdxGibbeBvk for <imap5@ietfa.amsl.com>; Fri, 1 Jun 2012 21:24:10 -0700 (PDT)
Received: from out5-smtp.messagingengine.com (out5-smtp.messagingengine.com [66.111.4.29]) by ietfa.amsl.com (Postfix) with ESMTP id 1E21021F8936 for <imap5@ietf.org>; Fri, 1 Jun 2012 21:24:10 -0700 (PDT)
Received: from compute3.internal (compute3.nyi.mail.srv.osa [10.202.2.43]) by gateway1.nyi.mail.srv.osa (Postfix) with ESMTP id C4B7920D13; Sat, 2 Jun 2012 00:24:09 -0400 (EDT)
Received: from frontend1.nyi.mail.srv.osa ([10.202.2.160]) by compute3.internal (MEProxy); Sat, 02 Jun 2012 00:24:09 -0400
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=fastmail.fm; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=mesmtp; bh=zPBtI9ol4KqE7iMcWvZ36bJE e0o=; b=OCgsXpO1QLnPvooSp/k/l1LqVvp+zkyvole0qc/teZ9lsG3idKwtuNkW 9VcNHZQHqMPHPlrSSDCpYzRHAWxxe97/uy90cyHXPK6KZyxaVGLbZS8dHxHMGlHw nVRSfYr7sWl8wBYahqttkzWBb3+pL/SW8Lkf97F1nFi++vh7+sc=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=date:from:to:cc:subject:message-id :references:mime-version:content-type:in-reply-to; s=smtpout; bh=zPBtI9ol4KqE7iMcWvZ36bJEe0o=; b=HSAMA78v6wRoWdta/UarU9EU3TPz GQjSH/+IZNo3iD2sRfHVoB4vAN/vowf8lUtcf6crvEBQNy4HrFH5C//gGQQRaMMR icvoNrMh03kbS0WRSyZej9udp74EQk5NtY6ZLgv143MJ4HVHnKpTGVsWocIsn1H3 ugNt25hI2GqJsss=
X-Sasl-enc: qaPkHxBXvyY68/I76P5XbsPCXmsUtMJFUnNrYUpbaNNu 1338611049
Received: from localhost (unknown [31.45.20.151]) by mail.messagingengine.com (Postfix) with ESMTPA id 6FA4E8E01B6; Sat, 2 Jun 2012 00:24:09 -0400 (EDT)
Received: by localhost (Postfix, from userid 1000) id EFF5D7E00BD; Sat, 2 Jun 2012 06:24:09 +0200 (CEST)
Date: Sat, 02 Jun 2012 06:24:09 +0200
From: Bron Gondwana <brong@fastmail.fm>
To: Barry Leiba <barryleiba@computer.org>
Message-ID: <20120602042409.GC2654@launde.brong.net>
References: <20120601222311.GB598@launde.brong.net> <CAC4RtVBrM2fY7GGM1s-NRhKMU48NSOMMtkMVqnQ_zbbLnBtM_A@mail.gmail.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Disposition: inline
In-Reply-To: <CAC4RtVBrM2fY7GGM1s-NRhKMU48NSOMMtkMVqnQ_zbbLnBtM_A@mail.gmail.com>
Organization: brong.net
User-Agent: Mutt/1.5.21 (2010-09-15)
Cc: Arnt Gulbrandsen <arnt@gulbrandsen.priv.no>, imap5@ietf.org
Subject: Re: [imap5] ERASE command as part of MOVE
X-BeenThere: imap5@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "Discussion on drastically slimming-down IMAP." <imap5.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/imap5>, <mailto:imap5-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/imap5>
List-Post: <mailto:imap5@ietf.org>
List-Help: <mailto:imap5-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/imap5>, <mailto:imap5-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 02 Jun 2012 04:24:11 -0000

On Fri, Jun 01, 2012 at 09:54:54PM -0400, Barry Leiba wrote:
> As Timo says, you can pipeline the STORE and UID EXPUNGE.  Unless you
> can come up with some reason that an atomic ERASE command would save
> something significant in the message store -- something I can't
> imagine to be the case -- there's nowhere near the use for this as
> there is for MOVE (where it's not just the round trips that are saved,
> because it allows message-store optimization in some cases).

OK, a REAL atomic erase (no intermediate state - guaranteed) gives you
this:

S1: UID MOVE 1:* FolderA
S2: UID MOVE 1:* FolderB

A guarantee that at the end, the messages will be in FolderA OR FolderB,
but not in both.

Bron.