From mboxrd@z Thu Jan 1 00:00:00 1970 Received: by 10.204.20.129 with SMTP id f1cs80859bkb; Wed, 29 Sep 2010 07:23:11 -0700 (PDT) Received: by 10.224.54.140 with SMTP id q12mr1199042qag.319.1285770189545; Wed, 29 Sep 2010 07:23:09 -0700 (PDT) Return-Path: Received: from rubyforge.org (rubyforge.org [205.234.109.19]) by mx.google.com with ESMTP id j2si16735052qck.74.2010.09.29.07.23.09; Wed, 29 Sep 2010 07:23:09 -0700 (PDT) Received-SPF: pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) client-ip=205.234.109.19; Authentication-Results: mx.google.com; spf=pass (google.com: domain of sup-devel-bounces@rubyforge.org designates 205.234.109.19 as permitted sender) smtp.mail=sup-devel-bounces@rubyforge.org Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id B95CE19782D9; Wed, 29 Sep 2010 10:23:08 -0400 (EDT) Received: from smtp.chost.de (setoy.chost.de [217.160.209.225]) by rubyforge.org (Postfix) with ESMTP id 5FE661858377 for ; Wed, 29 Sep 2010 10:22:59 -0400 (EDT) Received: (qmail 25845 invoked by uid 5015); 29 Sep 2010 14:16:24 -0000 Received: (nullmailer pid 7631 invoked by uid 123); Wed, 29 Sep 2010 14:16:16 -0000 Received: from twin.sascha.silbe.org (twin.sascha.silbe.org [192.168.1.2]) by flatty.sascha.silbe.org ([192.168.1.252]) with SMTP via TCP; 29 Sep 2010 14:16:16 -0000 Received: (nullmailer pid 15949 invoked by uid 8193); Wed, 29 Sep 2010 14:16:16 -0000 From: Sascha Silbe To: sup-devel Date: Wed, 29 Sep 2010 16:16:15 +0200 Message-Id: <1285769775-15914-1-git-send-email-sascha-pgp@silbe.org> X-Mailer: git-send-email 1.7.1 Mail-Followup-To: Subject: [sup-devel] [PATCH] fix searching for non-lowercase labels X-BeenThere: sup-devel@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: Sascha Silbe , Sup developer discussion List-Id: Sup developer discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: sup-devel-bounces@rubyforge.org Errors-To: sup-devel-bounces@rubyforge.org Case is preserved when marshalling labels (stored as document data), but label terms are stored lowercase. build_xapian_query uses mkterm and thus already converts labels to lowercase when searching. parse_query accepts a Xapian query string from the user and needs to explicitly convert labels to lowercase, which it now does. Signed-off-by: Sascha Silbe --- lib/sup/index.rb | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/lib/sup/index.rb b/lib/sup/index.rb index a72bec6..f90d0d9 100644 --- a/lib/sup/index.rb +++ b/lib/sup/index.rb @@ -346,6 +346,12 @@ EOS end end + ## labels are stored lower-case in the index + subs = subs.gsub(/\blabel:(\S+)\b/) do + label = $1 + "label:#{label.downcase}" + end + ## if we see a label:deleted or a label:spam term anywhere in the query ## string, we set the extra load_spam or load_deleted options to true. ## bizarre? well, because the query allows arbitrary parenthesized boolean -- 1.7.1 _______________________________________________ Sup-devel mailing list Sup-devel@rubyforge.org http://rubyforge.org/mailman/listinfo/sup-devel