Bug #20397
closedENGINE modifier in ext_tables.sql cannot be parsed
0%
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