Fixed bug #16501: DBAL does not support multi-column indexes in create table queries
authorXavier Perseguers <typo3@perseguers.ch>
Tue, 30 Nov 2010 15:14:29 +0000 (15:14 +0000)
committerXavier Perseguers <typo3@perseguers.ch>
Tue, 30 Nov 2010 15:14:29 +0000 (15:14 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9689 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
t3lib/class.t3lib_sqlparser.php

index a29f271..be98d2d 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,6 @@
 2010-11-30  Xavier Perseguers  <typo3@perseguers.ch>
 
+       * Fixed bug #16501: DBAL does not support multi-column indexes in create table queries
        * Fixed bug #16491: Provide a pass-through flag for sql_exec() which goes directly to the native MySQL engine
 
 2010-11-30  Tolleiv Nietsch  <typo3@tolleiv.de>
index 65dc7a2..4ec1ef1 100644 (file)
@@ -1809,10 +1809,12 @@ class t3lib_sqlparser {
                        $fieldsKeys[] = $fN . ' ' . $this->compileFieldCfg($fCfg['definition']);
                }
                foreach ($components['KEYS'] as $kN => $kCfg) {
-                       if ($kN == 'PRIMARYKEY') {
+                       if ($kN === 'PRIMARYKEY') {
                                $fieldsKeys[] = 'PRIMARY KEY (' . implode(',', $kCfg) . ')';
-                       } elseif ($kN == 'UNIQUE') {
-                               $fieldsKeys[] = 'UNIQUE ' . $kN . ' (' . implode(',', $kCfg) . ')';
+                       } elseif ($kN === 'UNIQUE') {
+                               $key = key($kCfg);
+                               $fields = current($kCfg);
+                               $fieldsKeys[] = 'UNIQUE KEY ' . $key . ' (' . implode(',', $fields) . ')';
                        } else {
                                $fieldsKeys[] = 'KEY ' . $kN . ' (' . implode(',', $kCfg) . ')';
                        }