Project

General

Profile

Actions

Bug #20397

closed

ENGINE modifier in ext_tables.sql cannot be parsed

Added by Xavier Perseguers over 15 years ago. Updated about 6 years ago.

Status:
Closed
Priority:
Should have
Category:
Database API (Doctrine DBAL)
Target version:
-
Start date:
2009-05-07
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.3
PHP Version:
5.2
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

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.

The enclosed patch allows both keywords to be used (for backward compatibility).

This patch was extracted from bug_8231_v2.diff from #18689 according to Karsten's suggestion.
(issue imported from #M11040)


Files

11040.diff (716 Bytes) 11040.diff Administrator Admin, 2009-05-07 08:23
Actions

Also available in: Atom PDF