? sites/default/files
? sites/default/settings.php
Index: includes/database/mysql/schema.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/database/mysql/schema.inc,v
retrieving revision 1.1
diff -u -p -r1.1 schema.inc
--- includes/database/mysql/schema.inc	21 Aug 2008 19:36:36 -0000	1.1
+++ includes/database/mysql/schema.inc	28 Aug 2008 05:46:09 -0000
@@ -73,6 +73,12 @@ class DatabaseSchema_mysql extends Datab
   protected function createFieldSql($name, $spec) {
     $sql = "`" . $name . "` " . $spec['mysql_type'];
   
+    // BLOB and TEXT columns cannot have DEFAULT values.
+    // Refer to http://dev.mysql.com/doc/refman/5.1/en/blob.html
+    if (($spec['type'] == 'text') || ($spec['type'] == 'blob')) {
+      unset($spec['default']);
+    }
+    
     if (isset($spec['length'])) {
       $sql .= '(' . $spec['length'] . ')';
     }
Index: modules/dblog/dblog.admin.inc
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.admin.inc,v
retrieving revision 1.8
diff -u -p -r1.8 dblog.admin.inc
--- modules/dblog/dblog.admin.inc	19 Jul 2008 07:44:45 -0000	1.8
+++ modules/dblog/dblog.admin.inc	28 Aug 2008 05:46:09 -0000
@@ -108,10 +108,11 @@ function dblog_top($type) {
     array('data' => t('Message'), 'field' => 'message')
   );
 
-  $result = pager_query("SELECT COUNT(wid) AS count, message, variables FROM {watchdog} WHERE type = '%s' GROUP BY message, variables " . tablesort_sql($header), 30, 0, "SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'", $type);
+  $result = pager_query("SELECT COUNT(wid) AS count, message FROM {watchdog} WHERE type = '%s' GROUP BY message " . tablesort_sql($header), 30, 0, "SELECT COUNT(DISTINCT(message)) FROM {watchdog} WHERE type = '%s'", $type);
 
   $rows = array();
   while ($dblog = db_fetch_object($result)) {
+    $dblog->variables = db_query("SELECT variables FROM {watchdog} WHERE message = :message", array(':message' => $dblog->message))->fetchField();
     $rows[] = array($dblog->count, truncate_utf8(_dblog_format_message($dblog), 56, TRUE, TRUE));
   }
 
Index: modules/dblog/dblog.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.install,v
retrieving revision 1.8
diff -u -p -r1.8 dblog.install
--- modules/dblog/dblog.install	21 Aug 2008 19:36:37 -0000	1.8
+++ modules/dblog/dblog.install	28 Aug 2008 05:46:09 -0000
@@ -49,8 +49,9 @@ function dblog_schema() {
         'description' => t('Text of log message to be passed into the t() function.'),
       ),
       'variables' => array(
-        'type' => 'text',
+        'type' => 'blob',
         'not null' => TRUE,
+        'default' => '',
         'size' => 'big',
         'description' => t('Serialized array of variables that match the message string and that is passed into the t() function.'),
       ),
@@ -113,3 +114,13 @@ function dblog_update_7001() {
   db_change_field($ret, 'watchdog', 'referer', 'referer', array('type' => 'varchar', 'length' => 255, 'not null' => FALSE, 'default' => ''));
   return $ret;
 }
+
+/**
+ * Remap {watchdog}.variables as BLOB type.
+ */
+function dblog_update_7002() {
+  $ret = array();
+  db_change_field($ret, 'watchdog', 'variables', 'variables', array('type' => 'blob', 'not null' => TRUE, 'default' => '', 'size' => 'big'));
+
+  return $ret;
+}
Index: modules/dblog/dblog.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/dblog/dblog.module,v
retrieving revision 1.27
diff -u -p -r1.27 dblog.module
--- modules/dblog/dblog.module	21 Aug 2008 19:36:37 -0000	1.27
+++ modules/dblog/dblog.module	28 Aug 2008 05:46:09 -0000
@@ -122,21 +122,18 @@ function _dblog_get_message_types() {
 
 function dblog_watchdog($log = array()) {
   $current_db = db_set_active();
-  db_query("INSERT INTO {watchdog}
-    (uid, type, message, variables, severity, link, location, referer, hostname, timestamp)
-    VALUES
-    (%d, '%s', '%s', '%s', %d, '%s', '%s', '%s', '%s', %d)",
-    $log['user']->uid,
-    $log['type'],
-    $log['message'],
-    serialize($log['variables']),
-    $log['severity'],
-    $log['link'],
-    $log['request_uri'],
-    $log['referer'],
-    $log['ip'],
-    $log['timestamp']
-  );
+  db_insert('watchdog')->fields(array(
+    'uid' => $log['user']->uid,
+    'type' => $log['type'],
+    'message' => $log['message'],
+    'variables' => serialize($log['variables']),
+    'severity' => $log['severity'],
+    'link' => $log['link'],
+    'location' => $log['request_uri'],
+    'referer' => $log['referer'],
+    'hostname' => $log['ip'],
+    'timestamp' => $log['timestamp']
+  ))->execute();
 
   if ($current_db) {
     db_set_active($current_db);
