From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.0 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id A72C91F856 for ; Fri, 9 Sep 2016 00:01:35 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 07/10] search: fix compatibility with Debian wheezy Date: Fri, 9 Sep 2016 00:01:28 +0000 Message-Id: <20160909000131.18584-8-e@80x24.org> In-Reply-To: <20160909000131.18584-1-e@80x24.org> References: <20160909000131.18584-1-e@80x24.org> List-Id: Specifying the "d:" field only worked for NumberValueRangeProcessor in older versions of Xapian, such as the one in Debian wheezy (libsearch-xapian-perl=1.2.10.0-1) This slipped through since I rarely use wheezy, anymore, and perhaps nobody else does, either. Perhaps wheezy support may be dropped, soon. Unfortunately, this requires a schema version bump. --- lib/PublicInbox/Search.pm | 5 +++-- lib/PublicInbox/SearchIdx.pm | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index c8e297f..ceee39a 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -38,7 +38,8 @@ use constant { # 9 - disable Message-ID compression (SHA-1) # 10 - optimize doc for NNTP overviews # 11 - merge threads when vivifying ghosts - SCHEMA_VERSION => 11, + # 12 - change YYYYMMDD value column to numeric + SCHEMA_VERSION => 12, # n.b. FLAG_PURE_NOT is expensive not suitable for a public website # as it could become a denial-of-service vector @@ -221,7 +222,7 @@ sub qp { $qp->set_stemmer($self->stemmer); $qp->set_stemming_strategy(STEM_SOME); $qp->add_valuerangeprocessor( - Search::Xapian::StringValueRangeProcessor->new(YYYYMMDD, 'd:')); + Search::Xapian::NumberValueRangeProcessor->new(YYYYMMDD, 'd:')); while (my ($name, $prefix) = each %bool_pfx_external) { $qp->add_boolean_prefix($name, $prefix); diff --git a/lib/PublicInbox/SearchIdx.pm b/lib/PublicInbox/SearchIdx.pm index 0e499ad..86be9ed 100644 --- a/lib/PublicInbox/SearchIdx.pm +++ b/lib/PublicInbox/SearchIdx.pm @@ -117,7 +117,7 @@ sub add_values ($$$) { $smsg->{mime}->body_raw =~ tr!\n!\n!); my $yyyymmdd = strftime('%Y%m%d', gmtime($ts)); - $doc->add_value(&PublicInbox::Search::YYYYMMDD, $yyyymmdd); + add_val($doc, PublicInbox::Search::YYYYMMDD, $yyyymmdd); } sub index_users ($$) { -- EW