aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Changelog1
-rwxr-xr-xinterimap7
2 files changed, 5 insertions, 3 deletions
diff --git a/Changelog b/Changelog
index c08de80..f90c28c 100644
--- a/Changelog
+++ b/Changelog
@@ -50,6 +50,7 @@ interimap (0.5) upstream;
full.
+ interimap: new option 'log-prefix' to control the prefix of each log
entry, depending on the component name and relevant mailbox.
+ + interimap: raise SELECT sample range size from 64 to 256 bytes.
- libinterimap: bugfix: hierarchy delimiters in LIST responses were
returned as an escaped quoted special, like "\\", not as a single
character (backslash in this case).
diff --git a/interimap b/interimap
index a409c65..9a1df0b 100755
--- a/interimap
+++ b/interimap
@@ -793,7 +793,7 @@ sub delete_mapping($$) {
# we let the server know that the messages have been EXPUNGEd [RFC7162,
# section 3.2.5.2].
# The UID set is the largest set of higest UIDs with at most 1024 UIDs,
-# of length (once compacted) at most 64.
+# of length (once compacted) at most 256.
# The reason why we sample with the highest UIDs is that lowest UIDs are
# less likely to be deleted.
sub sample($$) {
@@ -814,13 +814,14 @@ sub sample($$) {
$uids = ($min == $max ? $min : "$min:$max")
.(defined $uids ? ','.$uids : '');
$min = $max = $k;
- if (length($uids) > 64) {
+ if (length($uids) > 256) {
$sth->finish(); # done with the statement
last;
}
}
}
- if (!defined $uids or length($uids) <= 64) {
+ if (!defined $uids or length($uids) <= 256) {
+ # exceed max size by at most 22 bytes ("$MIN:$MAX,")
$n += $max - $min + 1;
$uids = ($min == $max ? $min : "$min:$max")
. (defined $uids ? ','.$uids : '');