]> git.joonet.de Git - adminer.git/commitdiff
CockroachDB: Pass param length to routine drop (cockroachdb/cockroach#142886)
authorJakub Vrana <jakub@vrana.cz>
Wed, 19 Mar 2025 04:54:08 +0000 (05:54 +0100)
committerJakub Vrana <jakub@vrana.cz>
Wed, 19 Mar 2025 05:49:30 +0000 (06:49 +0100)
CHANGELOG.md
adminer/drivers/pgsql.inc.php
adminer/procedure.inc.php

index b386eca3f96136176c54b2eea0835e4a2bd5c7dd..1e297c858046062c7f5e57d8c6919d53fed0abd8 100644 (file)
@@ -2,6 +2,7 @@
 - PostgreSQL: Display auto_increment of inserted rows
 - PostgreSQL: Display description of system variables
 - PostgreSQL: Avoid warning about crdb_version (bug #924, regression from 5.0.5)
+- CockroachDB: Fix dropping procedure with varchar (cockroachdb/cockroach#142886)
 - CSS: Sticky table headers (bug #918)
 - CSS: Allow more custom styles with dark mode (bug #925)
 - IMAP: New plugin driver created for fun
index eda220b833a7d0bc5533a38d63b906b00a54c7cd..a49b53a0ad4c7943f8a8e7d1ee86b167398141aa 100644 (file)
@@ -775,7 +775,8 @@ ORDER BY SPECIFIC_NAME');
        function routine_id($name, $row) {
                $return = array();
                foreach ($row["fields"] as $field) {
-                       $return[] = $field["type"];
+                       $length = $field["length"];
+                       $return[] = $field["type"] . ($length ? "($length)" : "");
                }
                return idf_escape($name) . "(" . implode(", ", $return) . ")";
        }
index 79f348570c8c9373180f516b085785100eec3d43..bc7c9463c69d2071fdfd960bfd391d2c6827f21d 100644 (file)
@@ -9,6 +9,11 @@ $row["fields"] = (array) $row["fields"];
 if ($_POST && !process_fields($row["fields"]) && !$error) {
        $orig = routine($_GET["procedure"], $routine);
        $temp_name = "$row[name]_adminer_" . uniqid();
+       foreach ((array) $row["fields"] as $key => $field) {
+               if ($field["field"] == "") {
+                       unset($row["fields"][$key]);
+               }
+       }
        drop_create(
                "DROP $routine " . routine_id($PROCEDURE, $orig),
                create_routine($routine, $row),