X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FIMAPsearchqp.pm;h=0c37220c9dcf3884d1ddd2b096cb03e1b784fc3e;hb=refs%2Fheads%2Fmaster;hp=2fb92bb8eaf0c5f1f0cf57be37daae2bf9827146;hpb=9dfc0b670fc634b54998c3020f173b82de1915ac;p=public-inbox.git
diff --git a/lib/PublicInbox/IMAPsearchqp.pm b/lib/PublicInbox/IMAPsearchqp.pm
index 2fb92bb8..0c37220c 100644
--- a/lib/PublicInbox/IMAPsearchqp.pm
+++ b/lib/PublicInbox/IMAPsearchqp.pm
@@ -1,4 +1,4 @@
-# Copyright (C) 2020-2021 all contributors
+# Copyright (C) all contributors
# License: AGPL-3.0+
# IMAP search query parser. cf RFC 3501
@@ -165,7 +165,7 @@ sub msn_set {
# things that should not match
sub impossible {
my ($self) = @_;
- push @{$self->{xap}}, 'bytes:..0';
+ push @{$self->{xap}}, 'z:..0';
my $sql = $self->{sql} or return 1;
$$sql .= ' AND num < 0';
}
@@ -217,8 +217,8 @@ BEFORE_date : 'BEFORE' date { $q->BEFORE(\%item) }
MSN_set : sequence_set { $q->msn_set($item{sequence_set}) }
UID_set : "UID" sequence_set { $q->uid_set($item{sequence_set}) }
-LARGER_number : "LARGER" number { $q->xap_only("bytes:$item{number}..") }
-SMALLER_number : "SMALLER" number { $q->xap_only("bytes:..$item{number}") }
+LARGER_number : "LARGER" number { $q->xap_only("z:$item{number}..") }
+SMALLER_number : "SMALLER" number { $q->xap_only("z:..$item{number}") }
DELETED : "DELETED" { $q->impossible }
OLD : "OLD" { $q->impossible }
@@ -279,6 +279,8 @@ sub parse {
my $sql = '';
%$q = (sql => \$sql, imap => $imap); # imap = PublicInbox::IMAP obj
# $::RD_TRACE = 1;
+ local $::RD_ERRORS = undef;
+ local $::RD_WARN = undef;
my $res = eval { $prd->search_key(uc($query)) };
return $@ if $@ && $@ =~ /\A(?:BAD|NO) /;
return 'BAD unexpected result' if !$res || $res != $q;