? 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);