[drupal-devel] [bug] Field location in table locales_source is too
short
patryk
drupal-devel at drupal.org
Mon May 2 20:02:45 UTC 2005
Issue status update for http://drupal.org/node/21252
Project: Drupal
Version: 4.6.0
Component: database system
Category: bug reports
Priority: critical
Assigned to: patryk
Reported by: patryk
Updated by: patryk
Status: patch
Attachment: http://drupal.org/files/issues/drupal-cvs-locales-fix.diff (1.83 KB)
I made a small investigation. Postgres eats 1 GB strings for breakfast
unlike MySQL which sucks with it's 255 character limit until 5.0.3
excluding ;) (even 5.0.3 has limit of 65536 chars)
Some references:
http://www.postgresql.org/docs/7.4/interactive/datatype-character.html
- as Drupal must use v7.4 at least
http://dev.mysql.com/doc/mysql/en/char.html
In the result let's do that field 255 chars long in both databases to
be coherent.
PS: I'm thinking about something to ease pgsql 7.4's column type
change. 8.0 has it already implemented. Maybe some hyper-clever
function? ;)
The new patch against today's CVS attached. Includes updates in
updates.inc.
patryk
Previous comments:
------------------------------------------------------------------------
April 25, 2005 - 03:45 : patryk
Attachment: http://drupal.org/files/issues/drupal-cvs-pgsql-locales_field_type-fix.diff (317 bytes)
Field "location" in table "locales_source" is too short. The patch makes
it limitless.
------------------------------------------------------------------------
April 25, 2005 - 19:55 : Dries
There is a similar location-row in the watchdog table.
The MySQL database scheme also uses varchar(128) so it is not specific
to PostgreSQL.
I wouldn't recommend making it limitless. Maybe 255 is more sensible?
------------------------------------------------------------------------
April 28, 2005 - 22:44 : patryk
Attachment: http://drupal.org/files/issues/drupal-cvs-pgsql-locales_field_type_v2-fix.diff (686 bytes)
Hmm... maybe you're right. I came accross a polish language pack which
had 177 characters in that field, it could easily have more, but I
think 256 will be good for now.
The field in watchdog is not revelant to this bug as it handles the
filename of event occured and can contain only one location, unlike
many as here.
The new patch attached and bug details changed.
------------------------------------------------------------------------
May 1, 2005 - 18:06 : Dries
Committed to HEAD and DRUPAL-4-6. Thanks patryk.
------------------------------------------------------------------------
May 2, 2005 - 17:43 : jhriggs
The field was changed to 256 by this patch. Not sure about pgsql, but
the max for a CHAR/VARCHAR in mysql is 255. Patch attached.
Note: Shouldn't there also be a update in updates.inc for this since
it is a schema change?
------------------------------------------------------------------------
May 2, 2005 - 17:46 : jhriggs
I didn't realize the patch had been applied to 4.6 also. Marking as
critical.
More information about the drupal-devel
mailing list