Closed (outdated)
Project:
Internationalization
Version:
6.x-1.x-dev
Component:
Compatibility
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
19 May 2010 at 15:57 UTC
Updated:
26 Oct 2016 at 16:45 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #1
andypostFixed all occurrences of location field. Also this issue blocks a really annoying bug in core.
Also there's a issue that needs more opinions - #532512: Plural string storage is broken, editing UI is missing
Comment #2
hass commentedWe are changing to text in #221020: locales_source.location is just varchar(255) and it is not truncated and do not limit to 255 chars.
Comment #3
andypostIt should bring some performance improvements as I found in old issues at #532512-5: Plural string storage is broken, editing UI is missing
Comment #4
andypostTaggin because this index breaks upgrade path for d7
Comment #5
andypost@hass mysql cant make index on text|blob field so we need location(some value of chars)
Comment #6
jose reyero commentedThis looks good, though I'm not sure about how will it work with the actual upgrade path (will the index be just kept when updating from varchar to text in D7?) and also with other DBs... ?
About this patch, looks it will work for new installs of the module, but I'm missing the actual update function (?)
Comment #7
andypostSure, I forget about hook_update_N()
But the main question - what for this index?
I think because {location} is TEXT so we could proceed with array('location', 30) as it already done for [source] field.
Any ideas?
Comment #8
int commented#864020: Locale upgrade to D7 fails due to index added by i18nstrings module, we need this resolved.
Or we drop the hijacks index.
Or fix the index to D6 can be upgrade to D7..
I think it's better to remove the index, because we should not hijacks the core-schema.. Or we will have again problems with future versions..
Comment #9
int commentedI see now that we can remove the module, all the index will be droped, nice. I will drop using this module for now in D7
Comment #10
andypost@Jose Reyero, Could you explain a purpose of this index?
Comment #11
damien tournoud commentedThe correct fix here is for i18n to *STOP HIJACKING A CORE TABLE*. You can add a column to that table if you want, but repurposing the location column is just a dirty hack.
Comment #12
Stevel commentedI agree that making changes to the database tables of another project is prone to errors popping up.
Also, foo_update_6xxx-functions should never be changed, as chances are they have already run. There should be a foo_update_7xxx function here.
Comment #13
andypostAs I see most of queries use i18nstrings_context_query() which always adds
textgroupandlocationfields to queries and probablesourceI cant understand a reason to store all strings in 1 table. rebuild of all this indexes a very expensive operation so +1 to drop this index and measure performance
Comment #14
andypostSuppose much better to change locale_update_7000() and schema index source_context to source_context_textgroup in core. But anyway drop this in i18n
Comment #15
steinmb commentedHi
Any progress on this issue? I tested a D6 -> D7 upgrade on one small existing site and tripped over this bug. Workaround for me was to manually do:
ALTER TABLE `locales_source` DROP INDEX textgroup_location
though this worked it prob. got some usability issues :)
Comment #16
andypostI'm waiting review of module maintainer because this index could have big impact on performance
Comment #17
pfrenssensubscribe
Comment #18
jose reyero commentedYes, this index is critical for performance.
For D7, maybe we can use the 'context' field instead of this one, though that will need specific import/export code for po files...
I think this patch here (#18) looks good and will fix the issue, #864020: Locale upgrade to D7 fails due to index added by i18nstrings module
Comment #19
crea commentedSubscribing
Comment #20
joseph.olstadfixed in 7.x