]> git.joonet.de Git - adminer.git/commitdiff
MySQL: Descending indexes in MySQL 8 (bug #643)
authorJakub Vrana <jakub@vrana.cz>
Sat, 27 Oct 2018 18:05:04 +0000 (20:05 +0200)
committerJakub Vrana <jakub@vrana.cz>
Sat, 27 Oct 2018 18:05:04 +0000 (20:05 +0200)
adminer/drivers/mongo.inc.php
adminer/drivers/mssql.inc.php
adminer/drivers/mysql.inc.php
adminer/drivers/oracle.inc.php
adminer/drivers/pgsql.inc.php
adminer/drivers/sqlite.inc.php
adminer/indexes.inc.php
changes.txt

index 6fc01308c422d839537e17d4901da8261cc93d8c..30e8a67dcac256eb54260eed4512232f6c37c4af 100644 (file)
@@ -662,7 +662,7 @@ if (isset($_GET["mongo"])) {
        }
 
        function support($feature) {
-               return preg_match("~database|indexes~", $feature);
+               return preg_match("~database|indexes|descidx~", $feature);
        }
 
        function db_collation($db, $collations) {
index 481ddd20ab5a269f66bc4bc2a19a44cadd89e969..116f6b02d16c68b45c0160c3fb4cb4455091660e 100644 (file)
@@ -632,7 +632,7 @@ WHERE sys1.xtype = 'TR' AND sys2.name = " . q($table)
        }
 
        function support($feature) {
-               return preg_match('~^(columns|database|drop_col|indexes|scheme|sql|table|trigger|view|view_trigger)$~', $feature); //! routine|
+               return preg_match('~^(columns|database|drop_col|indexes|descidx|scheme|sql|table|trigger|view|view_trigger)$~', $feature); //! routine|
        }
 
        $jush = "mssql";
index e3fff80d6dd4fb9c95ee2db03ca013572bdf52c6..5002caa91b456cb70a80265548e2a4d927e903af 100644 (file)
@@ -1083,11 +1083,11 @@ if (!defined("DRIVER")) {
        }
 
        /** Check whether a feature is supported
-       * @param string "comment", "copy", "database", "drop_col", "dump", "event", "kill", "materializedview", "partitioning", "privileges", "procedure", "processlist", "routine", "scheme", "sequence", "status", "table", "trigger", "type", "variables", "view", "view_trigger"
+       * @param string "comment", "copy", "database", "descidx", "drop_col", "dump", "event", "indexes", "kill", "materializedview", "partitioning", "privileges", "procedure", "processlist", "routine", "scheme", "sequence", "status", "table", "trigger", "type", "variables", "view", "view_trigger"
        * @return bool
        */
        function support($feature) {
-               return !preg_match("~scheme|sequence|type|view_trigger|materializedview" . (min_version(5.1) ? "" : "|event|partitioning" . (min_version(5) ? "" : "|routine|trigger|view")) . "~", $feature);
+               return !preg_match("~scheme|sequence|type|view_trigger|materializedview" . (min_version(8) ? "" : "|descidx" . (min_version(5.1) ? "" : "|event|partitioning" . (min_version(5) ? "" : "|routine|trigger|view"))) . "~", $feature);
        }
 
        function kill_process($val) {
index 0ea6cc3b2a64fffd5c12207bdefb76e6b281e0d0..ff491b33e2cfb26cdfed99429879967f9d33b703 100644 (file)
@@ -398,7 +398,7 @@ ORDER BY PROCESS
        }
 
        function support($feature) {
-               return preg_match('~^(columns|database|drop_col|indexes|processlist|scheme|sql|status|table|variables|view|view_trigger)$~', $feature); //!
+               return preg_match('~^(columns|database|drop_col|indexes|descidx|processlist|scheme|sql|status|table|variables|view|view_trigger)$~', $feature); //!
        }
 
        $jush = "oracle";
index af6d0f0fcf29d1179e2123ef938d6b926b5c5f03..2c7d578d8c6b0a7afab8f84fa7d0d88b0fd0ab1a 100644 (file)
@@ -824,7 +824,7 @@ AND typelem = 0"
        }
 
        function support($feature) {
-               return preg_match('~^(database|table|columns|sql|indexes|comment|view|' . (min_version(9.3) ? 'materializedview|' : '') . 'scheme|routine|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~', $feature);
+               return preg_match('~^(database|table|columns|sql|indexes|descidx|comment|view|' . (min_version(9.3) ? 'materializedview|' : '') . 'scheme|routine|processlist|sequence|trigger|type|variables|drop_col|kill|dump)$~', $feature);
        }
 
        function kill_process($val) {
index fbf00c2c9ae450097195a59a31ec402e29540b58..ecb64c5e452b2b0aa549caf03af2424fcedd3574 100644 (file)
@@ -770,7 +770,7 @@ if (isset($_GET["sqlite"]) || isset($_GET["sqlite2"])) {
        }
 
        function support($feature) {
-               return preg_match('~^(columns|database|drop_col|dump|indexes|move_col|sql|status|table|trigger|variables|view|view_trigger)$~', $feature);
+               return preg_match('~^(columns|database|drop_col|dump|indexes|descidx|move_col|sql|status|table|trigger|variables|view|view_trigger)$~', $feature);
        }
 
        $jush = "sqlite";
index 3477404c1827c8a8172595dbddd8fccd1c80dea8..1d489562d441f2bd4404f53152a059740d050dc8 100644 (file)
@@ -126,7 +126,7 @@ foreach ($row["indexes"] as $index) {
                                "partial(" . ($i == count($index["columns"]) ? "indexesAddColumn" : "indexesChangeColumn") . ", '" . js_escape($jush == "sql" ? "" : $_GET["indexes"] . "_") . "')"
                        );
                        echo ($jush == "sql" || $jush == "mssql" ? "<input type='number' name='indexes[$j][lengths][$i]' class='size' value='" . h($index["lengths"][$key]) . "' title='" . lang('Length') . "'>" : "");
-                       echo ($jush != "sql" ? checkbox("indexes[$j][descs][$i]", 1, $index["descs"][$key], lang('descending')) : "");
+                       echo (support("descidx") ? checkbox("indexes[$j][descs][$i]", 1, $index["descs"][$key], lang('descending')) : "");
                        echo " </span>";
                        $i++;
                }
index 7244897d6056155fb387135c33466638c4cd0d86..d449ceb20e8638987aa53bba8255ee83a4f80f0c 100644 (file)
@@ -10,6 +10,7 @@ Increase username maxlength to 80 (bug #623)
 Make maxlength in all fields a soft limit
 MySQL: Support foreign keys created with ANSI quotes (bug #620)
 MySQL: Recognize ON UPDATE current_timestamp() (bug #632, bug #638)
+MySQL: Descending indexes in MySQL 8 (bug #643)
 PostgreSQL: Quote array values in export (bug #621)
 PostgreSQL: Export DESC indexes (bug #639)
 PostgreSQL: Support GENERATED BY DEFAULT AS IDENTITY in PostgreSQL 10