From: Eric Wong Date: Fri, 5 Mar 2021 03:10:58 +0000 (-0800) Subject: search: use "z:" instead of "bytes:" prefix X-Git-Tag: v1.7.0~1032 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=2958cd17d58c79c952afae6cfd594595ffcaf4fa;p=thirdparty%2Fpublic-inbox.git search: use "z:" instead of "bytes:" prefix So far, searching by size has never been publicly documented, and IMHO, of questionable utility. In any case, "z:" is what mairix(1) uses, so it may be familiar to existing mairix users (I've never used this prefix myself). So far, this prefix is only used internally in tests and in auto-translated queries from IMAP; thus this incompatible change is unlikely to affect anyone. --- diff --git a/lib/PublicInbox/IMAPsearchqp.pm b/lib/PublicInbox/IMAPsearchqp.pm index 2fb92bb8e..9f0c12054 100644 --- a/lib/PublicInbox/IMAPsearchqp.pm +++ b/lib/PublicInbox/IMAPsearchqp.pm @@ -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 } diff --git a/lib/PublicInbox/LeiXSearch.pm b/lib/PublicInbox/LeiXSearch.pm index 059aa2844..3270b420b 100644 --- a/lib/PublicInbox/LeiXSearch.pm +++ b/lib/PublicInbox/LeiXSearch.pm @@ -92,7 +92,7 @@ sub recent { my ($self, $qstr, $opt) = @_; $opt //= {}; $opt->{relevance} //= -2; - $self->mset($qstr //= 'bytes:1..', $opt); + $self->mset($qstr //= 'z:1..', $opt); } sub over {} diff --git a/lib/PublicInbox/Search.pm b/lib/PublicInbox/Search.pm index c5a1bd69c..209969c57 100644 --- a/lib/PublicInbox/Search.pm +++ b/lib/PublicInbox/Search.pm @@ -481,7 +481,7 @@ sub qparse_new ($) { $cb->($qp, $NVRP->new(DT, 'dt:')); # for IMAP, undocumented for WWW and may be split off go away - $cb->($qp, $NVRP->new(BYTES, 'bytes:')); + $cb->($qp, $NVRP->new(BYTES, 'z:')); $cb->($qp, $NVRP->new(TS, 'rt:')); $cb->($qp, $NVRP->new(UID, 'uid:')); diff --git a/t/lei-externals.t b/t/lei-externals.t index b78b55800..296676409 100644 --- a/t/lei-externals.t +++ b/t/lei-externals.t @@ -40,7 +40,7 @@ SKIP: { pipe(my ($r, $w)) or BAIL_OUT $!; open my $err, '+>', undef or BAIL_OUT $!; my $opt = { run_mode => 0, 1 => $w, 2 => $err }; - my $cmd = [qw(lei q -qt), @$out, 'bytes:1..']; + my $cmd = [qw(lei q -qt), @$out, 'z:1..']; my $tp = start_script($cmd, undef, $opt); close $w; sysread($r, my $buf, 1); diff --git a/t/lei-import-imap.t b/t/lei-import-imap.t index a6ba805ff..15a355ab6 100644 --- a/t/lei-import-imap.t +++ b/t/lei-import-imap.t @@ -13,11 +13,11 @@ my $td = start_script($cmd, $env, { 3 => $sock }) or BAIL_OUT("-imapd: $?"); my $host_port = tcp_host_port($sock); undef $sock; test_lei({ tmpdir => $tmpdir }, sub { - lei_ok(qw(q bytes:1..)); + lei_ok(qw(q z:1..)); my $out = json_utf8->decode($lei_out); is_deeply($out, [ undef ], 'nothing imported, yet'); lei_ok('import', "imap://$host_port/t.v2.0"); - lei_ok(qw(q bytes:1..)); + lei_ok(qw(q z:1..)); $out = json_utf8->decode($lei_out); ok(scalar(@$out) > 1, 'got imported messages'); is(pop @$out, undef, 'trailing JSON null element was null'); diff --git a/t/lei-import-nntp.t b/t/lei-import-nntp.t index 3fb78fbcb..1fc6dbadf 100644 --- a/t/lei-import-nntp.t +++ b/t/lei-import-nntp.t @@ -13,12 +13,12 @@ my $td = start_script($cmd, $env, { 3 => $sock }) or BAIL_OUT("-nntpd $?"); my $host_port = tcp_host_port($sock); undef $sock; test_lei({ tmpdir => $tmpdir }, sub { - lei_ok(qw(q bytes:1..)); + lei_ok(qw(q z:1..)); my $out = json_utf8->decode($lei_out); is_deeply($out, [ undef ], 'nothing imported, yet'); lei_ok('import', "nntp://$host_port/t.v2"); diag $lei_err; - lei_ok(qw(q bytes:1..)); + lei_ok(qw(q z:1..)); diag $lei_err; $out = json_utf8->decode($lei_out); ok(scalar(@$out) > 1, 'got imported messages'); diff --git a/xt/lei-sigpipe.t b/xt/lei-sigpipe.t index ba2d23c87..44020badd 100644 --- a/xt/lei-sigpipe.t +++ b/xt/lei-sigpipe.t @@ -15,7 +15,7 @@ my $do_test = sub { pipe(my ($r, $w)) or BAIL_OUT $!; open my $err, '+>', undef or BAIL_OUT $!; my $opt = { run_mode => 0, 1 => $w, 2 => $err }; - my $cmd = [qw(lei q -q -t), @$out, 'bytes:1..']; + my $cmd = [qw(lei q -q -t), @$out, 'z:1..']; my $tp = start_script($cmd, $env, $opt); close $w; sysread($r, my $buf, 1);