Mercurial > noffle
changeset 257:087e7039b569 noffle
[svn] * src/database.c: DB_compact() now does nothing. It was calling
  gdbm_reorganize() which did rebuild on the database, copying it
  to a new database and renaming. This now has an explicit function,
  Db_rebuild(), and you don't want to chew disc space like this during
  a routine expire.
| author | bears | 
|---|---|
| date | Wed, 26 Jun 2002 14:28:35 +0100 | 
| parents | b510f6a65a79 | 
| children | ebd9c98bbc7f | 
| files | src/database.c | 
| diffstat | 1 files changed, 13 insertions(+), 3 deletions(-) [+] | 
line wrap: on
 line diff
--- a/src/database.c Wed Jun 26 14:28:06 2002 +0100 +++ b/src/database.c Wed Jun 26 14:28:35 2002 +0100 @@ -1,7 +1,7 @@ /* database.c - $Id: database.c 387 2002-06-26 13:15:44Z bears $ + $Id: database.c 389 2002-06-26 13:28:35Z bears $ Uses GNU gdbm library. Using Berkeley db (included in libc6) was cumbersome. It is based on Berkeley db 1.85, which has severe bugs @@ -590,8 +590,18 @@ Db_compact( void ) { ASSERT( db.dbf ); - if ( gdbm_reorganize( db.dbf ) != 0 ) - Log_err( "Error compacting article base: %s", errMsg() ); + + /* + * You'd think it would be sensible to do something like + * + * if ( gdbm_reorganize( db.dbf ) != 0 ) + * Log_err( "Error compacting article base: %s", errMsg() ); + * + * here. But this just copies the database to a new one and renames, + * which is what Db_rebuild() does. + * + * So do nothing. We don't want expire to chew disc space. + */ } /*
