[TYPO3-core] RFC #11023: Table sys_refindex cannot be created with DBAL
Xavier Perseguers
typo3 at perseguers.ch
Sun May 3 15:12:38 CEST 2009
Hi Martin,
Martin Kutschker wrote:
> Xavier Perseguers schrieb:
>> Hi,
>>
>> This is a SVN patch request.
>>
>> Type: Bugfix
>>
>> Branches: trunk
>>
>> BT reference: http://bugs.typo3.org/view.php?id=11023
>>
>> 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.
The problem is not in DBAL actually but in the core SQL parser which
does not support it. The core parser actually makes an early return when
the DB is "native", meaning MySQL. This is why it works for MySQL => the
SQL parser does nearly nothing at all.
Updating the parser to support this definition will have other
implication I guess as the returned array does not have "room" for extra
parameters.
This is possible thought.
--
Xavier Perseguers
http://xavier.perseguers.ch/en
One contribution a day keeps the fork away
More information about the TYPO3-team-core
mailing list