[TYPO3-core] RFC #11023: Table sys_refindex cannot be created with DBAL

Xavier Perseguers typo3 at perseguers.ch
Sun May 3 15:56:24 CEST 2009


Hi Masi,

>>> Problem:
>>> The SQL parser (from core actually, not DBAL) is not able to parse one
>>> of the key creation for table sys_refindex:
>>>
>>> #
>>> # Table structure for table 'sys_refindex'
>>> #
>>> CREATE TABLE sys_refindex (
>>>    ...
>>>    KEY lookup_string (ref_table(133),ref_string)
>>> );
>>>
>>> The syntax to specify only a given number of characters to be taken for
>>> the index is MySQL-specific and furthermore is not supported by t3lib_db
>>> parser making it impossible to create this table for, e.g., Oracle from
>>> the Install Tool.
>>
>> The key is defined that way for some reason. And I recall troubles with
>> this kind of keys. But I remember that the parser (at least one of the
>> few SQL parsers of TYPO3) supports it. The correct solution is IMHO for
>> DBAL to accept that definition and to ignore it for other DBs.

I searched SVN history and found the bug that incorporated this change:
http://bugs.typo3.org/view.php?id=8399 in revisions 4364 and 4395 
(follow-up)

But as I read the bug report and read the subversion revisions. Actually 
the add of a length into the key was a hack (!) to force TYPO3 to 
recreate the key which was originally created with the 40 characters of 
the referenced field.

As I understand this, there is no point anymore to keep this hack. Any 
new install will use the full 255 characters while others will keep 
their 130 characters and that's just OK.

For those install who have still the 40 characters, find some other way 
to update the key.

-- 
Xavier Perseguers
http://xavier.perseguers.ch/en

One contribution a day keeps the fork away


More information about the TYPO3-team-core mailing list