X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=lib%2FPublicInbox%2FIMAPsearchqp.pm;h=9f0c1205492dfb23cb67dbd58cebbc58497b5cac;hb=23af251dd607c4e75ab1e68063f2c885c48cc035;hp=190fefb9cd5000420f7b393aa3193f0500e420e5;hpb=374e1098fa03756e5626379ff6fe154785e16cfa;p=public-inbox.git diff --git a/lib/PublicInbox/IMAPsearchqp.pm b/lib/PublicInbox/IMAPsearchqp.pm index 190fefb9..9f0c1205 100644 --- a/lib/PublicInbox/IMAPsearchqp.pm +++ b/lib/PublicInbox/IMAPsearchqp.pm @@ -1,4 +1,4 @@ -# Copyright (C) 2020 all contributors +# Copyright (C) 2020-2021 all contributors # License: AGPL-3.0+ # IMAP search query parser. cf RFC 3501 @@ -124,7 +124,7 @@ sub ON { my ($self, $item) = @_; my $ts = yyyymmdd($item); my $end = $ts + 86399; # no leap day - push @{$self->{xap}}, "ts:$ts..$end"; + push @{$self->{xap}}, "rt:$ts..$end"; my $sql = $self->{sql} or return 1; $$sql .= " AND ts >= $ts AND ts <= $end"; } @@ -132,7 +132,7 @@ sub ON { sub BEFORE { my ($self, $item) = @_; my $ts = yyyymmdd($item); - push @{$self->{xap}}, "ts:..$ts"; + push @{$self->{xap}}, "rt:..$ts"; my $sql = $self->{sql} or return 1; $$sql .= " AND ts <= $ts"; } @@ -140,7 +140,7 @@ sub BEFORE { sub SINCE { my ($self, $item) = @_; my $ts = yyyymmdd($item); - push @{$self->{xap}}, "ts:$ts.."; + push @{$self->{xap}}, "rt:$ts.."; my $sql = $self->{sql} or return 1; $$sql .= " AND ts >= $ts"; } @@ -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 }