Index: modules/dblog/dblog.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.module,v
retrieving revision 1.21.2.3
diff -u -p -r1.21.2.3 dblog.module
--- modules/dblog/dblog.module	1 Mar 2010 10:26:48 -0000	1.21.2.3
+++ modules/dblog/dblog.module	4 Oct 2010 05:16:48 -0000
@@ -102,8 +102,13 @@ function dblog_init() {
  */
 function dblog_cron() {
   // Cleanup the watchdog table
-  $max = db_result(db_query('SELECT MAX(wid) FROM {watchdog}'));
-  db_query('DELETE FROM {watchdog} WHERE wid <= %d', $max - variable_get('dblog_row_limit', 1000));
+  $row_limit = variable_get('dblog_row_limit', 1000);
+  if ($row_limit > 0) {
+    $min_row = db_result(db_query_range('SELECT wid FROM {watchdog} ORDER BY wid DESC', ($row_limit-1), 1));
+    if ($min_row) {
+      db_query('DELETE FROM {watchdog} WHERE wid < %d', $min_row);
+    }
+  }
 }
 
 /**
