? sites/default/modules
? sites/default/settings.php
Index: includes/menu.inc
===================================================================
RCS file: /cvs/drupal/drupal/includes/menu.inc,v
retrieving revision 1.293
diff -u -p -r1.293 menu.inc
--- includes/menu.inc	8 Oct 2008 01:42:16 -0000	1.293
+++ includes/menu.inc	8 Oct 2008 18:19:04 -0000
@@ -2412,23 +2412,18 @@ function _menu_router_build($callbacks) 
       'path' => $path,
     );
 
-    $title_arguments = $item['title arguments'] ? serialize($item['title arguments']) : '';
-    db_query("INSERT INTO {menu_router}
-      (path, load_functions, to_arg_functions, access_callback,
-      access_arguments, page_callback, page_arguments, fit,
-      number_parts, tab_parent, tab_root,
-      title, title_callback, title_arguments,
-      type, block_callback, description, position, weight)
-      VALUES ('%s', '%s', '%s', '%s',
-      '%s', '%s', '%s', %d,
-      %d, '%s', '%s',
-      '%s', '%s', '%s',
-      %d, '%s', '%s', '%s', %d)",
-      $path, $item['load_functions'], $item['to_arg_functions'], $item['access callback'],
-      serialize($item['access arguments']), $item['page callback'], serialize($item['page arguments']), $item['_fit'],
-      $item['_number_parts'], $item['tab_parent'], $item['tab_root'],
-      $item['title'], $item['title callback'], $title_arguments,
-      $item['type'], $item['block callback'], $item['description'], $item['position'], $item['weight']);
+    $item += array(
+      'access_callback' => $item['access callback'],
+      'access_arguments' => serialize($item['access arguments']),
+      'page_callback' => $item['page callback'],
+      'page_arguments' => serialize($item['page arguments']),
+      'fit' => $item['_fit'],
+      'number_parts' => $item['_number_parts'],
+      'title_callback' => $item['title callback'],
+      'title_arguments' => ($item['title arguments'] ? serialize($item['title arguments']) : ''),
+      'block_callback' => $item['block callback']
+    );
+    drupal_write_record('menu_router', $item);
   }
   // Sort the masks so they are in order of descending fit, and store them.
   $masks = array_keys($masks);
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.269
diff -u -p -r1.269 system.install
--- modules/system/system.install	27 Sep 2008 20:16:17 -0000	1.269
+++ modules/system/system.install	8 Oct 2008 18:19:05 -0000
@@ -782,7 +782,7 @@ function system_schema() {
       ),
       'access_arguments' => array(
         'description' => t('A serialized array of arguments for the access callback.'),
-        'type' => 'text',
+        'type' => 'blob',
         'not null' => FALSE,
       ),
       'page_callback' => array(
@@ -794,7 +794,7 @@ function system_schema() {
       ),
       'page_arguments' => array(
         'description' => t('A serialized array of arguments for the page callback.'),
-        'type' => 'text',
+        'type' => 'blob',
         'not null' => FALSE,
       ),
       'fit' => array(
@@ -3048,6 +3048,17 @@ function system_update_7010() {
 }
 
 /**
+ * Remap {menu_router}.access_arguments and {menu_router}.page_arguments as BLOB type.
+ */
+function system_update_7012() {
+  $ret = array();
+  db_change_field($ret, 'menu_router', 'access_arguments', 'access_arguments', array('type' => 'blob', 'not null' => FALSE));
+  db_change_field($ret, 'menu_router', 'page_arguments', 'page_arguments', array('type' => 'blob', 'not null' => FALSE));
+
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-6.x-to-7.x"
  * The next series of updates should start at 8000.
  */
