about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2020-12-21 07:51:19 +0000
committerEric Wong <e@80x24.org>2020-12-21 21:51:56 +0000
commitbad84119fb0915abe3f19fe4fb9c34e24fe7e564 (patch)
tree133899000ba4292cbd9c15c63098a6fedb78f6d0
parenteea4ba7bac73b67ccd2cdd07946b176260ac5fac (diff)
downloadpublic-inbox-bad84119fb0915abe3f19fe4fb9c34e24fe7e564.tar.gz
Perl sort is alphabetical by default and Xapian uses numeric
document IDs, so sort must be told explicitly to use numeric
comparisons even if the scalars are integer values (IV)
internally.

And eliminate extra hash marks ("#") since they're probably too
noisy if there are many IDs.

Note: I haven't seen this warning message in syslog, yet :>
-rw-r--r--lib/PublicInbox/Isearch.pm4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/PublicInbox/Isearch.pm b/lib/PublicInbox/Isearch.pm
index 8a1f257a..e362c80a 100644
--- a/lib/PublicInbox/Isearch.pm
+++ b/lib/PublicInbox/Isearch.pm
@@ -89,7 +89,7 @@ SELECT docid,xnum FROM xref3 WHERE ibx_id = ? AND docid IN ($qmarks)
         }
         if (scalar keys %order) {
                 warn "W: $self->{es}->{topdir} #",
-                        join(', #', sort keys %order),
+                        join(', ', sort { $a <=> $b } keys %order),
                         " not mapped to `$self->{eidx_key}'\n";
                 warn "W: $self->{es}->{topdir} may need to be reindexed\n";
                 @xnums = grep { defined } @xnums;
@@ -113,7 +113,7 @@ sub mset_to_smsg {
         }
         if (scalar keys %order) {
                 warn "W: $ibx->{inboxdir} #",
-                        join(', #', sort keys %order),
+                        join(', ', sort { $a <=> $b } keys %order),
                         " no longer valid\n";
                 warn "W: $self->{es}->{topdir} may need to be reindexed\n";
         }