diff options
Diffstat (limited to 'modules/system/system.install')
-rw-r--r-- | modules/system/system.install | 92 |
1 files changed, 91 insertions, 1 deletions
diff --git a/modules/system/system.install b/modules/system/system.install index 66901ef4b..97f8e6724 100644 --- a/modules/system/system.install +++ b/modules/system/system.install @@ -1629,9 +1629,99 @@ function system_schema() { // Updates for core. function system_update_last_removed() { - return 6049; + return 6047; } +/** + * @defgroup updates-6.x-extra Extra system updates for 6.x + * @{ + */ + +/** +* Increase the size of the 'load_functions' and 'to_arg_functions' fields in table 'menu_router'. +*/ +function system_update_6048() { + $ret = array(); + db_change_field($ret, 'menu_router', 'load_functions', 'load_functions', array('type' => 'text', 'not null' => TRUE,)); + db_change_field($ret, 'menu_router', 'to_arg_functions', 'to_arg_functions', array('type' => 'text', 'not null' => TRUE,)); + + return $ret; +} + +/** + * Replace src index on the {url_alias} table with src, language. + */ +function system_update_6049() { + $ret = array(); + db_drop_index($ret, 'url_alias', 'src'); + db_add_index($ret, 'url_alias', 'src_language', array('src', 'language')); + return $ret; +} + +/** + * Clear any menu router blobs stored in the cache table. + */ +function system_update_6050() { + $ret = array(); + cache_clear_all('router:', 'cache_menu', TRUE); + return $ret; +} + +/** + * Create a signature_format column. + */ +function system_update_6051() { + $ret = array(); + + if (!db_column_exists('users', 'signature_format')) { + + // Set future input formats to FILTER_FORMAT_DEFAULT to ensure a safe default + // when incompatible modules insert into the users table. An actual format + // will be assigned when users save their signature. + + $schema = array( + 'type' => 'int', + 'size' => 'small', + 'not null' => TRUE, + 'default' => FILTER_FORMAT_DEFAULT, + 'description' => 'The {filter_formats}.format of the signature.', + ); + + db_add_field($ret, 'users', 'signature_format', $schema); + + // Set the format of existing signatures to the current default input format. + if ($current_default_filter = variable_get('filter_default_format', 0)) { + $ret[] = update_sql("UPDATE {users} SET signature_format = ". $current_default_filter); + } + + drupal_set_message("User signatures no longer inherit comment input formats. Each user's signature now has its own associated format that can be selected on the user's account page. Existing signatures have been set to your site's default input format."); + } + + return $ret; +} + +/** + * Add a missing index on the {menu_router} table. + */ +function system_update_6052() { + $ret = array(); + db_add_index($ret, 'menu_router', 'tab_root_weight_title', array(array('tab_root', 64), 'weight', 'title')); + return $ret; +} + +/** + * Add a {system} index on type and name. + */ +function system_update_6053() { + $ret = array(); + db_add_index($ret, 'system', 'type_name', array(array('type', 12), 'name')); + return $ret; +} + +/** + * @} End of "defgroup updates-6.x-extra" + * The next series of updates should start at 7000. + */ /** * @defgroup updates-6.x-to-7.x System updates from 6.x to 7.x |