Re: DatabaseModifiedErrors causing troubles
authorGaute Hope <eg@gaute.vetsj.com>
Sat, 17 Jan 2015 15:12:05 +0000 (15:12 +0000)
committerW. Trevor King <wking@tremily.us>
Sat, 20 Aug 2016 21:47:28 +0000 (14:47 -0700)
e6/62a9e3fa0f715cdb76f3fd599d2beac383988a [new file with mode: 0644]

diff --git a/e6/62a9e3fa0f715cdb76f3fd599d2beac383988a b/e6/62a9e3fa0f715cdb76f3fd599d2beac383988a
new file mode 100644 (file)
index 0000000..1b8f503
--- /dev/null
@@ -0,0 +1,117 @@
+Return-Path: <eg@gaute.vetsj.com>\r
+X-Original-To: notmuch@notmuchmail.org\r
+Delivered-To: notmuch@notmuchmail.org\r
+Received: from localhost (localhost [127.0.0.1])\r
+       by olra.theworths.org (Postfix) with ESMTP id 07952431FC2\r
+       for <notmuch@notmuchmail.org>; Sat, 17 Jan 2015 07:11:14 -0800 (PST)\r
+X-Virus-Scanned: Debian amavisd-new at olra.theworths.org\r
+X-Spam-Flag: NO\r
+X-Spam-Score: 1.738\r
+X-Spam-Level: *\r
+X-Spam-Status: No, score=1.738 tagged_above=-999 required=5\r
+       tests=[DNS_FROM_AHBL_RHSBL=2.438, RCVD_IN_DNSWL_LOW=-0.7]\r
+       autolearn=disabled\r
+Received: from olra.theworths.org ([127.0.0.1])\r
+       by localhost (olra.theworths.org [127.0.0.1]) (amavisd-new, port 10024)\r
+       with ESMTP id G5hGtFTheALN for <notmuch@notmuchmail.org>;\r
+       Sat, 17 Jan 2015 07:11:10 -0800 (PST)\r
+Received: from mail-lb0-f178.google.com (mail-lb0-f178.google.com\r
+       [209.85.217.178]) (using TLSv1 with cipher RC4-SHA (128/128 bits))\r
+       (No client certificate requested)\r
+       by olra.theworths.org (Postfix) with ESMTPS id 82288431FAF\r
+       for <notmuch@notmuchmail.org>; Sat, 17 Jan 2015 07:11:10 -0800 (PST)\r
+Received: by mail-lb0-f178.google.com with SMTP id u14so22486330lbd.9\r
+       for <notmuch@notmuchmail.org>; Sat, 17 Jan 2015 07:11:09 -0800 (PST)\r
+X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;\r
+       d=1e100.net; s=20130820;\r
+       h=x-gm-message-state:date:from:subject:to:references:in-reply-to\r
+       :user-agent:message-id:mime-version:content-type\r
+       :content-transfer-encoding;\r
+       bh=DK+6mZO+/S86WYzsq0MAvJ4SphbYzqXWQVHz6n9iBCk=;\r
+       b=WIk3yRbQITq3ZPeU51DhXMDAif8598kkOMAKu/Ai58bugYb8yPBKuWCSw1LMfFW6xv\r
+       /MA3m8InGlkR/OwQNuhfwjR9wofF6g2nbaPcQadXUqEAsvYAOD02Ub9sal23g3E2Lai0\r
+       gko7xcCoBbElqfWwfukgLZJIG3zl3XW5cC7bH/zV3YsJYDG0Bx7noz4EHZKWz6tdagmx\r
+       Z/CE5T7Y8pF0tWqiZxr2dTRGumGxkeO2jU0wP2QFj7T1/D1xJ7/FBHx8NFu42Z5/rQL3\r
+       AeOwOnw8ZrJK7XglvwkcpSRBORypF6wQ9manuvKO1IWXi43r7Y78vL5k3akmAHuPa6n9\r
+       yZyQ==\r
+X-Gm-Message-State:\r
+ ALoCoQlygMM8yAtHloUYekN7vapZzJdT7yzxJfK8yNpZChQ7m/l210xCUfltLO87GOoTfmOqu7nU\r
+X-Received: by 10.152.26.201 with SMTP id n9mr21216383lag.50.1421507469122;\r
+       Sat, 17 Jan 2015 07:11:09 -0800 (PST)\r
+Received: from localhost (c2774BF51.dhcp.as2116.net. [81.191.116.39])\r
+       by mx.google.com with ESMTPSA id y11sm815150lba.5.2015.01.17.07.11.06\r
+       (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\r
+       Sat, 17 Jan 2015 07:11:07 -0800 (PST)\r
+Date: Sat, 17 Jan 2015 15:12:05 +0000\r
+From: Gaute Hope <eg@gaute.vetsj.com>\r
+Subject: Re: DatabaseModifiedErrors causing troubles\r
+To: David Bremner <david@tethera.net>, notmuch <notmuch@notmuchmail.org>\r
+References:\r
+ <CABKe4MvEdcsq8BZ-vq6R0Vnw87zEgBvqW_2F-Wysf5GNchqweg@mail.gmail.com>\r
+       <87bnmkgr57.fsf@maritornes.cs.unb.ca>\r
+       <1421493070-astroid-1-4x8pflg7mc-1327@strange>\r
+       <87fvb9bnf8.fsf@maritornes.cs.unb.ca>\r
+In-Reply-To: <87fvb9bnf8.fsf@maritornes.cs.unb.ca>\r
+User-Agent: astroid/vv0.1-42-ge9d4344b (https://github.com/gauteh/astroid)\r
+Message-Id: <1421507092-astroid-4-sde37j1ij5-1327@strange>\r
+MIME-Version: 1.0\r
+Content-Type: text/plain; charset=utf-8; format=flowed\r
+Content-Transfer-Encoding: quoted-printable\r
+X-BeenThere: notmuch@notmuchmail.org\r
+X-Mailman-Version: 2.1.13\r
+Precedence: list\r
+List-Id: "Use and development of the notmuch mail system."\r
+       <notmuch.notmuchmail.org>\r
+List-Unsubscribe: <http://notmuchmail.org/mailman/options/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=unsubscribe>\r
+List-Archive: <http://notmuchmail.org/pipermail/notmuch>\r
+List-Post: <mailto:notmuch@notmuchmail.org>\r
+List-Help: <mailto:notmuch-request@notmuchmail.org?subject=help>\r
+List-Subscribe: <http://notmuchmail.org/mailman/listinfo/notmuch>,\r
+       <mailto:notmuch-request@notmuchmail.org?subject=subscribe>\r
+X-List-Received-Date: Sat, 17 Jan 2015 15:11:14 -0000\r
+\r
+Excerpts from David Bremner's message of January 17, 2015 13:29:\r
+> Gaute Hope <eg@gaute.vetsj.com> writes:\r
+>\r
+>>\r
+>> Hi David,\r
+>>\r
+>> Would it be possible with an error code that I could compare against in\r
+>> stead? It would then work a bit like a global instance of the gmime\r
+>> error. It could even be a preparation step against a gmime-error-style\r
+>> solution in the far future.\r
+>>\r
+>> I am sure you know all the bad reasons for using a strcmp with strings\r
+>> such as small (subtle) changes making them useless or future\r
+>> localization of notmuch. This solution is in my opinion worse than the\r
+>> current situation, it will lock things in and create problems for future\r
+>> API compatability and application maintainers. I would rather wait for\r
+>> or spend some time on a more general solution.\r
+>\r
+> I don't agree it's worse than the current situation but I take your\r
+> point it isn't ideal.  We could do some kind "errno" in the database\r
+> structure.  I think there are not that many functions with this\r
+> unhelpful error return type. Based on a scan of notmuch.h, I see\r
+>\r
+> notmuch_query_search_threads\r
+> notmuch_query_search_messages\r
+>\r
+> and the two count functions that I already posted API breaking patches\r
+> for.  It might be better just to update the API (either adding versions\r
+> with error returns, or just forcing people to change) for these\r
+> functions.  Otherwise we have two different ways of returning status\r
+> codes, and the "errno" is only used some of the time.\r
+\r
+Yeah - a consistent way of doing this would in my opinion be very\r
+useful. Also, many other functions could be affected by outside\r
+processes as well (notmuch new, notmuch tag) that do not necessarily\r
+violate the thread-safety restrictions on xapian / notmuch. Errors in\r
+these functions, and importantly which error, are currently hard to\r
+catch and identify (say notmuch_messages_move_to_next). The same error\r
+reporting system could be used for these. With a flexible error system\r
+we could fix these as they are discovered.\r
+\r
+Cheers, Gaute\r
+\r
+=\r