--- 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'] != '') {