[drupal-devel] [bug] Field location in table locales_source is too short

baudolino drupal-devel at drupal.org
Tue May 3 06:24:24 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:   baudolino
-Status:       active
+Status:       patch
 Attachment:   http://drupal.org/files/issues/update_135.patch.diff (1.38 KB)

This should patch update.inc




baudolino



Previous comments:
------------------------------------------------------------------------

April 24, 2005 - 21: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 - 13: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 - 16: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 - 12:06 : Dries

Committed to HEAD and DRUPAL-4-6.  Thanks patryk.




------------------------------------------------------------------------

May 2, 2005 - 11: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 - 11:46 : jhriggs

I didn't realize the patch had been applied to 4.6 also.  Marking as
critical.




------------------------------------------------------------------------

May 2, 2005 - 16:02 : patryk

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.




------------------------------------------------------------------------

May 2, 2005 - 19:31 : drumm

+1 for the database.mysql part which I sucessfully used. That file in
the 4.6 branch is rather broken.




------------------------------------------------------------------------

May 3, 2005 - 01:20 : Dries

Committed to HEAD.  The update.inc-part did not apply against HEAD
though.  Marking this active.







More information about the drupal-devel mailing list