Index: class.ux_t3lib_sqlparser.php =================================================================== --- class.ux_t3lib_sqlparser.php (revision 32840) +++ class.ux_t3lib_sqlparser.php (working copy) @@ -298,6 +298,7 @@ break; case 'ADDKEY': case 'ADDPRIMARYKEY': + case 'ADDUNIQUE': $query .= ' (' . implode(',', $components['fields']) . ')'; break; } Index: tests/sqlparser_general_testcase.php =================================================================== --- tests/sqlparser_general_testcase.php (revision 32840) +++ tests/sqlparser_general_testcase.php (working copy) @@ -486,6 +486,21 @@ $this->assertTrue(is_array($alterTables), $alterTables); } + /** + * @test + * @see http://bugs.typo3.org/view.php?id=2186 + */ + public function canParseUniqueIndexCreation() { + $sql = 'ALTER TABLE static_territories ADD UNIQUE uid (uid)'; + $expected = $sql; + $alterTables = $this->fixture->_callRef('parseALTERTABLE', $sql); + $queries = $this->fixture->compileSQL($alterTables); + + $this->assertTrue(is_array($queries), $queries); + $this->assertTrue(count($queries) == 1, $queries); + $this->assertEquals($expected, $queries[0]); + } + /////////////////////////////////////// // Tests concerning subqueries ///////////////////////////////////////