about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-09-02 11:04:18 +0000
committerEric Wong <e@80x24.org>2020-09-03 20:11:03 +0000
commit3d83cc1dae085b0bc2044cb82aa86e35a8b5172a (patch)
treeeedce70b9bd599112aa5e91f490e2edc8ada0b92
parent53c1b42f1f8bf5b50acbf25cbe77e70ca15d5c77 (diff)
downloadpublic-inbox-3d83cc1dae085b0bc2044cb82aa86e35a8b5172a.tar.gz
We switched to Parse::RecDescent during development and left
some dead code behind.
-rw-r--r--lib/PublicInbox/IMAP.pm61
1 files changed, 0 insertions, 61 deletions
diff --git a/lib/PublicInbox/IMAP.pm b/lib/PublicInbox/IMAP.pm
index d540fd0b..2d0d005e 100644
--- a/lib/PublicInbox/IMAP.pm
+++ b/lib/PublicInbox/IMAP.pm
@@ -1109,67 +1109,6 @@ sub search_uid_range { # long_response
         1; # more
 }
 
-sub date_search {
-        my ($q, $k, $d) = @_;
-        my $sql = $q->{sql};
-
-        # Date: header
-        if ($k eq 'SENTON') {
-                my $end = $d + 86399; # no leap day...
-                my $da = strftime('%Y%m%d%H%M%S', gmtime($d));
-                my $db = strftime('%Y%m%d%H%M%S', gmtime($end));
-                $q->{xap} .= " dt:$da..$db";
-                $$sql .= " AND ds >= $d AND ds <= $end" if defined($sql);
-        } elsif ($k eq 'SENTBEFORE') {
-                $q->{xap} .= ' d:..'.strftime('%Y%m%d', gmtime($d));
-                $$sql .= " AND ds <= $d" if defined($sql);
-        } elsif ($k eq 'SENTSINCE') {
-                $q->{xap} .= ' d:'.strftime('%Y%m%d', gmtime($d)).'..';
-                $$sql .= " AND ds >= $d" if defined($sql);
-
-        # INTERNALDATE (Received)
-        } elsif ($k eq 'ON') {
-                my $end = $d + 86399; # no leap day...
-                $q->{xap} .= " ts:$d..$end";
-                $$sql .= " AND ts >= $d AND ts <= $end" if defined($sql);
-        } elsif ($k eq 'BEFORE') {
-                $q->{xap} .= " ts:..$d";
-                $$sql .= " AND ts <= $d" if defined($sql);
-        } elsif ($k eq 'SINCE') {
-                $q->{xap} .= " ts:$d..";
-                $$sql .= " AND ts >= $d" if defined($sql);
-        } else {
-                die "BUG: $k not recognized";
-        }
-}
-
-# IMAP to Xapian search key mapping
-my %I2X = (
-        SUBJECT => 's:',
-        BODY => 'b:',
-        FROM => 'f:',
-        TEXT => '', # n.b. does not include all headers
-        TO => 't:',
-        CC => 'c:',
-        # BCC => 'bcc:', # TODO
-        # KEYWORD # TODO ? dfpre,dfpost,...
-);
-
-# IMAP allows searching arbitrary headers via "HEADER $HDR_NAME $HDR_VAL"
-# which gets silly expensive.  We only allow the headers we already index.
-my %H2X = (%I2X, 'MESSAGE-ID' => 'm:', 'LIST-ID' => 'l:');
-
-sub xap_append ($$$$) {
-        my ($q, $rest, $k, $xk) = @_;
-        delete $q->{sql}; # can't use over.sqlite3
-        defined(my $arg = shift @$rest) or return "BAD $k no arg";
-
-        # AFAIK Xapian can't handle [*"] in probabilistic terms
-        $arg =~ tr/*"//d;
-        ${$q->{xap}} .= qq[ $xk"$arg"];
-        undef;
-}
-
 sub parse_query ($$) {
         my ($self, $query) = @_;
         my $q = PublicInbox::IMAPsearchqp::parse($self, $query);