Stuart Henderson wrote in
 <yobm7za0cfooj...@symphytum.spacehopper.org>:
 |On 2021/07/08 08:45, Martin Ziemer wrote:
 ...
 |Let's look at the other flavours.
 |
 |bogofilter-1.2.4p2-qdbm(mail/bogofilter,qdbm):
 |Extra:  qdbm.14
 |
 |bogofilter-1.2.4p2-db4(mail/bogofilter,db4):
 |Extra:  db.5 iconv.7
 |
 |Same problem. Presumably this worked properly before, looking at other OS
 |bogofilter is dynamically linked to db libraries there. The part of the
 |configure script responsible for figuring out how to link to these comes
 |from an ancient copy of gettext-related m4 files in the distro. So let's
 |pick up new ones to replace them. While there we can pick up the 2019
 |update to 1.2.5 that includes various things including fixes for memory
 |leaks, lexer fixes for MIME multipart and HTML tokens, and some others.

Gee, you could really add the LMDB backend.
I use it for years (disclaimer: i wrote it, long before release
1.2.5), the per-entry overhead is smaller, the speed is
tremendous, the library is only ~7.1% of the size of libsqlite3
(here).  With postfix also using LMDB exclusively (needs a patch,
AlpineLinux has it, CRUX has, too) i am all out of DBs but LMDB in
the mail system here, and that is very nice.

There is only one caveat: LMDB has no VACUUM.
So for compaction all you can do is

      bogoutil -d wordlist.lmdb > /tmp/spam.db || exit 2
      mv wordlist.lmdb wordlist.lmdb.save
      bogoutil -l wordlist.lmdb < /tmp/spam.db || {
         mv wordlist.lmdb.save wordlist.lmdb
         exit 3
      }
      rm wordlist.lmdb.save

ie, regenerate the database, whenever you feel the need to do so.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply via email to