Fixed a PostgreSQL issue
authorMarcel Werk <burntime@woltlab.com>
Tue, 3 Jan 2012 17:59:00 +0000 (18:59 +0100)
committerMarcel Werk <burntime@woltlab.com>
Tue, 3 Jan 2012 17:59:00 +0000 (18:59 +0100)
wcfsetup/install/files/lib/system/database/editor/PostgreSQLDatabaseEditor.class.php

index 576bf85666b6919014d855889f58344aaff5609d..eb8fcaf0eb97059155187963175890cdb63e375f 100644 (file)
@@ -220,10 +220,10 @@ class PostgreSQLDatabaseEditor extends DatabaseEditor {
         * @see wcf\system\database\editor\DatabaseEditor::addIndex()
         */
        public function addIndex($tableName, $indexName, $indexData) {
+               $columns = ArrayUtil::trim(explode(',', $indexData['columns']));
                if (empty($indexName)) {
                        // create index name
                        // TODO: solve naming conflicts
-                       $columns = ArrayUtil::trim(explode(',', $indexData['columns']));
                        $indexName = $tableName.'_'.(!empty($columns[0]) ? $columns[0] : 'generic').'_key';
                }
                else {
@@ -232,7 +232,7 @@ class PostgreSQLDatabaseEditor extends DatabaseEditor {
                
                $sql = '';
                if ($indexData['type'] == 'FULLTEXT') {
-                       $sql = "CREATE INDEX ".$indexName." ON ".$tableName." USING gin(to_tsvector('english', \"".implode('" || \' \' || "', explode(',', $indexData['columns']))."\"))";
+                       $sql = "CREATE INDEX ".$indexName." ON ".$tableName." USING gin(to_tsvector('english', \"".implode('" || \' \' || "', $columns)."\"))";
                }
                else {
                        $sql = "CREATE ".($indexData['type'] == 'UNIQUE' ? "UNIQUE " : "")."INDEX ".$indexName." ON ".$tableName." (".$indexData['columns'].")";