Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.794
diff -u -p -r1.794 node.module
--- modules/node/node.module	27 Mar 2007 05:13:54 -0000	1.794
+++ modules/node/node.module	28 Mar 2007 23:31:33 -0000
@@ -2940,6 +2940,7 @@ function node_content_form($node) {
       '#title' => check_plain($type->title_label),
       '#required' => TRUE,
       '#default_value' => $node->title,
+      '#maxlength' => 255,
       '#weight' => -5,
     );
   }
Index: modules/system/system.install
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.install,v
retrieving revision 1.87
diff -u -p -r1.87 system.install
--- modules/system/system.install	26 Mar 2007 06:48:36 -0000	1.87
+++ modules/system/system.install	28 Mar 2007 23:31:34 -0000
@@ -365,7 +365,7 @@ function system_install() {
         nid int unsigned NOT NULL auto_increment,
         vid int unsigned NOT NULL default '0',
         type varchar(32) NOT NULL default '',
-        title varchar(128) NOT NULL default '',
+        title varchar(255) NOT NULL default '',
         uid int NOT NULL default '0',
         status int NOT NULL default '1',
         created int NOT NULL default '0',
@@ -402,7 +402,7 @@ function system_install() {
         nid int unsigned NOT NULL,
         vid int unsigned NOT NULL,
         uid int NOT NULL default '0',
-        title varchar(128) NOT NULL default '',
+        title varchar(255) NOT NULL default '',
         body longtext NOT NULL,
         teaser longtext NOT NULL,
         log longtext NOT NULL,
@@ -853,7 +853,7 @@ function system_install() {
         nid serial CHECK (nid >= 0),
         vid int_unsigned NOT NULL default '0',
         type varchar(32) NOT NULL default '',
-        title varchar(128) NOT NULL default '',
+        title varchar(255) NOT NULL default '',
         uid int NOT NULL default '0',
         status int NOT NULL default '1',
         created int NOT NULL default '0',
@@ -890,7 +890,7 @@ function system_install() {
         nid int_unsigned NOT NULL,
         vid serial CHECK (vid >= 0),
         uid int NOT NULL default '0',
-        title varchar(128) NOT NULL default '',
+        title varchar(255) NOT NULL default '',
         body text NOT NULL default '',
         teaser text NOT NULL default '',
         log text NOT NULL default '',
@@ -3709,6 +3709,25 @@ function system_update_2005() {
 }
 
 /**
+ * Increase the maximum length of node titles from 128 to 255.
+ */
+function system_update_2006() {
+  $ret = array();
+  switch ($GLOBALS['db_type']) {
+    case 'pgsql':
+      db_change_column($ret, 'node', 'title', 'title', 'varchar(255)', array('not null' => TRUE, 'default' => "''"));
+      db_change_column($ret, 'node_revisions', 'title', 'title', 'varchar(255)', array('not null' => TRUE, 'default' => "''"));
+      break;
+    case 'mysql':
+    case 'mysqli':
+      $ret[] = update_sql("ALTER TABLE {node} CHANGE title title varchar(255) NOT NULL default ''");
+      $ret[] = update_sql("ALTER TABLE {node_revisions} CHANGE title title varchar(255) NOT NULL default ''");
+      break;
+  }
+  return $ret;
+}
+
+/**
  * @} End of "defgroup updates-5.0-to-x.x"
  * The next series of updates should start at 3000.
  */
