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.
+     */
 }
 
 /*