[TYPO3-core] RFC #11040: ENGINE modifier in ext_tables.sql cannot be parsed

Xavier Perseguers typo3 at perseguers.ch
Thu May 7 08:37:12 CEST 2009


Hi,

This is a SVN patch request.

Type: Bugfix, no-brainer

Branches: trunk (other branches might apply too)

BT reference: http://bugs.typo3.org/view.php?id=11040

Problem:
DBAL cannot create cache_* tables as they use the ENGINE keyword in 
table creation to specify InnoDB as storage.

Problem is in fact located in core's SQL parser that is able to use 
keyword "TYPE" but not keyword "ENGINE". Thus the core SQL parser relies 
on deprecated (since MySQL 4.0) modifier "TYPE":

Quoting from [http://dev.mysql.com/doc/refman/5.1/en/create-table.html]:

The older TYPE option was synonymous with ENGINE. TYPE has been 
deprecated since MySQL 4.0 but is still supported for backward 
compatibility in MySQL 5.1 (excepting MySQL 5.1.7). Since MySQL 5.1.8, 
it produces a warning. It is removed as of MySQL 5.2. You should not use 
TYPE in any new applications, and you should immediately begin 
conversion of existing applications to use ENGINE instead.

Solution:
Allow both keywords/modifiers "TYPE" and "ENGINE" to be used (for 
backward compatibility).

Remark:
This patch was extracted from patch associated to RFC #8231 according to 
Karsten's suggestion.

-- 
Xavier Perseguers
DBAL-Member

http://xavier.perseguers.ch/en/tutorials/typo3.html
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: 11040.diff
Url: http://lists.netfielders.de/pipermail/typo3-team-core/attachments/20090507/1697e81c/attachment.txt 


More information about the TYPO3-team-core mailing list