From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from localhost (localhost [127.0.0.1]) by arlo.cworth.org (Postfix) with ESMTP id ECCBC6DE0F56 for ; Wed, 21 Aug 2019 05:25:18 -0700 (PDT) X-Virus-Scanned: Debian amavisd-new at cworth.org X-Spam-Flag: NO X-Spam-Score: -0.052 X-Spam-Level: X-Spam-Status: No, score=-0.052 tagged_above=-999 required=5 tests=[AWL=-0.051, SPF_PASS=-0.001] autolearn=disabled Received: from arlo.cworth.org ([127.0.0.1]) by localhost (arlo.cworth.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4J9hB_W__Jhr for ; Wed, 21 Aug 2019 05:25:17 -0700 (PDT) X-Greylist: delayed 2619 seconds by postgrey-1.36 at arlo; Wed, 21 Aug 2019 05:25:17 PDT Received: from fethera.tethera.net (fethera.tethera.net [198.245.60.197]) by arlo.cworth.org (Postfix) with ESMTPS id B1B876DE0BB8 for ; Wed, 21 Aug 2019 05:25:17 -0700 (PDT) Received: from remotemail by fethera.tethera.net with local (Exim 4.89) (envelope-from ) id 1i0OzZ-0002Ib-1w; Wed, 21 Aug 2019 07:41:29 -0400 Received: (nullmailer pid 23846 invoked by uid 1000); Wed, 21 Aug 2019 11:41:27 -0000 From: David Bremner To: "Rollins, Jameson" , David Bremner , "Jorge P. de Morais Neto" , "notmuch@notmuchmail.org" Subject: WIP: fix implicit operators Date: Wed, 21 Aug 2019 08:41:23 -0300 Message-Id: <20190821114126.23540-1-david@tethera.net> X-Mailer: git-send-email 2.23.0.rc1 In-Reply-To: <87v9urjch9.fsf@caltech.edu> References: <87v9urjch9.fsf@caltech.edu> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: notmuch@notmuchmail.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Use and development of the notmuch mail system." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 21 Aug 2019 12:25:19 -0000 I'm posting this for feedback. I did all the tests that were easy, but things like threads and attachments will take more effort to test. for probabilistic prefixes, we are basically stuck with AND. For boolean prefixes, we have the choice. Generally I tried to follow the Xapian convention that if a field/prefix is "exclusive" (one per message), then we group with OR. Regexp fields like mid:// are tricky since even if the underlying data is exclusive it makes sense to use multiple instances to match one piece of data, e.g. mid:/david/ mid:/tethera/ should probably behave roughly like mid:/david.*tethera/