[TYPO3-dev] Compare in 4.3 fails

Steffen Ritter info at rs-websystems.de
Sat Aug 22 12:02:53 CEST 2009


David Bruchmann schrieb:
> ----- Ursprüngliche Nachricht -----
> Von:        Steffen Ritter <info at rs-websystems.de>
> Gesendet:   Samstag, 22. August 2009 09:46:31
> An:         typo3-dev at lists.netfielders.de
> CC:
> Betreff:    [TYPO3-dev]  Compare in 4.3 fails
>> Hey folks,
>> install tool wants to make the following two changes in database which 
>> fail all the time because of to long indexes.
>> " Specified key was too long; max key length is 1000 bytes"
>>
>> What I'm wrong about?
>>
>>
>>
>> ALTER TABLE sys_refindex ADD KEY lookup_string (ref_table,ref_string);
>>
>> CREATE TABLE sys_registry (
>> uid int(11) unsigned NOT NULL auto_increment,
>> entry_namespace varchar(128) NOT NULL default '',
>> entry_key varchar(255) NOT NULL default '',
>> entry_value blob,
>> PRIMARY KEY (uid),
>> UNIQUE entry_identifier (entry_namespace,entry_key)
>> );
>>
> 
> Hy Steffen,
> 
> I never found something about that problem but I suppose that it occurs 
> when the table is setup as utf-8 or another multibyte charset.
> UTF-8 also in mySQL is defined as variable byte-length-charset so 
> assuming that each character uses 2 bytes the required space for your 
> key would be 2x383 Byte plus 2 (because varchar adds 1 byte) = 768 byte.
> UNIQUE allows maximum 1000 byte - so it would be enough.
> But varchars can need more space for example 3 or 4 byte. In this case 
> the key would be cut.
> I tested with values bigger than 255 bytes (255 needs already 256 
> bytes), i.e. entry_key + uid = minimum 267 bytes - that was accepted. So 
> the security-multiplier for the chars must be less than 4 but bigger 
> than 2.
> 
> Besst regards,
> David
Sure, database ist utf8,
but to me I think TYPO3 must ship "working" on utf8 databases ;) 
Installool settings are correct, there is NO MultiplyDBFIeldSize so i 
TYPO3 hast to change definitions...




More information about the TYPO3-dev mailing list