DB backend support for lmdb?

Matthias Andree matthias.andree at gmx.de
Thu Jul 19 22:52:07 CEST 2018


Am 19.07.2018 um 22:22 schrieb Steffen Nurpmeso:
> Oh my goodness...
> 
> Steffen Nurpmeso wrote in <20180719193041.33VX0%steffen at sdaoden.eu>:
>  |Matthias Andree wrote in <9a51593a-a5ce-06f3-6070-af25b1a6db34 at an3e.de>:
>  ||Am 18.07.2018 um 01:19 schrieb Matthias Andree:
>  ||> Before doing further development, please switch to
>  ||> ^/branches/lmdb-support and/or update. I'm heading for bed now that
>  ||> r7064 has been committed.
>  ||
>  ||...make that r7065.
>  |
>  |All tests pass for me now.
> 
> Yes, but there is one little error nonetheless, as below.
> Thank you, Matthias.  I have just installed bogofilter/LMDB in ~/!
> Ciao.
> 
> diff --git a/bogofilter/src/datastore_lmdb.c b/bogofilter/src/datastore_lmdb.c
> index 6ea128c..728f0d2 100644
> --- a/bogofilter/src/datastore_lmdb.c
> +++ b/bogofilter/src/datastore_lmdb.c
> @@ -332,6 +332,7 @@ a_bflm_txn_begin(void *vhandle){
>          fprintf(dbgout, "LMDB[%ld]: txn_begin(%p [%s])\n",
>              (long)getpid(), bflmp, bflmp->bflm_filepath);
>  
> +    bflmp->bflm_flags &= ~(a_BFLM_HAS_TXN | a_BFLM_DB_UNAVAIL);
>  jredo_txn:
>      e = mdb_txn_begin(bflmp->bflm_env, NULL,
>              (bflmp->bflm_flags & a_BFLM_RDONLY ? MDB_RDONLY : 0),

Hi Steffen,

I have updated the code with your file, this patch, and merged things
back into the trunk. I have also added a few warning fixes, and I think
one of the warnings flagged by GCC was a string comparison bug that used
a s1 == s2 on the pointers, I have made that a 0 == strcmp(s1, s2).

Please check out the latest bogofilter SVN from the trunk.
(Regarding sourceforget.net speed, I hope convert things to Git this year.)

The trunk now seems fine WRT LMDB support on Fedora 28 and FreeBSD 11.2.

Thanks a lot!

Best regards
Matthias


More information about the bogofilter-dev mailing list