Index: modules/node/node.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/node/node.module,v
retrieving revision 1.788
diff -u -p -r1.788 node.module
--- modules/node/node.module	7 Mar 2007 13:09:32 -0000	1.788
+++ modules/node/node.module	12 Mar 2007 06:11:43 -0000
@@ -2918,6 +2918,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.82
diff -u -p -r1.82 system.install
--- modules/system/system.install	8 Mar 2007 19:03:48 -0000	1.82
+++ modules/system/system.install	12 Mar 2007 06:11:43 -0000
@@ -360,7 +360,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',
@@ -397,7 +397,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,
@@ -836,7 +836,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',
@@ -873,7 +873,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 '',
@@ -3616,6 +3616,26 @@ function system_update_2003() {
 }
 
 /**
+ * Increase the maximum length of node titles from 128 to 255.
+ */
+function system_update_2004() {
+  $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.
  */
