]> git.joonet.de Git - adminer.git/commitdiff
MongoDB: Prepare for alter index
authorJakub Vrana <jakub@vrana.cz>
Sun, 12 Jan 2014 03:22:44 +0000 (19:22 -0800)
committerJakub Vrana <jakub@vrana.cz>
Sun, 12 Jan 2014 03:22:44 +0000 (19:22 -0800)
adminer/drivers/mssql.inc.php
adminer/drivers/mysql.inc.php
adminer/drivers/pgsql.inc.php
adminer/drivers/sqlite.inc.php
adminer/indexes.inc.php

index c5be50896230ace0511f9e5684ef069b2ef77695..ab19737c7a44b493a3ca43006773fa6e86cb4182 100644 (file)
@@ -480,7 +480,7 @@ WHERE OBJECT_NAME(i.object_id) = " . q($table)
                        } elseif (!queries(($val[0] != "PRIMARY"
                                ? "CREATE $val[0] " . ($val[0] != "INDEX" ? "INDEX " : "") . idf_escape($val[1] != "" ? $val[1] : uniqid($table . "_")) . " ON " . table($table)
                                : "ALTER TABLE " . table($table) . " ADD PRIMARY KEY"
-                       ) . " $val[2]")) {
+                       ) . " (" . implode(", ", $val[2]) . ")")) {
                                return false;
                        }
                }
index 3b7717035ffd19a3845c4e684c382e63f47bdd6c..1357fd0d49590671808a49329a7ef3ba21f84eeb 100644 (file)
@@ -672,14 +672,14 @@ if (!defined("DRIVER")) {
 
        /** Run commands to alter indexes
        * @param string escaped table name
-       * @param array of array("index type", "name", "(columns definition)") or array("index type", "name", "DROP")
+       * @param array of array("index type", "name", array("column definition", ...)) or array("index type", "name", "DROP")
        * @return bool
        */
        function alter_indexes($table, $alter) {
                foreach ($alter as $key => $val) {
                        $alter[$key] = ($val[2] == "DROP"
                                ? "\nDROP INDEX " . idf_escape($val[1])
-                               : "\nADD $val[0] " . ($val[0] == "PRIMARY" ? "KEY " : "") . ($val[1] != "" ? idf_escape($val[1]) . " " : "") . $val[2]
+                               : "\nADD $val[0] " . ($val[0] == "PRIMARY" ? "KEY " : "") . ($val[1] != "" ? idf_escape($val[1]) . " " : "") . "(" . implode(", ", $val[2]) . ")"
                        );
                }
                return queries("ALTER TABLE " . table($table) . implode(",", $alter));
index 732d6524a5f9e352a369d66331b9a21a91b79013..637d0ad96df56991c88cfa96f50369d3e1594163 100644 (file)
@@ -439,12 +439,12 @@ ORDER BY conkey, conname") as $row) {
                                //! descending UNIQUE indexes results in syntax error
                                $create[] = ($val[2] == "DROP"
                                        ? "\nDROP CONSTRAINT " . idf_escape($val[1])
-                                       : "\nADD" . ($val[1] != "" ? " CONSTRAINT " . idf_escape($val[1]) : "") . " $val[0] " . ($val[0] == "PRIMARY" ? "KEY " : "") . $val[2]
+                                       : "\nADD" . ($val[1] != "" ? " CONSTRAINT " . idf_escape($val[1]) : "") . " $val[0] " . ($val[0] == "PRIMARY" ? "KEY " : "") . "(" . implode(", ", $val[2]) . ")"
                                );
                        } elseif ($val[2] == "DROP") {
                                $drop[] = idf_escape($val[1]);
                        } else {
-                               $queries[] = "CREATE INDEX " . idf_escape($val[1] != "" ? $val[1] : uniqid($table . "_")) . " ON " . table($table) . " $val[2]";
+                               $queries[] = "CREATE INDEX " . idf_escape($val[1] != "" ? $val[1] : uniqid($table . "_")) . " ON " . table($table) . " (" . implode(", ", $val[2]) . ")";
                        }
                }
                if ($create) {
index 11639787655d116173dd234c183d223230c4fdba..a10cd1919d3918bd06213348f29af2119d27eab0 100644 (file)
@@ -600,7 +600,7 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
                foreach (array_reverse($alter) as $val) {
                        if (!queries($val[2] == "DROP"
                                ? "DROP INDEX " . idf_escape($val[1])
-                               : index_sql($table, $val[0], $val[1], $val[2])
+                               : index_sql($table, $val[0], $val[1], "(" . implode(", ", $val[2]) . ")")
                        )) {
                                return false;
                        }
index 53715dea816a8e8dcfdc4f97b48c9558c5292f33..793c61c06349fbaecade1a7e506315be7c509520 100644 (file)
@@ -51,7 +51,7 @@ if ($_POST && !$error && !$_POST["add"] && !$_POST["drop_col"]) {
                                                continue;
                                        }
                                }
-                               $alter[] = array($index["type"], $name, "(" . implode(", ", $set) . ")");
+                               $alter[] = array($index["type"], $name, $set);
                        }
                }
        }