Okay, so we are using skiplist for our database now. If we wanted to do some simple searches on the database (we used to just grep for usernames on the flat file version of mailboxes.db), we have to first convert the database to a flat file. Really, the best way to do it is by running ctl_mboxlist and saving the output to a file. But before I discovered the command, I was trying to use cvt_cyrusdb to convert from skiplist to flat file, which basically took forever (in fact, I never got it to really finish, as I would Ctrl-C out of it before it was done).
The problem with cvt_cyrusdb is that it seems to take a record from the skiplist database and writes it to a file to a new flat file database. If we call the new database "flat.db", it would create a new file called "flat.db.NEW" with that one line added to the end of it, then move it to "flat.db" right after that. This process would be done for every record in the mailboxes.db file (ours is huge!).
Wouldn't it be better to to enhance the conversion program to simply open the flat file database for append and just dump the contents of the old db right to it? It seems like the logic for writing to a flat file db is prohibitively expensive. Really, you want the conversion process from any database format to flat file format to dumb itself down to be what ctl_mboxlist does. The reason ctl_mboxlist works so well is that it just dumps the output to stdout and not to a file, so there are not .NEW files or renames or anything like that.
Just a thought. Scott -- +-----------------------------------------------------------------------+ Scott W. Adkins http://www.cns.ohiou.edu/~sadkins/ UNIX Systems Engineer mailto:[EMAIL PROTECTED] ICQ 7626282 Work (740)593-9478 Fax (740)593-1944 +-----------------------------------------------------------------------+ PGP Public Key available at http://www.cns.ohiou.edu/~sadkins/pgp/
pgp00000.pgp
Description: PGP signature