--- computed_field.module	2006-11-27 17:34:32.000000000 -0500
+++ computed_field_patched.module	2007-05-09 06:59:34.000000000 -0400
@@ -86,7 +86,7 @@ function computed_field_field_settings($
         if (empty($field['data_type'])) {
           form_set_error('data_type', t('To store this field in the database, please specify a data type.'));
         }
-        if (empty($field['data_length'])) {
+        if (($field['data_type'] != 'text') && empty($field['data_length'])) {
           form_set_error('data_length', t('To store this field in the database, please specify the data length.'));
         }
       }
@@ -97,7 +97,13 @@ function computed_field_field_settings($
       if ($field['store']) {
         $columns = array('value' => array());
         $columns['value']['type'] = isset($field['data_type']) ? $field['data_type'] : 'varchar';
+        if ($field['data_length'] == 0 || $field['max_length'] > 255) {
+        $columns['value']['type'] = 'longtext';
+      }
+      else {
         $columns['value']['length'] = isset($field['data_length']) ? $field['data_length'] : 32;
+      }
+
         $columns['value']['not null'] = isset($field['data_not_null']) ? $field['data_not_null'] : true;
         $columns['value']['sortable'] = isset($field['data_sortable']) ? $field['data_sortable'] : false;
         if ($field['data_default'] != '')  {
