[BUGFIX] MySQL: Use ENGINE (not TYPE) for storage-engine 98/22798/2
authorStefan Neufeind <typo3.neufeind@speedpartner.de>
Sat, 3 Aug 2013 22:44:07 +0000 (00:44 +0200)
committerStefan Neufeind <typo3.neufeind@speedpartner.de>
Sat, 3 Aug 2013 22:47:12 +0000 (00:47 +0200)
Using TYPE is deprecated since a MySQL 4.x and was removed in MySQL
5.5. Core already uses ENGINE but SqlParser turned that into TYPE,
leading to errors.

From https://dev.mysql.com/doc/refman/5.0/en/storage-engines.html:
"The older term TYPE is supported as a synonym for ENGINE for
backward compatibility, but ENGINE is the preferred term and TYPE
is deprecated."

Change-Id: I6607d3e726c43cb74ca00f33ec2332de4f6a76d8
Resolves: #50466
Releases: 6.2, 6.1, 6.0, 4.7, 4.5
Reviewed-on: https://review.typo3.org/22798
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
t3lib/class.t3lib_sqlparser.php

index 3043eea..dd0ca31 100644 (file)
@@ -1824,7 +1824,7 @@ class t3lib_sqlparser {
                $query = 'CREATE TABLE ' . $components['TABLE'] . ' (
                        ' . implode(',
                        ', $fieldsKeys) . '
-                       )' . ($components['tableType'] ? ' TYPE=' . $components['tableType'] : '');
+                       )' . ($components['tableType'] ? ' ENGINE=' . $components['tableType'] : '');
 
                return $query;
        }
@@ -2257,4 +2257,4 @@ if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLA
        include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['t3lib/class.t3lib_sqlparser.php']);
 }
 
-?>
\ No newline at end of file
+?>