No rush on the review. I had to put the code aside for a while (pesky day
job :-) and had to write some tests to try to hit most code paths.
I tried not to change too much existing code since the change is pretty big
to begin with. I only tried to rewrite things that affected performance or
If you want to stay with index/data for the database, I think I might go back
and see if I can finish up a database.c replacement with MySql. What I
don't have is the statistics for a large email server (mine is very small).
I wrote a small C program that went through all the Berkley databases
>Just to chime in, the database.c code is very clean. The only problem
I
>have had with Berkeley is that if the code or system crashes, most of the
>time, the database is corrupted and recover does not help sometimes and
I
>have to revert to a backup. The code has become a lot more
I'm away on vacation right now and casually browsing the changes. I'll give
it a good thorough testing when I'm back at my desk after the weekend, but
so far I'm quite impressed. It looks like the changes really follow not just
the coding style, but the *design* style of the existing Citadel