diff options
| -rw-r--r-- | Changelog | 1 | ||||
| -rwxr-xr-x | interimap | 7 | 
2 files changed, 5 insertions, 3 deletions
@@ -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). @@ -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 : '');  | 
